Turning Drupal into a Distributed Twitter/Micro-Blog
One thing that has really blown up in the past two years is micro-blogging and the idea of sending little updates to a mass majority of people at once. These updates are public, and users can "subscribe" to another's updates, therefore encouraging conversations to start, and "lifestreams" to spawn.
Some fairly large websites that provide this type of service are Twitter, Jaiku, Facebook, Spoink, LinkedIn, and Identi.ca/Laconica.
Robert Scoble has made some pretty interesting quotes about the phenomenon, my favourite being "Twitter is the public square. Lots of noise, little signal. Blogs are like a speech. Signal, but little noise". But that's up for debate, and out of context with what I want to talk about in this blog post. What I want to talk about here is integrating micro-blogging with the content management system, Drupal.
Recently, Identi.ca has become quite popular. What makes it different then other services like Twitter is that it is open source, under software named Laconica. Since Laconica is open source, it means that there could be any number of servers running the software at any given time. I could be posting on Identi.ca, while my friend is posting on SportsTwit. So how do I subscribe to my friend's posts when we're on different networks? The answer is provided through the OpenMicroBlogging specification, which describes how two different systems could manage subscriptions across networks. When I log into Identi.ca, I see updates from people across a number of different Laconica installations and networks.
So why would we want to bring this to Drupal to make a distributed Twitter clone? This would allow you to use your own blog as your Twitter/micro-blogging profile. People could still subscribe to your posts, and you could subscribe to theirs. Instead of just writing small 140 character text updates, you could incorporate anything you wanted (video, pictures, audio, etc). Drupal is all about distributed open source awesomeness, and this would bring that awesomeness to the micro-blogging world.
How would we put this into action? The first thing to do is take a closer look at the OpenMicroBlogging specification, as well as the awesome OAuth Drupal module. Sumit Kataria wrote a brilliant post about OAuth and how it works. I posted a groups discussion on it a while ago to get discussion going, and Tim Millwood mentioned that he started FooCity. It doesn't allow subscribing to other networks through the OpenMicroBlogging specification though and that, my friends, is the next step to allowing the ultimate distributed micro-blogging platform come to life: Implement the OpenMicroBlogging specification using Drupal and OAuth.