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

7 Responses to xmpp and microblogging - let’s do it! »»


Comments

  1. Comment by Lech Karol Pawłaszek | 2008/09/09 at 10:26:10

    Why it is to be added as a contact not as a service? Just curious.

  2. Comment by Steve | 2008/09/09 at 10:45:44

    Oh. Actually there’s no difference. I called it a contact, XMPP doesn’t know of which type it’s items of a roster are. I could also have called it an entity. The service will/should be implemented as a component (i.e. service), though it might look/act like a bot (having a jid of foo@tweets.example.com - to not confuse users).

  3. Comment by stpeter | 2008/09/09 at 18:42:42

    I’m happy to update the xmpp microblogging proposal and get the XSF to publish it when the next XMPP Council convenes. BTW are you on identi.ca/laconica?

  4. Comment by Steve | 2008/09/09 at 19:27:20

    No sorry, it’s http://twitter.com/zeank (mostly german …) for the time being ;)

  5. Comment by Dr. Azrael Tod | 2008/09/09 at 23:17:20

    another idea i was waiting for since all these microblogging-fanatics popped out everywhere.
    xmpp is just perfect for this kind of use! Its so sad there are so less clients implementing PEP and Pubsub right… and i dont even start to talk about serverside. -.-

  6. Comment by kael | 2008/09/10 at 01:40:42

    The proto-XEPs Communities or Distributed MUC could perhaps be used for distributed/decentralised microblogging maybe using a Pubsub format.

    Wondering if the Ejabberd-AtomPub module could help as it allows mapping with AtomPub repositories and simultaneous publication over HTTP and XMPP, and provides a REST API.

    You wrote “there are no PEP aware clients out there yet”, but unless I’m missing something, several clients support PEP like Psi, Gajim or Tkabber (and, I think, Coccinella).

    This looks like a good and concrete initiative, anyway. Gotta test your code.

  7. Comment by Steve | 2008/09/10 at 10:16:21

    kael, thanks for the pointers. I’ll setup a wiki today to collect all of this informations regarding microblogging.
    And yes of course you’re right, there are clients that support some PEP based stuff. I should have been clearer here. I meant some sort of microblogging based on PEP. As there’s no official standard yet (see stpeter’s post) there are no clients supporting it.


Leave a Reply »»