Open Twitter

I've been thinking a lot about Twitter lately. Despite how I might use Twitter and my personal opinion of the service, I feel that the idea of a real-time broadcast medium is a good and desirable one. That said, Twitter itself is flawed in a very deep way, namely that it is a proprietary service, built (internally) using proprietary technologies. Sure, there is an API, but Twitter holds the keys to it and may revoke access at any time and for any reason. 

When thinking of Twitter as a new type of communication medium, I'm at a loss to find a good reason why one company should have absolute control over the system. Even if Twitter remains completely benevolent, there are practical reasons why it is a bad idea. Foremost is the issue of reliablity. Twitter has had a hard time being a reliable service, and it makes me wonder, is it acceptable for a communication medium to go down, as a whole, for every user? Email does not go down. Yes, different providers will have outages at different times, but it's not as if all email access would ever go down at one time. Same for the telephone service. A communications medium should be reliable. Internet communications only become reliable when they are replicated and distributed. This will not be possible with Twitter. Twitter could build replication and distribution internally (as they already have), but it will still be a single service operated by a single company.

So, if a communications platform was to be created, as a sort of Open Twitter, what features should it have? I think there are four important features needed at the start.

  1. Real-time streams. This is core and what makes it unique.
  2. Identity. Just as @df_jones identifies me uniquely on the Twitter network, some unique ID would be needed in an open system.
  3. Broadcast. With the concept of following a broadcast source.
  4. Search and categorization. Should be network-wide (even for streams that are not followed).

An ideal replacement for Twitter would likely be a protocol or a group of protocols to allow these features to be built out. In an open system built on open protocols there could be many service providers in addition to individual users who interact with the service using their own resources—much like email and various webmail providers. 

One could spend a long time trying to create new protocols to fit these needs, but I have come across one proposal that builds these features on existing technologies and standards. You can read that proposal on the P'unk Avenue Window. If you find this to be an interesting concept, I highly recommend going there and reading that post.

RSS with with domains providing user identity (just like email—doug@dfjones.org) seems like a good, open way to approach this problem. The biggest criticism I find with what they've proposed is that it relies on search engines to provide most of the real-time capability. However, the upside to this is that there are many search engines (and perhaps new services that would be created) that could fill these needs instead of a single provider.

As more people join Twitter (and Facebook, for that matter) and make real-time, broadcast communication a part of their lives, the tech community has the responsibility to pause to evaluate the world around them and the services they use. When they do, I hope they will come to conclusions similar to what I've talked about here.