Idea about emoticon cache

zhang kai kylerzhang11 at
Tue Mar 20 04:51:35 EDT 2012

Thanks for the comments.

On Tue, Mar 20, 2012 at 4:19 PM, Mark Doliner <mark at> wrote:

> 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)?

I will work more on how would emoticon cache be used then discuss it here
maybe during the weekend and certainly in the final project proposal.


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.

I have considered about this and yes I think comparing to the complex it
brings the single file format gains little benefits. I researched the
libpurple and found maybe I could use PurpleStoredImage in libpurple to
save the emoticons. Again I will work on this and discuss it during the

> > 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
> described.

I will try to figure out how other protocols implement the custom emoticons
through the libpurple source code.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Devel mailing list