Google Summer of Code: My Idea / WebKit

Ka-Hing Cheung khc at
Mon Mar 16 19:34:32 EDT 2009

On Wed, 2009-03-11 at 20:52 +0100, Marcel Jaeschke wrote:
> # My Idea:
>         User like themes and customization. They want software which is
>         looking good (not everybody). So my idea based on the target to
>         give this the message viewer via WebKit. Up to now pidgin shows

Is the project about replacing gtkimhtml with webkit only in the log
viewer, or in general? If the latter, I hope you've familiarized
yourself with the webkit plugin that Sean Egan wrote (someone who has
access to a recent version should probably put it up somewhere).

> # How it will works and what is customizable?
>         The big disadvantage (for me it's more an advantage) is that we
>         had to change the history design. If we only use HTML so XSLT
>         will have no sense. So we have to change this to XML, by the way
>         we are able to save more useful meta data.
> # The XML
>         Of course, XML has a little overhead. If there is a real lost of
>         performance I can't say, but I think WebKit will handle that for
>         us.
>         Here is an early draft of the XML file.

Note that there was once a XML logger in the source but was not compiled
in, and looks like it's been removed. You may want to look through the
revision history to compare that with your format.

> # The XML – advantages
>         But there are much more advantages:
>       * Customization:
>         Lets choose the user how they want to see the messages. We have
>         the history and the user has a theme (XSLT for the XHTML and CSS
>         for the Layout) so WebKit combines all this and we have a good
>         looking message viewer.

Again please look at the webkit plugin. Whatever theme format that you
end up choosing should be compatible with existing themes.

>       * Synchronization:
>         I use pidgin on several machines. Every installation has their
>         own history. Putting this correctly together is up to now
>         impossible or very hard in pidgin. With XML we introduce a fixed
>         time statement. Based on this statement we can sort the several
>         histories.

rsync works pretty well in this case already.

>       * Real multimessaging:
>         Every account has its own history, but sometimes I talk via
>         jabber and on the other day the buddy is only available via ICQ.
>         So I have to remember which my last used account was to open the
>         history of the last chat. With my idea we have only one history
>         per buddy.
>         To avoid misunderstanding: I will only combine the histories of
>         the meta-buddies. It's easy to separate these buddies again
>         because we use the account data in the history not the alias
>         name.

Pidgin does this already.

> # Storage of the History
>         We will collect a lot of data so the storage is important, too.
>         XML will have a lot of redundant information.
>         I prefer a simple Database (sqlite). With a good table design we
>         can reduce the redundancy and with a database we support much
>         better histories. For example: Show from my last chats the last
>         two hours or in IRC you want only to browse the messages from
>         two persons. You see that you can do a lot of things!

Please, don't store XML logs in a SQL database. Please.
Also please look at past effort to store logs into a database, perhaps
the remote-logging branch from last GSoC.

>       * (1 Week / Mai 30)
>         Replace GTKHTML by WebKit.

Note that pidgin doesn't use GTKHTML.

> Any questions left? So just ask me!

I think you are trying to tackle two things here, one is the
presentation (Webkit) and one is the storage (XML, sqlite, log syncing).
It sounds like you are more interested on the presentation side (correct
me if I am wrong) so maybe you want to just put your effort on that
instead. Since you don't want the content of conversation window to look
too different from that of the log viewer, you probably want to replace
gtkimhtml everywhere with webkit anyway.

I suggest that you try to hunt down a copy of the webkit plugin source
and see what the existing issues are, and then re-evaluate your project
scope. Basing your work on the webkit plugin will give us themes that
already exist via Adium themes.


More information about the Devel mailing list