Twitter is down. Again.
This brings me to certain trains of thought: How would a decentralized Twitter work? How can it be implemented? What kind of new-age acronym/abbreviation can we use to describe such a decentralized service?
A ‘DeCent’ service isn’t controlled by any one company, with all that entails. Some friends may be cut off from the rest for a period, but the only way the entire service could be shut down is to take the entire internet offline, and then it would still be possible to connect to others in an intranet. That’s a very powerful concept.
As well, you could make certain tweaks on your own, so you can have any interface you want. As long as the data going out is the same, and as long as you parse the incoming data in the same way, you can choose what you want to do with everything else. You can keep a backlog or you can throw everything away without storing anything.
Here’s how the DeCenTweet would work: You take the Twitter API, and create your own implementation of it. Your program would send out a packet of data indistinguishable from a Twitter tweet. Many of these programs already exist in clients like TweetDeck, Seesmic, Twitteriffic, and many more. Such an implementation would be modified to post to your own database, instead of Twitter’s. Instead of making an API call to Twitter, you’ll instead have a list of Following, each with their own URL. The client would check each in turn, updating your stream accordingly.
Speed would be of the essence. When you have a few hundred people pinging your server every half a minute, you’ll need to be able to serve the data near-instantly.
I think I’ll try to create an implementation and see how it works.