Archive for January, 2012

Where’s my API?

January 30, 2012

In todays world where startups are growing by the thousands every hour, the way engineers, enterpreneurs, CIOs, CTOs, Architects look at products has completely changed. Everything starts with the web experience or Application UI (App-UI) as product designers and engineers call it.

In parallel another transformation has been occurring in Enterprise application space (now called Enterprise 2.0). First it was embracing “Cloud computing” in the enterprise and second distributed applications on the cloud and how these applications can talk to each other. I was following “Services Oriented Architecture” for a while and it started to get more convoluted about standards etc. A simple example of old school enterprise application is the class SOAP vs. REST based architectures. REST is starting to win the game as we are starting to see more applications embracing RESTful architectures.

REST introduced another amazing innovation in the application design arena. The fundamental fact that every application needs to expose an API. Thanks partly to the “social media” proliferation and facebook, twitter and google exposing a rich set of APIs that can allow 3rd party developers to build their own App UI on top of their APIs. Seesmic is a great example of such an application that leverages APIs from multiple social media sites and aggregates it in 1 single place.

Which brings me to the point of this post, the next time you start to build an app, think of how other developers can extend it using an API and not just how “users” will use the app.  Start thinking of Applications as a composition of App-UI + API. Even if there’s just 1 App UI that calls your API, that’s a good separation of concerns.

In this “mobile app” era, APIs are going to “the” way to build an ecosystem around your applications,whether it’s a startup with a great idea or an enterprise application that serves consumers and other users. Think about the possibilities if a company like Comcast provided access to viewership data once a consumer allows access to it in return for recommendations that are generated based on your Social graph. I’m sure there’s startups and companies already doing this but having an API builds an competitive ecosystem that makes your data and service successful and widely adopted.