A platform is traditionally considered to be something on top of which you can build other applications. Last week Fred Wilson lamented that people really aren't making new applications on top of Twitter. There’s been a bit of uproar over Fred’s post, and then Twitter's aquisition of Tweetie including an article in today's New York Times and last week in Business Insider.
But being upset over Twitter’s desire to control more of the Twitter ecosystem misses the point a bit. The reason that, after several years and tens of millions of registered users that people are not building new app categories on top of twitter is that Twitter is not really a platform.
Let me explain.
Fred correctly pointed out most of the apps that people are making are not new apps. What you do with the current generation of twitter apps is essentially what you could always do with Twitter which is to share bite size bits of content with others that are interested.
The key question is whether Twitter is plumbing, like a new kind of communications protocol like TCP/IP, or whether it is really an application like instant messaging. The talk about building new classes of applications on top of Twitter would suggest it is the former, when it is really the latter.
Twitter is an app.
Twitter is not a protocol, and it is not really suitable for building new classes of apps. This is plainly obvious in that with all of the developers out there, someone would have done *something* fundamentally new if they could have. It's not a coincidence that all of the apps out there are, as Fred describes "hole fillers."
In order for apps built on top of Twitter to really do substantively new things, they need to work with Twitter as a *protocol* where Twitter is carrying app specific payloads. This, of course, is problematic when a user's followers start seeing data that is not human readable, or not intended to be read outside of the context of a particular application.
The bottom line is that for Twitter to be a platform, applications must create payloads that are designed to be read only in that new application's ecosystem. But if that became popular it would ruin the experience for people using Twitter in it's traditional context. No one wants an unreadable stream of bytes in their Twitter stream.
Of course this problem could be fixed by adding what I will call "protocol channels". Protocol channels would be designed to carry application-to-application traffic. Only applications subscribed to a users protocol channel could see traffic on it. If Twitter had something like protocol channels, all kinds of applications could be created that would leverage the viral nature of Twitter and a users existing social network.
The potential applications for this type of channel are boundless. Everything from bingo games to Google Wave type applications would be possible. It would be a way to allow wide scale apps that would otherwise require sophisticated server software. And it would allow apps to be freely built across a user's existing social network.
Of course there is the question of how to monetize such in this model. It could be free, but I think it would be reasonable to charge developers for access. Such a channel might also provide an opportunity to provide an optional advertising system.
The bottom line is that if Twitter really wants developers to get creative with the tools, they have to get a little more creative with the platform. Once they do, I think there is an opportunity to make an ecosystem that, because of it's openness, could be far larger and more interesting than Facebook's much more restricted universe.
Honestly, up until now, I have not really been that excited about Twitter. But if they really opened up in this kind of way, I would see Twitter as a game changer. Twitter's developer conference, Chirp, is coming up this week, and it would be great to hear that Twitter has been thinking along these lines.