April 21st 2010
I’ve just watched “The 10 Golden Principles of Successful Web Apps” on Vimeo and one of the principle was that your web app needs to have a robust API. We all know that, but honestly, I never really thought about how useful APIs really are when it comes to web apps.
What’s an API
If you have already worked with APIs before, you might want to skip this paragraph, if not, read on! An API is an interface to ask information to a web app that then returns you the requested data. Let’s say you want to get the latest tweets from a specific user on twitter, you can ask the API by requesting the following url, http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=scaron&count=5.
Twitter returns you a nicely formatted response, XML in that case, that you can re-use to feed information into your own app. See it as being an interface to be able to retrieve, send and process data in and out of Twitter.
Ok fine, why should I rely on it?
Think about all the successful websites you visit right now. They are all open in some form or another. Twitter, Vimeo, YouTube, Facebook are only a small portion of those that are successful due to their API.
Think about it for a second, YouTube is all over the place right now, you see their player around the blogosphere all the time, same thing with Vimeo (on a smaller scale) and Facebook Connect is becoming more and more popular to provide a unified login on websites.
And Twitter…well I think I can count on my fingers the times I’ve been on their website. Twitter is all over the place too, you see “retweet” buttons everywhere, Twitter feeds on blog, even the way we consume and create Tweets is mainly through 3rd party apps. Twitter is really only a huge database of Tweets open to everyone to do whatever they want with it and that, I think, is part of their huge success right now.
They’ve had a really nice idea, let it open to people to build up on it and what came out of it is quite impressive. This surely help them a lot to become successful since Twitter is on several platforms right now.
Retweet, hashtags weren’t part of Twitter on day one, it’s something the users thought of and pushed, slowly 3rd party apps implemented them as part of their features and Twitter made it part of their website afterward. APIs pushed innovation in these cases.
What do you think of open APIs for popular websites?