API-first & Native Apps for Start-ups

06 Nov 2015

I have an Android, and that means that I’m typically the last to get the coolest new apps or to be able to use the latest IoT devices – because they all start with iOS first. It makes me wonder why many of these companies don’t start with a responsive web app first, and do native apps later – that way, they’ll be able to support all platforms out the gate. There are some obvious restrictions to web apps, like not having quite the same access to the platform’s hardware and not being able to easily pass wifi credentials to an external device: for example, if you buy a bridge or hub for your smart home system and it needs to connect to the wifi, as far as I know, the best user experience requires a native app so that your phone’s wifi settings can be passed seamlessly through the app to the device.1

But it also occurred to me that building native-first is by default explicitly and intentionally building API-first.2 Done right, API-first architecture yeilds so many benefits for a start-up. Firstly, it provides an immediately high level of flexibility: the number of platforms you can build for becomes infinite, since all you need is to develop another client that consumes your already-built API. If all your business logic is centralized on your API instead of implemented client-side, then it becomes even easier to build new clients, because you’re not porting around your business logic to different code bases and desperately trying to keep things consistent. Furthermore, if you’re implementing a hypermedia API,3 building and maintaining new clients becomes even easier. In contrast, if you had originally created a monolothic web app, you will later need to do double the work to create an API and then native clients to consume that API.4

API-first design for start-ups also has major business implications. We’re increasingly immersed in the API economy, and most start-ups without an API are missing the boat. By missing the boat, I mean they’re missing huge opportunities to expand into new markets, develop B2B partnerships, and make their service even more relevant and connected.5 By starting out with an API, start-ups are one step closer to having an open API – even if that means open to any third party dev or only open to enterprise partners.

1 If I'm wrong on this and you can do this easily with a web app on mobile as well, please let me know!
2 Or if it's not, it should be.
3 http://apievangelist.com/2014/01/07/what-is-a-hypermedia-api/
4 Although yes, it's becoming increasingly common to build web apps that use APIs, e.g. a purely JavaScript front-end consuming a Rails API.
5 http://www.3scale.net/api-economy/

Slán go fóill,
Shelby at 03:00