While I was in the US recently, I was surprised by a billboard I saw, that was overlooking Canal Street in New Orleans. It was advertising a company whose entire business was built around selling APIs. Tech advertising in the US is always interesting - I've saw ads on TV discussing IoT three or four years ago and when you drive through parts of California advertising for tech companies is common.
But the move towards APIs is fascinating as it signals a major change in how software development happens and what the next generation of applications will bring.
At a lunch I recently attended, hosted by API company Twilio, it occurred to me many of the things I take for granted in applications are not so much created as they are assembled. This isn't to say software developers today are any less skilled. I'd argue that the job of the software developer is actually becoming more complex.
Twilio offers access to over a dozen different APIs for developers wanting to access telecommunications networks. For example, say you wanted to create an app that could make calls and send text messages from anywhere in the world.
If you did that yourself you'd need to, somehow, develop your app so it could be configured each time it was taken to a different country. Then users would need to navigate the local telecommunications network to find a SIM card or otherwise connect.
Twilio's APIs provide developers with a simpler way. The company has negotiated with hundreds of carriers around the world so their software inter-operates with the carriers. By calling those APIs, developers can leverage Twilio's connectivity.
They also offer video-calling and social media messaging APIs.
George Hu, the COO for Twiiio (the name is meant to be reminiscent of the sound of ring-tone), told me each time the API is called, the developer is charged a small fee. About 1.6 million developers are on board with Twilio, and the APIs are being used by about 40 million customers worldwide. That's generating about US$275M in revenue with Hu saying the company expects to be profitable in just over a year's time.
Twilio is not unique in offering this sort of API. Payments service Stripe does a similar thing, simplifying access to payment gateways for the developers of commerce applications. And AWS offers hundreds of APIs for various online services.
For developers and businesses, this represents a paradigm shift. It means they can stop thinking about how to develop and deliver commodity, undifferentiated services and focus on their "special sauce" - what differentiates them from their competitors.
A good example of how APIs can simplify this differentiation is by comparing taxis and ride-sharing services.
Both deliver the same product - they pick you up from Point A and take you to Point B. But by leveraging a payments API, one service doesn't require you to be carrying cash or a credit card. And, even if the difference in the service delivery is only marginally better, it only only needs to be better enough to win the customer. Being 1% better can be the difference between making or losing a sale.
As well being able to write good code, developers now need to get their heads around all the different APIs they can potentially access. I've already mentioned Twilio and Stripe but FedEx and Australia Post provide APIs so you can embed logistics services.
Almost any commodity service can be accessed through an API. That means developers need to have strong business process understanding so they ensure they use the APIs optimally.
Are you a developer? Has the rise of the API changed how you create software?