In an interesting, lenthy blog post, Marc Andreessen takes a look at Internet platforms and APIs:
One of the hottest of hot topics these days is the topic of Internet platforms, or platforms on the Internet. Web services APIs (application programming interfaces), web services protocols like REST and SOAP, the new Facebook platform, Amazon’s web services efforts including EC2 and S3, lots of new startups talking platform (including my own company, Ning)… well, “platform” is turning into a central theme of our industry and one that a lot of people want to think about and talk about … However, the concept of “platform” is also the focus of a swirling vortex of confusion — lots of platform-related concepts, many of them highly technical, bleeding together. This post is my attempt to disentangle and examine the topic of “Internet platform” in detail.
Let’s start with a basic definition: A “platform” is a system that can be programmed and therefore customized by outside developers — users — and in that way, adapted to countless needs and niches that the platform’s original developers could not have possibly contemplated, much less had time to accommodate.
This is followed by a good, more concise definition: “The key term in the definition of platform is ‘programmed’. If you can program it, then it’s a platform. If you can’t, then it’s not.”
Marc then gets into detail by breaking platforms down into three fundamental approaches or levels:
There lot’s to chew on in Marc’s post and the conversation was picked-up by Josh Catone at Read/WriteWeb and VC Fred Wilson. Check-out the lengthy comment stream following Fred’s post responding to his question “With providers like Amazon increasingly providing the infrastructure to host, deploy, and scale a web app, and with rapid development tools like Ruby, and with the web as your runtime environment, isn’t it possible to do much of what a Level 3 platform provides directly on the web?”
And now it looks like Facebook will be a level 3 platform, too.
Hm, http://www.widgetplus.com has a platform that actually spans all three levels.
I like the different levels that Mark uses to describe a platform. What is interesting about the list is how “specialized” and unique the data is for any given platform. The data in someone’s myspace and facebook might overlap.
I’d like to extend the definition of platform.
If data between two systems is similar enough, then only one of them is a platform.
@Neil, I think you’re right. A bit more at
http://www.allfacebook.com/2007/09/facebook-to-become-level-3-platform/
@Barce, that’s a interesting question but not sure I follow, would that mean Google Maps and Yahoo Maps could not both be platforms?
[...] What Is a Platform? “The key term in the definition of platform is ‘programmed’. If you can program it, then it’s a platform. If you can’t, then it’s not.” (tags: marketing) [...]
[...] build a platform, and promote all apps that are implementations of that platform including one’s own and ones [...]
A platform is when you can build something on it to make money for yourself, on your own terms.
Otherwise, the abstracts of it doesn’t matter.
We are soon going live with a platform where users will be able to develop processes and deep semantic knowledge directly on the web. In other words no need to upload anything - development, testing and deployment happens on the web. I think this model does not corresponds to platforms level 1,2 or 3. I sugest that it be called level 4 - any views?
Pawel, sounds interesting. I’d vote that would still be a level 3 platform, but with a specific set of hosted tools.
[...] Facebook facilitated the rapid adoption of the outside developer applications by building a plug-in style platform and having developers conform to a specific user experience, in the profile, the news feed, the [...]