[GSoC] Proposal: chat log backend rewrite

Tomasz Wasilczyk tomasz at wasilczyk.pl
Wed Mar 21 05:07:28 EDT 2012

This is my proposal, somehow related with proposed GUI improvements:
we could take advantage of 3.0.0 API break and implement a brand new
chat log backend. I can implement this, but (as I said many times
before ;)) I would prefer to do some gg prpl improvements.

Anyway, it should be done before refreshing GUI of chat log viewer. I
think, both tasks (chat log backend rewrite and GUI refresh) can be
done as a one not-so-small GSoC project.

New chat log engine should support:

- xml storage - it's flexible and de-serializable, it could handle any
protocol-specific meta-data

- marking messages as unread, so they could be re-opened after
Pidgin's restart. It would prevent from loosing any messages due to
unexpected system shutdowns. Now it's almost impossible to search for
them from chat log window and it's pretty annoying to search directly
among txt files. It's one of the most annoying things in Pidgin for
me, and I miss such feature since I migrated from previous IM client

- conversation context - as far, as I know, adium now supports
something like that - it displays few messages from last conversation

- inline images (and custom emoticons?) storage - now all of them are
lost after closing conversation window; it would be also useful for
conversation context feature

- old formats import/export (html, text) - users probably wants to
keep their old chat log archives

- search index - to make searching faster, obviously

- remote storage support; at least some API changes to make it
possible to do this as a plugin

>From the GUI side, the most important things (from mine point of view) are:

- browsing by meta-contacts - it should merge logs before browsing,
not after logging conversation. That means, if you join some contacts
in one meta-contact, their logs will join. When you split it, history
will split

- responsiveness while searching (and maybe some progress bar? it
would be nice new feature for request API)

- search results shown (optionally) as in Notepad++ (all found entries
in distinct lines, on one page)

- switching visibility of buddy status changes - now, it is only
possible to configure saving it in log, or not

I think, some of the features may require backward-incompatible API
changes, so 3.0.0 milestone can be a chance to make Pidgin a bit more
user friendly. I think especially about unread messages handling and
conversation context.

Tomasz "Tomkiewicz" Wasilczyk

More information about the Devel mailing list