Issues with Custom Smileys Implementations
Disclaimers:
- I am not a Usability Expert, these are just my opinions on MSN Custom Smileys.
- I use a Mac for personal computing.
- I am not a fan of the official IM Clients of any of the networks, I use Adium.
- I only use Windows at work.
Background:
MSN is the dominant IM Network in Puerto Rico. Apparently, due to the absence of an AOL pressence as an ISP in the island, AIM never really gained a lot of traction, so when the time came to dump ICQ for something else, everyone started using MSN, since it was already installed on most computers, why not?.
I already had an ICQ account and I opened an MSN account to IM with my friends, and later created an AIM account to chat with my US based friends. Because of this, I always used a multi-protocol client, Trillian when I used a PC, Gaim on linux and now Proteus/Adium on OS X. I traded feature completeness for simplicity, which in my mind is a fair trade off.
Now, most of my friends share my technological points of view, and do not use these features, making them hard to notice for me. At the moment I am running the official MSN client on my work laptop, mostly because I am too lazy to go and install another one. This should explain why I am ranting about a “feature” that has been available for some while now.
The last Drop:
Today I was talking with a friend who shall remain unnamed. he/she apparently installed a lot of custom smileys on her MSN client, which ultimately led to me not being able to understand a word she was saying. he/she had smileys for single letters, question marks, syllables, the works.
The problem is that the smileys did not make contextual sense to me. In the middle of a word, there would be a smiley laughing, at another point there was a stick figure. What was she trying to say, I had no idea. To me this totally defeated the purpose of trying to have an IM conversation. One of the main benefits of IM is that it is easy to understand and process what the other party was trying to say, and these smileys totally destroyed the benefit.
The origin of emoticons (AKA, Smileys)
The internet is mostly a text based medium. Because of this, there are no visual cues, as in common conversation, that can give context to what you are actually saying. The absence of context turns into an issue, as it is hard to display emotions or tones to what you are writing. In a blink of an eye, emoticons were born.
Emoticons originally were text only. :), :(, etc. Then, popular IM clients included a set of icons and substituted the text sequences for these icons. I find it important to note, that up to this point, emoticons were mostly a stand alone thing, being totally independent from other words in the sentence, never in between.
The Case for Custom Smileys:
I think a part of human nature is wanting to leave our mark on everything we do. We try to customize everything we can. This leads to things like PC Towers with windows, tricked out cars and in the case of MSN Messenger, Custom Smileys.
I can perfectly understand a PM thinking that custom smileys would be an excellent feature for their chat program, but it is important to note that the primary function of a chat or IM program is to allow its users to communicate. All other features should be secondary to this.
Sadly, the current implementation of custom smileys can seriously hinder the ability to communicate with your contacts. Here I will try and explain my mayor complaints of custom smileys.
Usability Issues with Current Implementation:
Custom smileys can be arbitrary images
An important quality of emoticons was the fact that everyone knew what they meant. If someone sent me a :), they were happy, a :( was sad, ;) might denote sarcasm or some sort of inuendo. They were all pretty clear and at first glance everyone understood them.
In MSN Messenger, a custom smiley can be any arbitrary image, including animations. Because of this, most custom smileys are devoid of context and do not contribute to the conversation any more than sending your friend an image. This destroys the primary quality of emoticons, which makes me wonder what’s the point.
Another issue with this is that unsuitable images might be used as custom smileys, which opens up another can of worms.
Custom Smileys can be mapped to any character sequence
The original set of emoticons were mapped to characters that where uncommon in normal speach, i.e. non alphanumeric characters. Punctuation characters, parenthesis and colons/semi-colons were used. This meant that even if chat and IM clients substituted these characters with images, the context and normal conversation flow was not lost.
On the other hand, custom smileys can be mapped to any character string the user can imagine. A user can map lol to a laughing smiley, what? to a question mark, etc. Thanks to this design principal, custom smileys can have unintended consequences and seriously disrupt the flow of conversation.
Imagine the case where someone tells me they are having a lolipop, if they had a custom smiley for lol, I would see ‹CUSTOM SMILEY›ipop. where ‹CUSTOM SMILEY› could be any arbirtrary image. Now, extrapolate this to someone with many custom smileys installed, It would be pretty hard to actually communicate with them, since the custom smileys would be appearing in between words, and may not be easy to guess the character sequence that the smiley was mapped to. IM/Chat conversations would turn quickly into an annoying game of pictionary.
The original text of the custom smiley can not be accessed
To make matters worst, I can not see the text only version of the message. At some point in time, I can disable smileys, but that would not change the messages that were already transmitted. I would have to ask the person I am talking with to resend the previous messages, just to understand what they meant.
Large smileys slow down the IM conversation, taking time to load
My last issue with smileys, ties together with the first. The arbitrary image can easily be a large image (file size or dimension wise). Theses images can take a long time to download and render and they can also shift the conversation, making it hard to read what was said before the image without constant scrolling.
This provides an easy way for our annoying friends to ruin the IM experience for us, and again, makes it harder to communicate.
Recommendations:
It is easy to sit back and criticize the work of others without providing feedback as to how it can be improved. Next, I will provide some ideas that might mitigate the burden that custom smileys place on easy communication.
Don’t let custom smileys appear in the middle of worlds
This one should speak for itself, emoticons stood alone, custom smileys should inherit this trait. By making custom smileys their own “words” they would stop interrupting the conversation. The easiest way to implement this would be to only substitute the character sequence that is surrounded by whitespace.
Delimit custom smileys
Similar to the previous recommendation, with a different implementation, possibly inferior. Have custom smileys be delimited by certain characters, an example could be that a custom smiley should look like an xml tag, so instead of lol, you would need to type ‹lol›. This would allow users to place custom smileys in the middle of words, if they wish to, but also means they need to remember to delimit the character sequence.
Limit the size of custom smileys
Both file size and image dimensions should be limited, guaranteeing that custom smileys will not slow down the conversation. If the image is too large, the IM Software should scale it before transmitting it to enforce these limits.
Make it easy to get the original text of the message
Provide an easy, visible way to toggle custom smileys. This should re-render the current conversation window and provide a text only view of the conversation.
Final Note
Wow, this went for long enough. As you can see, custom smileys touched a nerve. I am not saying they don’t serve a purpose, I just think that the current implementation hinders the primary function of the programs that implement them. I find them akin to operator overloading in programming languages. When used judiciously, they can make code easily understandable, yet most of the times, it is hard to guess what the operator actually does.
Technorati Tags: MSN, instant messaging, social software, microsoft
February 28th, 2006 at 4:32 pm
Holy fucking shit you took your time to write all that crap just for some fucking smileys? Whoa!