Idea about emoticon cache

Mark Doliner mark at
Tue Mar 20 04:19:01 EDT 2012

High level comments:
I'm not very familiar with the motivation or use cases behind this
project.  You've given a lot of information about how the cache would
be implemented but haven't really talked about how it would be used in
Pidgin.  It seems like the implementation would be somewhat dependent
on how it's used.

In a final project proposal I think I would like to see a list of
places in Pidgin where this cache would be used.  Which protocols
could take advantage of it?  What are the benefits to the end user
(i.e. new functionality, less network traffic, better user
experience)?  What are the drawbacks for the user (i.e. increased disk
usage, more complex UI, possible security problems)?

A few more specific comments follow...

On Sun, Mar 18, 2012 at 10:47 AM, zhang kai <kylerzhang11 at> wrote:
> I consider to save all emotions into a single zip compressed file. The file
> is formatted like this:

I agree with Jorge that it seems like it might be easier to store each
emoticon in its own file.  It seems like combining emoticons into one
file makes this MUCH more complex than storing them separately, and I
haven't seen a strong justification for combining them.  It sounds
like you're almost creating your own data storage format, at which
point I wonder, "maybe it would be easier to just store them in an
SQLite database?"  But again, it seems like using simple files and
possibly a directory hierarchy would be easiest and least error prone.

> The main question is what kind of URI pidgin used to identify emoticon? Does
> it vary from protocol to protocol? Where could I get the documents or source
> code about it?

Simple emoticons are sent from protocol plugins through libpurple and
eventually to the UI as a normal text sequence in the instant message.
 For example, if I received this IM on AIM:
"Hello there :-)  The weather outside is nice"
The oscar protocol plugin would pass that text to libpurple verbatim,
and libpurple would pass it to Pidgin verbatim.  Pidgin would replace
:-) with the appropriate image file when it displays the text in the
IM window.

I'm not familiar with how MSN's custom emoticons are implemented, so I
can't help you there, but I suspect it's different from what I just

More information about the Devel mailing list