Developers, It’s Time to Open Up Twitter’s API

TwitterIf 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.

The Vision

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.

The Proposal

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.

The Invitation

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.

Advertisements

9 thoughts on “Developers, It’s Time to Open Up Twitter’s API

  1. Dave, it's still there, but the focus for openmicroblogging.org is around
    federation, not Twitter-like syntax. There is code in Laconi.ca that does
    this, but I think what would be more useful is a gateway that serves as a
    middleman in all this. If we could build a gateway that takes
    RSS/Atom/ActivityStrea.ms as input, and outputs in a Twitter-client
    compatible format, we could then start to set standards around the export
    format, especially as more people adopt this. The goal would to make it as
    easy as possible for anyone to adopt, then, when the people are in control,
    we could add additional layers and standards for the Twitter
    client-compatible side rather than Twitter controlling that process. The
    idea is to get it out of the hands of one company and into the hands of
    many.

    Of course, I'd love to see Twitter involved in this too and joining this
    effort (as would I Facebook). I think the more we can get the developers
    and consumers controlling these APIs, the better. The more companies
    involved in this the better. Hopefully that makes sense.

    Like

  2. Did you read that wiki page? It was done following a sesion at a recent StatusCamp. So yes, it is StatusNet oriented, but it also points to a bunch of other ressources/protocols.

    I just don't understand what you mean by Open API I guess. You expect the backend code to be opensourced? But that has to be tied to the actual application. There could be a php lib shared by both WordPress and StatusNet I guess, and maybe that will happen. But there will need to be one in Python, Java, Ruby, etc.

    I see no problem in reusing the method names as they're currently implemented. Copying the documentation is another manner, but that can be rewritten.

    Maybe http://groups.google.com/group/twitter-developm… will eventually have an answer.

    Like

  3. Robin, be sure to see some of the conversations in the Google Group I set
    up. That will help you understand a little further my thoughts on this.
    This subject has been discussed before. The idea is to create an open
    source gateway that would be simple for anyone to install. Then, as more
    adopted we could start to establish standards around it. So long as Twitter
    is in control of the Twitter client though they set the standard.

    Like

  4. Did you read that wiki page? It was done following a sesion at a recent StatusCamp. So yes, it is StatusNet oriented, but it also points to a bunch of other ressources/protocols.

    I just don't understand what you mean by Open API I guess. You expect the backend code to be opensourced? But that has to be tied to the actual application. There could be a php lib shared by both WordPress and StatusNet I guess, and maybe that will happen. But there will need to be one in Python, Java, Ruby, etc.

    I see no problem in reusing the method names as they're currently implemented. Copying the documentation is another manner, but that can be rewritten.

    Maybe http://groups.google.com/group/twitter-developm… will eventually have an answer.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s