A frequent question when I talk to people about the things I build is “Why didn’t you make it an app”, and the answer is always “It wouldn’t work as one”.
A lesson I had to learn from a previous hackathon is that if you can make it using a phone app, you should. Kotlin (for Android) and Swift (for iPhone) are both mature and well supported languages. Whatever features and functionality you want to use, it’ll be there with a ton of examples to help you quickly get setup. And then when you release it, you’ll have easy access to a massive store front and millions of users.
Even if the idea is that you’ll eventually make a hardware version, if you can make it as an app then I would recommend it to validate the concept. There’s no reason why you couldn’t put together a quick app to show to your potential customers, then work on the hardware and build in their feedback as you go.
And presuming you already have a phone, there’s no extra cost for you. Not that Arduinos and Raspberry Pis are expensive, but not only can it not compete with free it can’t compete with the number of features that are present in a smart phone which is perfect for rapid prototyping when you aren’t sure what new features you might need.
That said, there are three big reasons that I’ve come across which makes a phone app prototype unfeasible:
- Scale – Say you’re working on a set of simple IoT sensors that are designed to be placed in the corner of each room. You could make one using a phone app, but making a dozen phone prototypes can get costly, especially compared to a tiny Arduino Nano or a Pi Zero.
- Features – A phone can do much more then any prototyping board, but there a couple of things it wouldn’t be able to do. I’ve recently been working on a guitar tuner that requires a direct audio input from an electric bass. I would never have gotten that to work without some specialist hardware for the task.
I’d like to throw ‘the form factor is wrong’ into this as well. If you want to make something that’s wrist mounted or works as a pair of headphones, then a phone wouldn’t be practical.
- The users can’t use a phone – This comes directly from the medical prototypes that I’ve worked on. If you’re marketing to the elderly, the blind, or another group that would struggle to use a mobile then coming up with something embedded that can be simple and made to purpose is the best option. The device I’m working on at the moment had to be made into an embedded device so it could be used by the blind, necessitating something with close to no interface required to work.
Hold that in mind, make sure you give it some thought, and don’t forget that whatever you choose there’s no wasted time when you build prototypes. You’ll always learn something.