I (have learned to) love working with hardware. There’s a specific tension between hardware developers (firmware) and software that runs closer to the user. I used to do a lot more consulting - building mobile apps that talked to BLE sensors, like refrigeration controllers, etc, and almost always the end user was a technician.
Now, I’m making apps specifically for non-technical users. I really love the challenge.
To come up with my app idea (and business) I tried to think about the worst possible hardware on the planet and thought label printers.
Turns out that the hardware is almost universally pretty good, but there was no software that worked for both Mac and windows, worked independent of device drivers, was easy to use, had modern conveniences, and didn’t cost hundreds of dollars.
At the same time my competitors are extracting as much value from the label printer landscape as possible, with a wake of irked users behind them. RFID in the label roll? Yep. Jacked up pricing and mandatory support subscriptions. Yep. More proprietary everything… yep.
I’m always looking for new markets and ideas. A year ago, when a competitor released a new printer with RFID, I got call after call asking me to bundle a printer with my app. At the time I didn’t find a compelling printer on the market … nothing that would set my business apart.
But then I found a Chinese manufacturer and read Hardware Hacker, and now I’ve got these awesome printers for sale, bundled with my design app! I’m competing in the 4” wide 300 DPI direct-thermal market. I’m not marketing this as a shipping label printer (that’s a solved problem), instead, it’s for making custom designed labels, usually with barcodes, usually with data from an external source.
That "if" does a lot in that sentence :) Just had a typical fun experience:
Customer: Your platform doesn't work, when we do this, A happens
Me: Hm, we don't have that feature, but I understand your use-case. We could deliver this new feature by tomorrow, but using it that way also inherently means B would happen in such and such cases, so just want to make sure that's what you want?
Customer: Let us know when the bug has been fixed, it's urgent and we're losing money because of you (they had 1 month free trial)
Me:: It's not a bu...okay, we will
Me: * works all night, builds a new feature, fully polished, notifies customer
Customer after 2 days: Yet ANOTHER bug with your unstable software!! * describes B
Unless this was a customer you absolutely needed you should not have given them control over your immediate development schedule. Offer refunds if relevant (sounds like not the case). Keep your sanity instead.
I've tried that in the past only to be told ' We've tried them and they are even worse than you lot are! They are rude, their stuff is full of bugs and their support staff are unhelpful.. '
You're probably in a much better spot, SaaS is still the best way to make money as a developer, if you don't have to provide too much support.