History of APIs
20 Dec 2012
The history of APIs is something I discuss a lot. The history of modern web APIs is something I include in all my talks, and I'm always surprised by how little people understand some of the more popular APIs that got us to where we are at.
To further support this area, I've launched a History of APIs section where I've hung the stories I've already done in this area, and will be looking to dig up the history on other APIs that are shaking things up.
When I'm talking to people about APIs, the term APIs can mean many different things. Sometimes it means hardware APIs, or the Java API or various other technical incarnations. Right now when you hear the term API, it probably means web API or an API built using REST, running on the same infrastructure the World Wide Web runs on.
When it comes to APIs, I strongly feel that to understand where we are, we need to understand the short, modern history of the web APIs. There are several patterns to why the modern web API movement has worked, that I think you can take home and use in your own API strategy.
While modern web APIs were officially born with Roy Fieldings dissertation Architectural Styles and the Design of Network-based Software Architectures in 2000--Web APIs first appeared in the wild with the introduction of Salesforce on February 7th, when the company officially launched its API at the IDG Demo 2000 conference. Salesforce was an enterprise-class, web-based, sales force automation as a "Internet as a service", with XML APIs were part of Salesforce.com from day one.
Later in the year, on November 20, 2000, eBay launched the eBay Application Program Interface (API), along with the eBay Developers Program--which was originally rolled out to only a select number of licensed eBay partners and developers.
Then on July 16, 2002, Amazon launched Amazon.com Web Services allowing developers to incorporate Amazon.com content and features into their own web sites. Amazon.com Web Services (AWS) allowed third party sites to search and display products from Amazon.com in an XML format.
The modern Web API movement was kicked off. But for some reason it didn't gain the momentum we see today, whether it was due to the "dotcom" bubble bursting or other things werent quite ready--web APIs wouldn't get traction until things got social.
In February 2004 the popular photo sharing site Flickr launched. Six months later they launched their now infamous API, and six months after that, they were acquired by Yahoo. The launch of the RESTful API helped Flickr quickly become the image platform of choice for the early blogging and social media movement by allowing users to easily embed their Flickr photos into their blogs and social network streams. While allowing Flickr to focus on a new approach to business development using web APIs.
Then on August 15th 2006, Facebook launched its long-awaited development platform and API. Version 1.0 of the Facebook Development Platform allowed developers access to Facebook friends, photos, events, and profile information for Facebook.
One month later on September 20, 2006 Twitter introduced the Twitter API to the world. Much like the release of the eBay API, Twitter's API release was in response to the growing usage of Twitter by those scraping the site or creating rogue APIs.
At this point web APIs were showing the power of the Internet when it came to sharing, making things embeddable and social. Web APIs still were perceived as "hobby" by mainstream business. You couldn't take care of business...yet.
As APIs were generating social buzz across the Internet, Amazon saw the potential of an RESTful approach to business, internalized and saw APIs in a way that nobody had seen them before--giving re-birth to an Amazon Web Services that was much, much more than just e-commerce.
In March, 2006 Amazon launched a new web service, something completely different from the Amazon bookseller and e-commerce site we've come to know. This was a new endeavor for Amazon: a storage web service called Amazon S3. Amazon S3 which provided a simple interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives developers access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of websites.
Six month later, shortly after launching Amazon S3, Amazon followed with a new cloud computing service dubbed Amazon EC2 or Elastic Compute Cloud. Amazon EC2 provided resizable compute capacity in the cloud, allowing developers to launch different sizes of virtual servers within Amazon data centers. Just like its predecessor Amazon S3, Amazon EC2 was just a RESTful API. Amazon wouldn't launch a web interface for another three years.
With cloud computing, web APIs got real. You could now deploy global infrastructure using APIs. It wasn't just about social fun anymore, you could actually run your business using APIs.
Even with this new found power of API driven cloud computing, it would take one more essential ingredient before web APIs were ready for the prime time.
With everyone focused on social and the cloud, a new device emerged, and much like social and cloud, would prove to be a game changer. In June of 2009 Apple launched the iPhone 3G, the App Store began allowing iPod Touch and iPhone owners to download applications through the iTunes desktop software or the App Store on their iPhones--opening up entirely new world of mobile applications, one that APIs would be the driving force.
Soon after the launch of the iPhone, in March 2009 Foursquare launched at the SXSW interactive festival in Austin, TX. Foursquare was a location-based mobile platform that makes cities more interesting to explore, by checking in via a smartphone app or SMS, users share their location with friends while collecting points and virtual badges. This new type of mobile app, utilized APIs to allow developers to deliver a new generation of location aware, API driven applications, feeding the growing app economy.
The mobile evolution of the Internet was under way, and the following year on October 6, 2010,Instagram launched its photo-sharing iPhone application. Less than three months later, it had one million users. Kevin Systrom the founder of Instagram focused on delivering a powerful, but simple iPhone app that solved common problems with the quality of mobile photos and users' frustrations with sharing.
Immediately many users complained about the lack of central Instagram web site or an API, with Instragram remaining firm on focusing its energy on the core iPhone application. In December a developer name Mislav Marohni? took it upon himself to reverse engineer how the iPhone app worked, and built his own unofficial Instagram API on top of private Instagram APIs. By January Instagram shut down the rogue API, announcing that it was building one of its own.
The appetite for API resources to drive mobile has only grown with the introduction of the iPad tablet and the growth of the Android and Windows mobile platforms.
Mobile was the finalize piece of the digital strategy puzzle, which included commerce, social and cloud--all required before the original vision of web APIs could be realized.
Web APIs got their start in early e-commerce on the Internet, but without social, a scalable cloud backend and a ubiquitous mobile devices--APIs weren't ready for prime time. In 2012, we reached that point.
Every company needs a healthy digital strategy for success in 2013, which includes sensible uses of social, cloud, mobile--all depending upon APIs. While there are plenty of other APIs to learn from, we can learn a lot from the history of modern web APIs, and these early web API pioneers.