Yahoo plans to launch a mail app Platform. The number of iPhone apps developed for the iPhone mobile app platform crosses 10,000. Mozilla served their 1 billionth add-on download for their browser extension platform. Just in the last one month, we have witnessed some amazing developments in the Internet and mobile economies. More and more companies are converting their products into platforms for third-party developers to build applications on and more and more app developers are using the opportunity to build fascinating apps on the platforms to reach millions of users.
All this sounds great. But do we really understand what Internet/mobile platforms are? To me, trying to talk about them is like nailing a jelly on the wall. The term platform conjures up myriads of, often incompatible, ideas in our heads. The problem arises primarily from the fact that this term is heavily overloaded. It is somewhat akin to saying prego in Italian, a word that is used to mean many different things in many different contexts. Another factor that adds to the confusion is the fact that the whole realm of Web computing is evolving at such a rapid pace that it is often difficult to keep up with the latest in the Internet industry.
Marc Andreessens blog on Internet platforms is a must read for anyone who is even remotely interested in the understanding the different kinds of Internet/mobile platforms (http://blog.pmarca.com/2007/09/the-three-kinds.html). In this post, I will use his framework to further explore the implications of using different platform models.
Lets start by first defining what a platform is. A platform is a system that is programmable and hence, can be customised by third-party developers for mutual economic benefit. Why are companies vying hard to establish themselves as Internet platforms? To build an ecosystem around their technology and feed a positive feedback loop. Why is this important? The company that has the biggest ecosystem finally wins in the winner-take-all dynamic that is common on the Internet these days.
Lets now look at a few Internet platform models that exist today. The models differ basically on the location where the developers code is executed and the complexity of programmability.
The Google APIs model
This is the most common form of Internet platform.
• Developers code resides and gets executed in their server
• Easiest model to program from the developers point of view
• Developers app is not part of the platform user experience
Suppose I want to build a dashboard, like the one on Google Analytics. I can use the Google Visualization Web Services APIs to create graphs and charts for my application. In this case, my code resides on my server. I simply call the APIs and expect data in return.
Sign up for Computerworld eNewsletters.