Note: This article is now available in PDF format, includes more content, and is useful for offline reading and sharing. Click here to download a copy.
There has been a good deal of discussion, both positive and negative, about the recent obsession of APIs. Some say that it is ushering the next wave of product companies, while others are asking, “What’s the big deal?”
To the non-technical, APIs might be a bit of mystery and magic – build an API, sell your company for lots of money. To the technical, it offers a way to build and share your work with other developers, making money along the way.
APIs themselves are nothing special. That’s right, I said it…and I’m not taking it back.
A little API history
You may not have realized it, but APIs have been around for a long time.
Before the current incarnation, the most popular way to distribute APIs were through SDKs. They were commonly used to integrate new functionality into applications, or to construct an entire application upon (e.g. the Windows Mobile or Android SDKs).
SDKs define APIs that developers build their code against by providing a contract with the developer on what they will do, how to call the code, and what the result will be. The developer then builds code on top of the SDK to get the functionality they desire.
After the SDK came the initial attempt at web services. Many of these early web services used technologies such as SOAP, WSDL, and a number of other nasty acronyms. These technologies required a deep understanding of their specifications before the web services could be used. Additionally, the high cost to develop and deploy these services prevented many companies from offering them in the early stages of the company.
So, what changed?
The newest web service API platforms speak a simple language: HTTP, the language of the web. Combined with other common usage patterns such as REST and HATEOAS, web APIs promote easy integration from any programming language.
In addition, the cost of infrastructure has decreased with the introduction of cloud computing, allowing for rapid provisioning of production hardware with only a credit card. Compare that to just 10 years ago when hardware had to be purchased and installed in a co-location facility before the API was ever deployed.
New Business Models
Finally, the market that was previously accustomed to the SDK business model where they were distributed free or part of a site license, started to accept new ways of paying for APIs. The pay-per-use or subscription models are the most common that we see today. This market shift has even opened an amazing 20 new API business models available to product companies today.
In our API Developer Weekly newsletter, I have featured a number of public API announcements and stories:
- Walgreens puts an API around their stores
- Box adds document metadata for rich document context and workflow support
- Mining User Data in Excel with the FullContact API
- Reddit built an API and let developers create their mobile applications, rather than building them in-house
- The OpenStack API roadmap: should it adopt the AWS API?
The API market has been hot for several years and doesn’t show signs of slowing down, based on this Layer 7 survey: More Than 85% of Enterprises Will Have an API Program by 2018.
Why I often recommend an API-first approach
I have been building web services for over a decade. From those terrible standards that made my head hurt every day, to the most recent approaches that are clean and simple. I now build web APIs for mobile backends, rich browser applications, and for internal cloud infrastructure management.
Here are a few of the reasons why I often recommend an API-first approach:
Reason 1: APIs improve the mobile application experience
APIs enable mobile applications to reach beyond their local data to enable collaboration between mobile devices. They also allow for rapidly changing mobile application behavior without the need to resubmit to app stores after every change.
Reason 2: APIs enable more sophisticated web applications
Reason 3: APIs create community
Your software product likely reaches out to a specific community and solves a real problem for them. APIs enable developers to rally around these communities, integrating their users with your offering. This enables your product to reach out to your existing community in new ways. It also allows for reaching into new, untapped communities as well.
Reason 4: APIs capture passion
Companies that release APIs to popular websites enable passionate developers to build mobile applications or add-on products. Twitter become popular because developers built custom Twitter clients using their API, reducing the burden on Twitter product managers trying to guess what their users wanted. Instead, they let those passionate about the platform build on it.
Reason 5: APIs generate revenue
Walgreens is one example of how they are starting to see new ways of generating revenue from their existing infrastructure. They have wrapped their photo printing service with an API that enable easy photo printing to any of their stores. Other companies, such as IMDB (acquired by Amazon) sell their data access alongside their premium membership services.
Are you ready?
While not without its challenges, today’s opportunities are endless for both providing and integrating with APIs. You can now build resellable APIs that are ready to integrate and accessible to anyone with a credit card.
Are you API curious? Perhaps you are ready to build out your API but you aren’t sure if you have selected the right technologies. Drop me a note at firstname.lastname@example.org or use our simple contact form and let’s talk APIs.