xmpp and microblogging - let’s do it!
As many others I’ve been thinking a lot about how to establish a decentralised microblogging service based on XMPP.
Somehow I’m not really happy with all of the current approaches. While laconica (just like noserub) is not based on XMPP and thus misses the point completely (as not being a near-real-time application) rabbiter takes the right direction but is merely nothing more as a pubsub distribution service (where I don’t understand what’s the use for RabbitMQ).
Some time ago I started a similar service - also written as an ejabberd module - which basically does nothing more than logging messages and making them available as HTTP+HTML using ejabberd’s new HTTP interface.
I think it’s time to combine all those approaches to one single install application that really brings microblogging to the jabber world NOW. Here’s a list of things I want to see:
* Component is to be added as a contact on the roster
* It logs messages being sent to it directly (there are no PEP aware clients out there yet - and the microblogging XEP is still a proposal anyway - why?) [ -> CouchDB ?]
* It may be configured to log presence messages too.
* It may log PEP microblogging messages
* Thus needs some XMPP driven configuration interface for those options above
* Needs an HTML (RSS, ATOM …) interface for displaying a users tweets
* Needs some pubsub mechanism for those user’s not having PEP (i.e.: all)
* A twitter/openmicroblogging compatible REST API
[Update:]
Maybe some more thoughts about why I think XMPP is the way to go:
* Microblogging is not only logging thoughts etc to a db. It’s about communication. And it’s about communication with focus on NOW. So we need real time capabilities back. twitter has failed on this.
* Polling sucks. Microblogging should be more like chatting. Maybe an initial tweet is often a starting point for various conversations. Polling with limited requests per hour spoils these oportunities. Polling a REST API may be just fine for integrating your content with your own web site or for synchronising with other social networks but not for real time communication.
* Microblogging is a service for the real masses - they just don’t know yet. Doesn’t seem as if twitter could handle this if it’d be really adopted by the masses. It’s a matter of scalability.
* And if it’s for the masses we need decentralization.
* And interoperability. Sth. twitter has great success with - a challenge for us.
There’s been so much conversation on this topic. Conferences are being held and so on. But actually I think it’s time to not only talk about it. Face it! Get your hands dirty!
[Update-Update]
some code to start with: http://github.com/sstrigler/mod_tweet/tree/master