Surely the ultimate purpose of Adium is to enable communication, and while I have to agree that it's good that Adium helps you forget about the different protocols, I think the emphasis with emoticons should be in displaying an emoticon in the way the sender intended.
I know emoticons are in essence just text, but since in every official client the text is replaced with a particular image then we should admit that they are now much more than just text (a picture being worth a thousand words and all that).
I don't know about you guys, but I personally don't always necessarily select the right
emoticon for my communication, I usually select the right
image, and my contacts seem to do the same. For example on msn I may use the 8o|
baring teeth image to mean
extreme smiley, or the
eye-rolling image to mean
*lost*, and usually the :-P
tongue out image has some innuendo. These meanings are all because of the specific images used in msn, so displaying these emoticons with alternative images would possibly loose these meanings. Also, aside from the meanings of the unique images, the emoticons may have completely different meanings on the different protocols: I just saw on my preview that msn's
eye-rolling seems to mean
cool on this message board!
Since the meaning of a given emoticon is not universal, and even for the ones which are, the meaning of the pictures used by the different protocols are not universal, I think replacing the different sets with an Adium 'super set' will mean that the emoticons' loose some of their meaning.
When already so much of a sender's intended communication cannot be conveyed over IMs (ie tone of voice, body language etc), and many of the new, ever-inventive method's of communication added to the official clients (like the whiteboard thing, winks, nudges etc) cannot be conveyed over Adium, I personally don't think that Adium should alter the parts of an intended communication that can be conveyed (without good reason), however minor they are.
So my thoughts on the matter are that Custom emoticons should be displayed if possible (for msn/aol), and if not then the protocols most recent default pack should be used. I think this enables the sender's communication the most effectively since emoticons are still sent as text and the senders actual intended emoticon image (including via their client and it's version) cannot be determined.
Another good point about Adium is that it gives users the freedom to set use their own preferences for many things - such as emoticons, so I think the best way to implement emoticons is exactly how it's done now - with the user able to set their own preferences. That way djmori could create her Adium 'super pack' and give it the highest precedence, this could even be a default setting but I personally think that would discourage switchers.
In addition, an Adium 'super pack' would not solve the fact that your contacts won't be able to see emoticon's not supported by their client until Adium is capable of sending all Custom emoticons over all protocols. A (partial) solution to this would be to only make available the most recent default packs for the current protocol for insertion in a conversation. I say
partial solution because people with older versions of the offical clients still obviously may have problems (at least then it's their 'fault' and not Adiums!).
As a suggestion to simplify the settings for new users: for the emoticon drop down on the appearance preferences tab, you could have three options:
1) Protocol defaults (- all the default emoticon packs would have to be included)
2) Adium Super pack (- with an image for every emoticon on every protocol)
3) Custom (- which would display the current Customize window in all it's glory)
I could understand if Adium was to have it's own pack selected by default, because as someone else previously mentioned - the 'localisation' of (none custom) emoticons for specific protocols is actually done by the clients, and Adium is a client in it's own right, and so possibly deserves it's own unique
default emoticon set. However I would have the protocol defaults selected by default so that the senders intended communication remains intact.