2009-03-16

Use XMPP for microblogging?

I had something interesting happen to me today: people noticed my status message on Google Talk. Normally I figure no one really pays attention to status messages for IM beyond whether someone is online or not (we all know people who are always listed as away or have not changed their status message in ages). But for some reason today I decided to use my status message to bitch about the car issues I was having.

And people responded. I had various friends IM me throughout the day inquire about what was going on (short answer: transmission is shot and the repair bill is more than the value of the car, so I am trying to get the car recycled; not easy when you drove down to visit a parent in another country). It reminded me of what can happen when I post to Twitter or FriendFeed when I get to have a topical conversation about what is going on in my life that exact second; instantaneous blogging in snippet form. And it was nice to get to have a conversation with some friends about what was happening. That's something I don't necessarily get to have on Twitter since the threading of the conversation gets all out of whack. And unlike FriendFeed the conversations were private and happening in real-time.

But the other nice thing is that these conversations were with people I normally don't get to interact with on a regular basis online. Typically I interact with people online through FriendFeed, Twitter, and Google Reader. IM has a much broader reach than any of these newfangled services have.

For me, the difference between the former services and IM is one takes more proactive participation while the latter is usually only for when I have a specific need or desire to talk with someone. If the people I follow on FF or Twitter post something I will eventually see it when I actively check the application (although obviously you can use notifiers so that the engagement is passively triggered). But with IM, it is typically relegated to the background, sitting there until either I initiate a conversation with someone or vice-versa.

And yet today that didn't happen. It makes sense that ones status in the world at any moment be tied to their IM persona. I mean my status of being online or not is listed in IM, why shouldn't what I am thinking about or reading also be displayed? We talk about microblogging and lifestreaming services, and yet the one service we all use that portrays our status online is not doing more than showing a green, red, or gray dot next to some picture. It feels like an unneeded disconnect to me that my IM persona does not tie into what else I might share with the world at that moment.

There is also a case that IM is a better model for microblogging/lifestreaming. It's very much a push model; I decide to say something to the world, it gets pushed to the people who care to listen. And yet all of these other services use a pull model to get the information. Why should my Twitter client have to refresh to find out that there is something new to read? Can't it just be pushed to me? Can't the pull from a web site be a side-effect of providing access while the actual system is push?

If you listen to FLOSS Weekly episode 49 you will hear Peter Saint-Andre mention how he thinks XMPP is a good system to use for microblogging. I personally buy his arguments. Apparently I am not the only one as people have blogged about this idea and gone as far as to sketch out a proposal of microblogging over XMPP. But what exactly would microblogging tied to IM act like?

First thing first, though, is to realize how microblogging versus IM is different. For one, anyone can follow me on Twitter or FF but not on IM. If some stranger wants to follow me on FF that's fine, but I don't necessarily care when they are online or want to have a personal conversation with them. So any microblogging service would need to make the idea of subscribing to one's microblog feed separate from getting to interact with them directly over IM. Another difference is the temporal nature of IM status messages versus microblogging. When I change my IM status, that last one vanished into the digital ether. But for microblogging, I don't necessarily want that to happen. So a ticker would be needed to keep track of the messages that have happened throughout the day that I may have missed.

So what are the benefit of tying microblogging to IM? For one, I could easily respond directly to someone about something and have a truly real-time conversation with them about it. Yes, Twitter has direct messages, but the fluidity of an IM conversation, I feel, is much better. It also simplies things by not forcing me to run yet another service.

Jaiku actually tried this approach somewhat. While being a lifestreaming app, they also had their S60 client which updated your online status and your location in the world. But I don't think it included IM services which would have been nice.

Or maybe all I really want is better support for longer IM status messages. What I honestly get out of Twitter is what people are currently up to and some conversations. If longer status messages could easily be displayed and a public group chat around my status message could take place that would be close to what I get out of Twitter with the only thing missing is people overhearing my public conversation.