The web as a platform is something we have written about quite a lot over the years here at Read/WriteWeb. Over the weekend, Marc Andreessen put up a lengthy post attempting to sort out the idea of an "Internet platform." Andreessen writes, "One of the hottest of hot topics these days is the topic of Internet platforms, or platforms on the Internet ... '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; lots of people harboring various incompatible mental images of what's about to happen in our industry as a consequence of various platforms."
He goes on to identify three types of platforms:
Unsurprisingly, according to Andreessen, the third type of platform is the best, but also the most difficult to create. Runtime environments are best for developers, he says, and boils his reasoning down to a major advantage: "you have to commit to never killing your platform." That sounds great, and makes sense, though his argument is a bit confounding:
"Think about it: For a Level 1 or Level 2 platform, if you kill the platform, you still have a working and useful system. If the Google Search API gets killed -- and it was! -- you still have Google Search which is still useful to its users. If the Facebook platform gets killed -- which presumably it won't be -- you still have Facebook which is still useful to users as a social networking service in exactly the same way it was before they introduced their platform.
On the other hand, if you kill a Level 3 platform, you destroy the whole reason people use your system to begin with -- to develop and run custom code. If you remove the platform from Ning, Ning is useless -- applications don't run, and users can't do anything. If you remove the platform from Salesforce, all the users who are using customized apps can't use Salesforce anymore. If you remove the platform from Second Life, none of the objects or experiences in the virtual world work anymore and the whole user experience collapses."
What strikes me as odd about that argument is that the point he makes about Salesforce is equally applicable to Facebook, and vice versa. Salesforce still has value without the apps that third party developers have created -- not nearly as much, but it doesn't lose total value because Salesforce is more than just a platform for third-party apps. In reverse, any user of Facebook who relies on an app built for their platform would no longer find as much appeal in using Facebook if the platform was killed. I'm also not really sure why Firefox is a plug-in API but not a runtime environment. These oddities lead me to believe that Andreessen hasn't quite completely sorted his definition yet (or it a needs a little work).
It further strikes me that there's not a whole lot of difference between these types of platforms. That is, it isn't a huge leap to go from level 1 to level 3. It wouldn't be very hard for Flickr, for example, to allow outside developers to plug applications into their platform and run them on Flickr.com (think of a flash photo editor running inside your account). And, it wouldn't be much of a leap for Facebook to host the applications made for its platform.
The reason they don't do that is because each platform plays to its strengths. Andreessen's Ning is attractive because it makes creating a social network simple, cheap, and quick. Facebook's platform is attractive because it opens developers up to a huge installed user base. Flickr's API is attractive because it opens access to a ton of data (photos). And the common thread between all of them is that they all operate on the platform of the Internet. The services Marc Andreessen talks about are all platforms within a platform. They exist to make creating applications on the web platform easier, or to provide access to data for use in creating web applications.
Nearly two years ago, Fred Wilson, writing about the web as a platform said this: "The Web is a Platform and you must build on top of it and you must be open and you must not try to lock people in. If you do, you are eventually going to regret it." What does that mean in terms of looking at the various platforms cropping up on the web, many of which still exist as closed systems? In a comment today on Andreessen's post, Wilson poses this question, "And isn't it also true that building apps on the web itself, instead of plugged into Facebook, or resident in Ning, is more attractive to developers because the app is less reliant on the owner of the environment to continue to act in good faith toward the developer and their app?"
I think he makes a good point. If the entire web is a platform, why would a developer choose to cede control over his app by locking himself into a single, third-party platform? The answer is that these platforms give developers access to something they can't easily build themselves -- such as users, data, or development tools. The more open the platform, though, and the more in control the developer remains, I think the more attractive they will be to application creators.
As Andreessen concludes, "lots and lots of people have opinions about platforms." So what are yours? Leave your thoughts in the comments below.
TrackBack URL for this entry: http://www.readwriteweb.com/cgi-bin/mt/mt-tb.cgi/1621
Comments
Subscribe to comments for this post OR Subscribe to comments for all Read/WriteWeb posts
I never forget being told this in a meeting... Customers don't buy platforms - they buy applications or they buy solutions to their problems. The key is to create value that customers are willing to pay for.
That's the really hard part to building a platform.
Posted by: Peter Cranstone | September 17, 2007 2:24 PM
I see a lot of smoke and mirrors with Andreeson's argument. For me, the web is a platform. The web has a billion users. The web uses open source and it's incredibly easy to get started. Building in someone else's preconfigured platform does not appeal to me, unless it's for fun.
For business, I would never, ever base my main business on someone else's platform-- the web is the ultimate platform, and it belongs to all of us.
Posted by: Ted | September 17, 2007 2:54 PM
All this talk about platforms...everyone is focusing on categorizing them and not on their value. I think a platform has to be measured by the value of the applications produced by it.
If Ning is the best kind of platform, then maybe platforms are overrated. Anyone reading ever use a Ning app? Anyone _still_ using it? I have yet to see anything created on Ning or ANY other web platform creep it's way into the small list of sites that I use faithfully every day (things like delicious, facebook, netvibes, gmail, gcal, etc).
My point is this: Anything that's very useful probably won't be developed on any platform. There are many, many smaller apps that do add value to the "platform" itself (think facebook apps). But it's just so rare that these apps are useful...who cares if it's a level I or a level II platform?
I like the title for this post. Any useful app is created using HTTP as the "platform". All the facebook apps, widgets and ning social networks represent such a small percentage of what people actually use... Maybe I'm not taking the "long tail" into account, but I don't see what all the hype is about.
Posted by: Joel | September 17, 2007 3:46 PM
That is, it isn't a huge leap to go from level 1 to level 3. It wouldn't be very hard for Flickr, for example, to allow outside developers to plug applications into their platform and run them on Flickr.com (think of a flash photo editor running inside your account). And, it wouldn't be much of a leap for Facebook to host the applications made for its platform.
This is wrong, I'm afraid.
Ignoring anything else, the amount of effort you need to spend on securing your platform increases by an order of magnitude when you go up a level.
Doing what Facebook has done is hard - see how LinkedIn has promised to respond with an API of their own, but said it will take 9 months? Going to Ning's level is even harder.
Posted by: Nick L | September 17, 2007 4:03 PM
The Web is a platform. But this platform itself is also evolving. Applications built upon an old platform might not still be efficient when the platform itself is upgraded. This is a real practical question web application designers need to be aware even if they fully understand that "the Web is a platform."
-- Yihong
Posted by: Yihong Ding | September 17, 2007 8:12 PM
I think he is saying firefox is not a runtime environment because you have to build the plugin outside firefox itself. ie to reach level 3 you need to be able to build your application inside the platform?
But I don't think you're disagreeing with him much, as Marc said all three levels are still important so you're right that each of the apps mentioned are playing to their strengths.
Mal.
Posted by: Mal | September 17, 2007 10:18 PM
I think your comment Josh is spot on. It's about the products you can make with the platform: are they valuable to the people creating them and using them? Does your platform "create" value or just make things easier?
We planned BricaBox around the creation of value where value couldn't exist before. That's what technology and innovation does.
Posted by: Nate Westheimer | September 18, 2007 10:22 AM
Andreesen's discussion about which platforms are hardest to build, by which he means "architect" misses the point. As does the discussion about which are "best". The real interesting discussion is around which platforms are adopted and why.
Platforms like Facebook, Flikr, etc. are adopted b/c they have installed bases of users that application developers want to monetize. Were it not for these installed bases, these platforms are unlikely to be adopted. Neither started as a platform; the platform opportunity emerged.
Other platforms, like Ning are created to solve some inherent application development inefficiency. This has to be a long-tail strategy, b/c if targets sub-scale application developers for whom certain functions are too expensive to develop in-house.
Still others are intended to open access to services never before available to application developers in a scaleable way. This is achieved through data normalization and subsequent developer abstraction. The platform is adopted b/c it exposes these services for the first time in a scaleable one-integration-to-many-services grid.
Posted by: Jason | September 25, 2007 10:05 AM