Searching through Instant Message History

In my previous blog entry on Gmail, I commented that I would probably only use it to quickly find an old email, as IMAP server that I am currently using does not provide such capability (hint: an open-source IMAP extension that can perform indexing and full-text search would make my day). Another medium that I frequently used for communication is instant messages - be that MSN, ICQ or Yahoo. Most of them would keep a client-side message history where you can search through your old chat sessions. Personally I found it is very helpful, as I usually get lots of to-do's, URL's, meaningful conversations, etc from IM. However, client-side message history implementation can also be frustrating.

  1. Whenever you reformat your hard drive (which can be frequent due to the inability of your operating system of choice to keep it stable), all your history is lost.
  2. Changing to an alternative client of the same protocol does not automatically migrate all the client history.
  3. Using a different computer accessing the same IM network under the same account cannot access the message history on another computer.

Jabber Logo I guess point 3 is especially annoying me, as I constantly change to different computers at home and at work. Sometimes I remembered that I've received a particular message from a friend, but I just cannot remember on which computer did I received it. Or possibly, it is in the message history of another compatible IM client on the same computer! That drives me nuts sometimes.

Only if Jabber ever implements server-side message history with full-text search in their open sourced Jabber server, I would definitely switch over!

... not that I am not using Jabber at the moment. Been running a Jabber server of my own for 3 years and it has consolidated all my rosters under different IM networks. But I still need it to consolidate all my message histories on the server side.

Updated: Just installed Bandersnatch on my own Jabber server, and it logs all messages to a MySQL database, which I can then use the full-text search to find the info I need. Quite neat.

Unfortunately, when I tried to move the contacts around I accidentally remove subscription to many my ICQ and MSN contacts. Even though the roster said that I am subscribed to them but the presence would not update when people come online/off-line. Doh. I'll try to manually re-subscribe all of them again...