The First Batch - A lesson learnt about hardware and early assumptions.
The very first batch of Flic we created cannot be firmware updated. Unfortunately this means that they are not future proof and cannot be used with much of the new functionality we are providing. That sucks.
The First Batch is the most important batch
Shortcut Labs is the first company we (ok, most of us) ever ran and Flic is our first product. We are a young startup with young employees and management, without any real experience in creating connected hardware products. Even though Flic is “just a button”, creating it has been far more challenging than we could have imagined.
The crowdfunding campaign we ran for Flic became one of the most successful in the Nordics. Thousands of people supported us just the first days of the campaign, believing in the idea and believing in us to make it happen. They put their real money at stake, at high risk.
These are the people that believe in technology, that are proud to support startups and that tell their friends about it. They spread the word and people listen when they talk. They are the seeds in grass root financing.
Yet these people, the early adopters, are the ones that we and many other crowd funding projects manage to disappoint, over and over again. This is because they are the ones who suffer most from delays and because they are the ones that will receive the first batch.
Component cost googling
When trying to launch a hardware product for the first time, you need to do early cost estimates. It starts with component cost and an estimation of the price of each component. In the later stages of the design cycle you can quote factories about volume prices and delivery times for all the finalized components required to get a far more accurate cost estimate. But way before that you may do as we did, google component costs. Try to avoid that and more importantly: don’t trust it.
We calculated the maximum acceptable cost for manufacturing Flic, knowing that we had to stay under that figure to make a viable business out of the product. We googled component prices and got a basic understanding.
Memory, as it turned out, is one of the most expensive components in our design as the component size needed to be minimal to fit our vey compact PCB.
From googling we quickly understood that doubling the memory capacity doubles the price.
We knew the memory size was needed for the firmware and some space for optimizations. With that memory space we could update all the most important parameters such as connection time intervals and power saving algorithms, while still leaving some space available for the Flic buttons to remember which phones they are allowed to connect to. But to update the entire firmware from scratch, we would need to double the memory space.
Our lead engineer was clear: if we don’t get the larger memory we can’t completely update the product.
But why would we ever need to completely refresh the firmware? The core functionality was well tested, bug free and all optimization parameters could still be updated. The functionality is so simple, just send a single event to a known host when you get clicked! Plus, we did not anticipate, nor did we promise, that Flic would get more core functionality over time (integrations on the App side, e.g. Actions, we would still be able to update).
Doubling the memory would double that components price based on our google research, which would add around $4 USD to the total retail price.
The technology was supposed to be future proof
Flic makes use of Bluetooth Low Energy, which is an integral part of Bluetooth 4.0. When the idea of Flic was first conceived in 2012, this technology practically only existed on paper. Two years later as we were finalizing the design, Bluetooth Low Energy was built in to every new smartphone and tablet on the market.
Google Android 6.0 Marshmallow is the first OS to implement Bluetooth 4.1. Differences from Bluetooth 4.0 are minimal.
The Marshmallow release was perfectly timed with the First Batch being shipped out.
In BT 4.0 a few bits in the pairing setup were reserved for future use. These parameters were supposed to be ignored since they could end up being used in future protocol specifications. In the core Bluetooth stack implementation in the chip, a code licensed by a third party provider, these ignored bits were not parsed correctly.
They were not ignored, they were null.
While that ridiculously small difference made no impact before, it suddenly caused all pairing attempts between new Android devices and Flic to fail. We noticed this as our first batch was just sent out. We asked our backers to not upgrade to Android 6.0 until we worked out a solution.
We also asked if anyone knew someone on the Android team who could help us out. Just a couple of hours later, we were introduced to the right guy at Google (the power of our community!) who helped us out and patched Android for Flic, basically whitelisting the Bluetooth MAC range of that batch. In Android 6.0.1 and future revisions, that First Batch still works.
How could we not have noticed before, in beta versions of Android 6? Mysteriously, the MAC range used by the development boards from our chip provider were already white listed in Android. No one knows why.
A quick reaction
From our side, the patch to fix the error was simple and we immediately patched future versions of Flic from the factory. The First Batch were not malfunctioning thanks to our friends at Google. But we also came to think about something.
Did we ever really check the actual price of that double memory component that would allow us to update the firmware of new Flics?
Turns out a double memory size is not equal to double cost. Quite the opposite, the price difference is only marginal when quoted by professionals. We quickly bought tens of thousands of the bigger memory, sold our current stock of the smaller memory and wrote the code to be able to update Flic over the air. Just to be on the safe side, if anything like this would happen again.
Unchallenged early assumptions
The false assumption that double memory equals double price caused a lot of trouble, not only for us but for our most important customers. It was also, in retrospect, stupid of us to not believe that full software updates would be necessary when dealing with a brand new technology.
We had another unfortunate early assumption that today really affects that important Fist Batch. We “knew from the beginning” that we would not be able to start Siri on iOS with Flic. Apple did not allow that kind of functionality using the custom Bluetooth profile and App connection that we had to create to make Flic what it is.
Turns out they changed that a while ago and that Flic, with a firmware upgrade, could implement new Bluetooth profiles with a (very!) clever code switching algorithm that our brilliant engineers invented. As of our Flic App 2.0 release earlier this week, Siri and many new functionalities that we assumed would be impossible are now possible.
But not if your Flic is from the First Batch with the smaller memory chip.
Thank you for reading, I hope you enjoyed a bit of insight to our challenges. If you are part of our First Batch, please find a kind offer for new Flics in your email inbox.
Congratulations on having the sincerity and transparency to make this honest though painful admission.
@Joacim Learning by doing - I think that most of us started that way. What you guys have created is pretty cool. May just be "just a button", but it's a cool button and it's being developed all the time. Excited to see where you guys go.
Just to give a positiv view, i was not part of the early adopters, but i must amid that they work well and only more functions will come.. i have put some ideas in the forum and voted.
i only have one request, that is some kinder roadmap.. maybe a list of things that you work on and one that tells it like it is.. it can't be done right now.. like the picking up a call on IOS.. my guess is that apple won't have it.
You made a stupid mistake (or maybe the mistake is on me for taking it for granted the buttons would be future proof. Why would anyone make a product that can't be updated? Nobody can be that stupid right?) and wants your first backers to pay again for it. Wonderful.
I don't feel comfortable using something that can't be updated but I don't feel like paying again for the same thing...
@flic95 Make me an offer. I have 6.
Thanks for the detail, it does help a little.
I am one of those early backers. I waited and waited for my Flic to arrive, with all the date delays. Then waited some more because by the time it arrived I was living in a different country (fortunately it got shipped to a relative's house) (not your fault, I know).
I finally received my flic after moving back to my home country. Then I found my 18 month old android phone wasn't compatible (software wise I think?). Fair enough really.
Fast forward another few months. Finally upgrade my phone to a newer model. Open flic app excitedly. Discover it's android 6.0 incompatible. I have to wait until my phone provider releases the android update (or take a risk and do it myself). Then, a week later, I get an email saying the flic is going to be upgraded. Great, I think, when my phone is eventually updated it'll be good. Except not, because my flic doesn't have the ability to do it.
I'm glad lessons have been learned from all the above. Hopefully one day I'll actually get to use the thing.
(It probably goes to show my faith in that it'll eventually work is that I'm still considering your email offer.)
I was one of your first early adopter, I ordered 6 Flic but none of them worked as expected,
I wait a long time to receive them and after I wait a long time for an update of the firmware
that was able to make them work as expected.
But Now I’ve lost all hope, I received an email that firmware can’t be updated because my early Flic Button will never
be working as I expected and I have 6 unworking Flic button.
Can you tell me how the warranty policy is possible in that case ? can you replace them or
is a refund possible.
@Joacim I received the RMA Acceptance. That was quick and a good solution. Thank you!
@philipp @rshawgo I'm really sorry that you feel this way but the First Batch should still be fully functional, there is nothing wrong with them. If they don't work there is something wrong in the production and in that case we are more than happy to replace them, according to our warranty policy.
@dave224 Thanks for your comment. The First Batch is still fully functional though. If you experience that they are not working there is a one year warranty and you are eligible for a replacement. please email firstname.lastname@example.org if that is the case.
@Joacim it might not have hurt you to have actually apologised to your first backers in this post.
I appreciate the in depth look into the process. While I am sad those first flics won't get the upgraded functionality, I get it and I'm not mad about it. For me the spirit of the backer is to help bring products to market- first of their kind products. Any first 1.0 version of anything teaches you things that you couldn't know when the product was 0.9. That's why things evolve.
Utterly shameful. The people who put up their money to support the establishment of this product have been sent a flawed product, and now we are being given the 'opportunity' to purchase ones that work?
You should be offering a free exchange, not asking people to buy more.
Ich als Geldgeber werde bestraft dafür das ich so blöde war und nicht abgewartet habe. Da wird Werbung mit Funktionen gemacht die es am Anfang gar nicht gibt, und wenn es sie dann über ein Update geben soll muss man feststellen das die Hardware veraltet ist. Das kann nicht sein. Und bekommt eine Mail um sich neue Flics zu kaufen , für die Hälfte , da kann ich mein Geld doch gleich zum Fenster rauswerfen. Ich bin stinksauer. So geht man nicht mit den Finanzierern der eigenen Firma um.
Thanks for nothing. You’ve helped me decide to remove these from my junk drawer and into the trash can. [...] As it is, I will be disposing of a useless product
Or you could sell them. They're not useless to me!
Thanks for nothing. You’ve helped me decide to remove these from my junk drawer and into the trash can. This is NO WAY to treat those who helped get you off the ground. I kept these around because I had faith that there would be an update that would make these useful. Congrats on the update; too bad it only works on the "new" ones.
You should have offered a buy-back program to thank the early adopters that helped you make your dreams a reality. That would have, at least, allowed you to re-use certain parts of the flic for the newer ones that actually serve a purpose. As it is, I will be disposing of a useless product rather than spend any more money than I already have spent.
I purchased 6 of these. Like the previous responder, I refuse to pay $50 for 4, plus another $34 for 2 more. You have really upset a lot of people.
Thanks... but no thanks.
This is just incredible. We, the early adopters were the ones that made your - now obviously booming - business possible. And finding out that your first batch is not upgradeable, you offer US to buy new ones? If you were a good entrepreneur, you'd have accruals to pay for situations like these!
I expect my flics to be replaced!
@Joacim A nice writeup. But as early adopter I don't like the idea to spend again a lot of money (I have 9 flic buttons so as far as I understand I would have to order 2x4 buttons and 1 button for around 232 USD minus the one time valid (?) discount so 182 USD) to get again 9 (hopefully working) flic buttons. And my unused buttons don't work at all. Not only no new features. They are not working at all.