Remember when “the cloud” simply referred to random external servers or even the internet as a whole? Over the past few years, the evolution of “the cloud” has lead to the birth of new business models such as Software-as-a-Service (SaaS).
SaaS is great for the end-user, making services which would otherwise be unaffordable, accessible to small companies and private individuals. But as a developer, I find SaaS especially interesting in the way it’s helped reinvent something that has been around for decades: APIs. Marc Andreessen, entrepreneur and co-founder of Netscape, said in his “Software is eating the World” speech from 2011, “With lower start-up costs and a vastly expanded market for online services, the result is a global economy that for the first time will be fully digitally wired”. The “digitally wired” expression says it all, I love it. What’s the best way to wire the digital economy? It’s obviously APIs, which by definition express how two pieces of softwares are connected and interact.
“APIs are the building blocks of the digital economy”, Laura Merling, VP Ecosystems and Solutions, AT&T. (source)
The cool thing about being a developer – what drove me to learn coding on my own – is the ability to build & hack whatever you can. Today is really the best time to do so, because you’re not on your own anymore. You’ll find the support of online and offline communities everywhere you look, from program-and-answer forums like Stackoverflow (Worldwide Alexa ranking of 56) to offline events and hackathons, whether it’s your local hackathon or Techcrunch Disrupt. In addition to the support of these communities, we also now have plenty of tools and resources at hand. For developers, if you try to think of a tool – something you can use to easily achieve a goal – APIs quickly come to mind. The hottest APIs are always from services like Yo, Twilio or Venmo. Now why is that?
APIs are awesome in the way they empower you to set up rich features you would have struggled developing on your own, either because of the complexity, the time needed, and often both. APIs enable you to delegate or outsource what’s not critical to your business while keeping control. Whether you want to integrate a transactional emailing feature to communicate with your users or a rich search experience, going the easy way with a SaaS like Mailjet for emails or Algolia for search will always be a smarter move than trying to reinvent the wheel. It’s very likely that there’s already a SaaS product out there that does exactly the feature you have in mind, with just a simple integration. That’s why some SaaS are becoming more like APIs-as-a-Service. They cut your time to market while offering you a rich, reliable, affordable and scalable service with a few lines of code.
APIs are the new libs. They definitely change the way we build software, shortening but at the same time enriching the code we write. We can often even reuse the wrappers provided by the service we want to integrate and tailor them to fit our needs.
And why not think outside the box to innovate here? What if we take things one step further and imagine APIs as drag-and-drop building blocks that don’t require writing code? This might seem unthinkable, but it’s actually already possible, with API connectors such as Zapier and IFTTT. Need to generate Todoists tasks from your Google Calendar? Easy! Need to automatically save your Gmail attachments to Drive? Just as easy!
Your reaction might be, “Yeah, yeah, yeah. Cool. But this is limited to triggered actions so we’re missing a lot of what an API has to offer. And we’ve got plenty of time before services like Twilio become accessible to non-developers.” But actually not. With the help of a service such as Blockspring, any non-developer can use Twilio, extract data from the US government or build a dataviz. I agree with Blockspring’s point that APIs are for the end-user too, and the fact that they’ve just raised $3.4 million from Andreessen Horowitz and SV Angel (source) tend to prove this right.
Don’t get me wrong, though. I’m not saying that developers will become obsolete, or that everyone will be able to easily pick up a developer job without training. At least not today. I’m saying that while the complexity of software is increasing, it’s more accessible thanks to APIs. And it’s a great thing. It also allows us, as developers, to spend our time focusing on what matters most to what we’re building and benefiting from APIs. From a business perspective, this means one thing: of course any SaaS company should seriously consider providing an API, but if it does, it should do it right with a great Developer Experience. Developers indeed expect a few things from an API: documentation, support, community, standards-compliance architecture style (REST). Those are not just important because they’ll make developers who use your API happy, they’re actually necessary for adoption and productivity.