More platform on the brain

Posted by Antonio 1 year, 3 months ago (Sept. 17, 2007)

Hot on the heels of my wondering why I was beginning to hate the term platform, I came across Marc Andreessen's awesome post on the three kinds of things you see labeled as "Internet platforms" these days. Despite only agreeing with half of it, I would say that this is a superb post— the kind of essay that makes you think you should be paying for it. He does a great job of dissecting the entire evolution of the web-as-platform, going through three stages: 1. APIs (Flickr), 2. Plug-ins (Facebook), and 3. runtime (Salesforce), explaining at each step how the developer's work changes. On top of being a very lucid synthesis of what has been going on over the last 10 years in the web, and not being sloppy in his use of the term (platform), he also has a whole bunch of golden nuggets about how stuff gets built today that are worth reading. I can not recommend it highly enough.

Now for the part that I don't totally buy— and I'll mention this only because Marc opens the door at the end of the piece when he argues for programmers to be the ultimate arbiters of what a platform is. To the regular software engineer, platforms have always been about one thing primarily: distribution. When developers were abandoning the Mac for Windows in the early 90s it wasn't about more features and functionality, but about being able to write apps that more people could install and run. When Marc talks about the "ultimate" type of Internet platform (a runtime where developers don't have to worry about running their own infrastructure), I think he overstates the importance of that relative to the relevance of having real reach once you've written an application for a particular platform.

He does mention Facebook, but only as the 2nd type of platform, going so far as to argue for the eventual domination of platforms that also provide their own runtime over those that allow for plug-ins or just provide APIs. What is more interesting still is that Amazon EC2 and S3 get labeled as quasi-type-3 platforms (as does Akamai's new EdgeComputing runtime) because they are attempting to provide some runtime capabilities, but not much more of an API. I think he's got this wrong in that Amazon to me seems to realize that the value in a platform service can either come from distribution or from providing a core set of infrastructure services. I like to think the good folks at Amazon know that the Facebooks of the world will bring the access to distribution, but that it's going to take services like S3 and EC2 to allow developers who win to scale these services out. If you want an example, you need to look no further than Renkoo's wildly successful send-a-drink Facebook application, which is being scaled on the back of Amazon's infrastructure.

Developers are naturally prone to distrust "runtimes," mostly because in the past they've implied lock-in. As more folks try to roll out these Internet scale platforms, they would do well to remember this, and build out accordingly.

Comments

Post a comment

(Please use only plain text. Though I will escape all of your HTML, URLs will be clickable)

Your name:

Comment: