SAN FRANCISCO -- Cloudstock
: You might have seen the ads on our site for this cloud programming event. We did an advertising campaign on CodeGuru and several other sites. The result was a sold out show. Obviously, I'll give CodeGuru
credit for helping sell out the show.
At Cloudstock, there were a number of companies pitching what they do and showing how it related to the Cloud. The one common theme was that online companies offer APIs and services to extend what they do. Among the companies at this cloud developer event were LinkedIn, Amazon, eBay, SalesForce, and more.
Regardless, it was an interesting event.
A Look At APIs
There was one session I found interesting. It wasn't presented by a huge Internet company, but rather by a developer from a smaller site called ProgrammableWeb. The focus of the presentation was on the use of APIs and Mash-ups.
Mash-ups became very popular several years ago. Mash-ups are simply the use of APIs and Web Services from more than one company into a single application or solution. It was the "big thing" to get developers to build mash-ups. Today, mash-ups are simply a given. There isn't a lot of hype around mash-ups anymore; rather people simply build with them.
In the presentation, John Musser talked about APIs and their use. One of his early comments centered on the change of perspective. In 1995, people were asking why they needed a web site. By 2000, people were stating that, "Of course we have a web site." In 2005, the question changed to, "Why do we need an API?" Like the change in attitude about having web sites, the change in attitude today is, "Of course we have an API." Today if you are on the web with a service or offering, then it should be clear that an API can benefit what you are doing.
The importance of having an API can be dependent upon what you are doing. For some sites such as Amazon, eBay, and Google Maps, APIs are critical. For example, 60 percent of all listings on eBay.com come from their API. For Google Maps, the API is what drove their adoption quicker than MapQuest. Google's product was growing at 400 percent vs. MapQuest's 20 percent.
The Benefits of APIs
Musser stated that the benefits of APIs are several. You can make money using an API. The previously mentioned API from eBay helps them with 60 percent of their listings. Since eBay makes money from selling products that are listed, this increases their revenue.
A second benefit is that APIs can save you money. For example, by using APIs from online storage services, you can reduce overhead costs. As an example, it was indicated by Musser that SmugMug saves $500,000 a year by using Amazon S3 Storage services via their API.
An API can help you build your brand. By making it easier for others to incorporate your services into their applications, you increase the potential visibility of your service. As mentioned, Google Maps had 400 percent growth while, at the same time, MapQuest grew 20 percent. Whose API do you think was more accessible?
While you might not think about it initially, you also can gain portability by using an API. An online API can let developers tap into your system from a variety of sources and platforms. This can make it easier for your solution to be extended to other platforms. Musser presented an example of NetFlix, which is available on 200 devices as a result of their open API.
Making a Good API
In his presentation, Musser also mentioned what makes a good API. Of course, it doesn't matter how good your API is if the underlying service is bad. You have to first make sure that what you are providing access to is worthy of an API.
If you do have a valid underlying API, then you should create a simple, open API, and you should make it's very easy to adopt. Ease doesn't just mean easy to access, but it also means clear in how it can be used. As Musser stated, you don't want to make a developer have to ask about the rights to use your service. Even more important, you don't want to create such complex licensing or usage rules that a developer has to get legal input to know if they can use it. Keep it simple.
Another key to making a good API is to provide appropriate choices. The more protocols and standards you can support, the broader adoption might be for your API. Additionally, supporting a variety of data formats (such as XML, JSON, RSS, vCard or Atom) can also make adoption easier. You should consider your audience when considering the various data formats to support.
Finally, you should provide clear, easy developer support. Developers are the ones using your API, so the easier you make it for them to understand and use the API, the better chance they will.