If you’ve read my previous post on this, you’ll notice how I re-worded the title of this article. That’s because I’m delusional to think Twitter is going to open source their API any time soon – I’ve been requesting this for over a year now. I think I’ve come to a new understanding that if we’re to see an open standard built around Twitter’s API, it’s going to be we, the developers, who implement this.
It won’t be Twitter.
I mentioned earlier that developers are starting to catch onto this idea. It all started almost 2 years ago when Laconi.ca introduced their own Twitter-compatible API into their platform allowing any client library based on the Twitter platform to very simply add Laconi.ca instances to their preferred Twitter client. Unfortunately it took 2 years for that idea to catch on. Finally, we’re seeing some big players in this, and my predictions are coming true. Automattic just released their own Twitter-like API into WordPress.com. Tumblr just released their own Twitter-like API. The problem here is that all these developers are re-inventing the wheel every time they re-produce Twitter’s API, and any time Twitter releases a new feature they are stuck re-configuring and re-coding their server code to stay up with Twitter’s new API features. That’s fine though – this is all a step in the right direction.
Imagine now if there were a standard that, at first duplicated what Twitter was producing on their end, but other developers could code off of. Open Source software could be built around this standard, and now any provider would be able to easily install code that integrated well with their own environments very easily. We’d see many more providers than just WordPress and Tumblr and Laconi.ca instances like TodaysMama Connect (of which I am an advisor) integrate this. We’d see big brands and big companies start to implement this.
Soon Twitter will be in the minority amongst services these “Twitter clients” (like TweetDeck, Tweetie, or Seesmic) support. The Twitter clients will no longer feel obligated to cater to just Twitter, and new layers, such as real time and meta APIs could be added to this API standard in a way that benefits the community, not a single company. Twitter would no longer have a choke-hold on this and we would have a new, distributed architecture that any developer can implement.
What I’m proposing is that we work together to build an open source set of libraries and services, perhaps a gateway of some sort, all built on a standard that we set (it will most likely copy Twitter’s API at the start). I’ve built a Google Group, called “OpenTwitter” for now, with the purpose of opening up Twitter’s APIs. The group will have a primary focus of determining how we want to build this software, establishing documentation for such software, and attaching a completely open standard on top of all that we can modify as it makes sense. The goal here is that the public will now control how this data gets distributed, not a single company.
But What About RSS?
The question always comes up, why not just push these clients to support RSS and rssCloud or Pubsub Hubbub? The answer is that we’ve been trying this for too long. It may still happen, but it’s going to take Twitter clients a lot longer to modify their code to support RSS than an open Twitter-compatible standard. Ideally, a Twitter client, which there are many, ought to be able to quickly and easily just change the base domain of where calls are sent, and everything with the providing service should “just work”. RSS complicates this too much. The fact is that Twitter has taken over and we need to accept that as a fact and work with it.
If you can, I’d like to invite you to join our “OpenTwitter” list on Google. Let’s get some conversations going, and get this thing off the ground. My hope is that we can get people like Dave Winer, Matt Mullenweg, Chris Messina, David Recordon, Joseph Smarr, DeWitt Clinton, and Mike Taylor all joining this effort. My goal is that we can even get Twitter involved in this effort – this isn’t meant to snub Twitter by all means. The entire goal here is to build a much more open, distributed web in as simple a manner as possible.
You can join the “OpenTwitter” list here. I’ll be posting a kickoff message there very soon.