Mimicking Jaiku with Psi

The day before yesterday, Peter Saint-Andre sent out a couple of Jaiku invites to all Jabber Google Summer of Code students and their mentors, including me. Never having looked at microblogging before, I toyed around with it a bit, and it quickly reminded me that I still had something on my Psi wish-list for a while now: a flat, live log of all Jabber events in your network. Since I had a long weekend, I quickly coded up a prototype, and hooked it into Psi.

The result looks a bit like this:

If you know Jaiku, you’ll probably notice that this looks very similar to the Jaiku web interface. Besides status messages, there are all kinds of (extended) presence events from your contacts, such as the currently playing tune or his/her current mood. Groupchat (`channel’ in Jaiku) and directed messages are interleaved with the events, and get a hyperlink which, when clicked, opens up the corresponding groupchat or chat dialog. This type of event log allows you to have a good overview of everything that is happening in your Jabber network. And if your log gets cluttered with groupchat events, you can always disable groupchat events (or any other type of event) at the top of the dialog, with a more compact log as a result. Finally, just as with the Jaiku Jabber bot, you can quickly reply to the last event from a certain user at the bottom of the dialog. 

When will this prototype be production-ready, you ask? Well, I’m actually not planning to invest any more time in it in the near future. The reason is that Aleksey Palazchenko (aka AlekSi) will create a brand new history system for Psi for his Google Summer of Code project. I’m pretty sure his new history system will enable us to get a global live history of events, together with filtering based on type. And if we still need some extra functionality, we could always create a plugin.

Tags: , , , , , ,

5 Responses to “Mimicking Jaiku with Psi”

  1. milk says:

    fantastic work, what a wonderful idea.

    re jaiku; has facebook not had an aggregation of friends activity streams(/lifestreams/tumblelog/thumbcast/sideblog/etc) from the start (albeit from within the facebook walled garden (although there apps for notification of things like twitter/del.icio.us/rss/etc these days, but still..))?

    a question i’ve been pondering for the last couple of weeks is how to reconcile jabber user activity with the concept of microblogging. as yet, i haven’t seen a CMS that does the job of Twitter in that CMS. many have microblog/activity stream aggregation (Movable Type does it in the core as of a few weeks ago (http://www.movabletype.org/team-activity/) and WordPress and Drupal have aggregation plug-in/modules (http://kierandelaney.net/blog/projects/simplelife/, http://drupal.org/project/activitystream, although I’d give it 3-6 and 9-24 months respectively before it’ll be in their cores)) but that’s not the same (there is the Prologue theme for WP but that’s only the look not the backend).

    anyway, once data portability comes of age, i’ll have the chance to sync my jabber user status with my blog’s user status/twit/”public sms-like string”/etc feature via pubsub (http://diso-project.org/wiki/xmpp-messaging-core) [and maybe oauth in some manner for with external services]. on twitter, people communicate back and forth with their twits (“@…”). on jaiku there’s a comment system for each individual item (random example for those who haven’t seen jaiku in action; http://gauravkanoongo.jaiku.com/presence/28252479). i’m left wondering how the flow of activity data, plus replies to that activity in whatever format, will work between such services. currently XEP-0163 (Personal Eventing via Pubsub [for google]) includes an ‘id’ value but doesn’t specify how this value comes about – might it be an idea to make this something unique so that it can be used to link between the instance of the activity on jabber with the instance of the activity on my wordpress? thoughts anyone?

  2. vArDo says:

    Remko, great idea and looks really nice. I think I’ll post a ticket about this solution on Gajim’s Trac ;)

  3. halr9000 says:

    Very cool. But can it do twitter? :) Ugh, I hate the proliferation phase, I’m ready for the consolidation phase. Which social-network-of-the-day do I choose?

Leave a Reply