Thursday, May 17, 2007

The use of arbitrary status icons in Pidgin

Before I go any further with this post, I want to make a couple things abundantly clear.
  1. I have given up on this argument; I am expressing my opinions solely for posterity.
  2. I don't care about right or wrong, because in this debate there is no right or wrong, no matter how strongly I feel my own opinions are right.
  3. I do not want to start another flame war in the Pidgin camp; I inadvertantly caused the last spat on the mailing list by speaking up in the XMPP chat and wish I had kept my mouth shut.
In the text to follow, my recollection of history may be slightly incorrect; the exact history isn't important here. Only the general context matters, which what I present here is intended to illustrate.

IM applications use arbitrary icons for pretty much everything. This started ages ago with whatever IM client happened to be the first to use icons. I got my start on IM back in 1999 with ICQ. I believe I used ICQ 98b at first, then 99a and 99b, but can't recall at the moment. Whatever versions I used, they all shared a common feature--a fixed set of icons that meant something. For example, a green flower (the ICQ logo) meant said contact was online. Several other icons existed that I don't care to do research on to verify. The point is that these icons were chosen arbitrarily for whatever reason.

I next ventured into the world of AIM. When I started, AIM was still at some ridiculously primitive version compared to what we see now. I believe the version was 3.0.something. AIM used no logo on available buddies--they showed up as normal text. Idle buddies were dimmed--grey. Away buddies used a notepad icon. I can only assume the notepad was a reference to the sticky note left on the office door by some when they step out. As an aside, note that my introduction to AIM came before server-side buddy lists were actually used. I don't know if the capability actually existed at that point or not, but it certainly wasn't used.

Next I moved into Yahoo! Messenger. This application used their logo, a bright yellow smiley face (coincidentally only resembling the Wal-Mart smiley face in shape), to indicate available. Idle contacts were again dimmed (greyed). At this time Yahoo had no real sense of what Away truly meant. There were a ton of statuses, probably 10 or so; but while their names indicated that they meant away, they shared their icon indicator with the "busy" status--the yellow logo with a red sign in the lower right corner. You could set your own custom status messages, but the only thing you could do to even come close to visibly showing away status was to set the "busy" flag on the message you typed.

By this time, we're into early 2001. I had just been introduced to Linux via a classmate who ran SuSE 6.4 on a Sony VAIO. I started experimenting at home and finally got online with Linux (at this time I used Linux-Mandrake 7.2--those were interesting times!). I used official linux clients for a while for AIM and Yahoo. I found licq for ICQ. I disliked all of these applications for various reasons.

I had been experimenting with GAIM at the time (yes, in this case that capitalization was correct). Version 0.43 was installed on my machine. I don't recall how, as Mandrake 7.2 shipped with 0.48. I was a clueless newbie at the time and couldn't really figure much out but was eventually able to get online. I then stepped up to GAIM 0.48, then 0.53. From there I continued the upgrade path. All through these versions of GAIM, the available indicator seemed unimportant. What matters in the scope of this post is the away icon--it was the same notepad icon AIM used. It seemed natural, as this was primarily an AIM client.

I happily contiuned along the upgrade path--0.54, 0.55 ... 0.59 ... 0.59.9, 0.60cvs from Sourceforge's nightly CVS tarballs, 0.60 ... 1.2.o, and finally onto CVS HEAD once it became functional. Somewhere along the line there GAIM became Gaim. It was somewhere after I started using CVS HEAD that I started contributing to Gaim. At any rate, Gaim continued to follow the paper == away concept, and had gone to prpl icons to indicate available and dimmed prpl icons to indicate idle.

Now, during this time, I just took for granted that paper meant away because it's what i'd seen for so long. Now that Gaim has become Pidgin and changed its artwork, I find myself displeased with the icons for both Away and Extended Away. I have grown accustomed to the clock == away metaphor established here, even though I disagree with it. Now, this is not to say that I find the paper an adequate away icon, but more on that later. Also changed is the sticky note icon is now a sheet of paper (no complaints there). That icon, however, was moved to represent the Extended Away status. I don't agree with this assessment either.

At minimum, I would prefer to see the icons' positions switched. A clock indicates time, of course. A compelling argument is made in favor of using the clock for away, as most definitions of away do deal with time. The same arguments can be said for extended away. All these arguments are perfectly valid. I can't disprove them or rebut them with anything but my own feelings.

I feel that the clock would be a more adequate representation of the "idle" status, by indicating that it has been some time since the remote user sent a message or touched his/her keyboard or mouse. I also feel that the paper fits neither away nor extended away. I would propose a sign, similar to Adium's away sign, for extended away. I justify this proposal with an argument Sean Egan himself made in favor of the paper--if a shop owner closes shop for the winter, he puts a sign on the door saying "closed till spring" or somesuch.

As for the away icon, I've been thinking about that for quite a while now. Initially I thought a red circle with an X in it might be good, but that's a better representation of "busy" or "do not disturb." A yellow circle with some sort of symbol or something inside might work, but would be hard to distinguish from a white background and impossible to distinguish from a yellow background. In a fit of smart-alleck tendencies, I sarcastically suggested a big red A in the XMPP chat. Dumb idea. Finally I came to a blue icon of some sort. Not necessarily a circle, but not necessarily any specific shape, either. It would of course need to be unique and identifiable. I would do some mockups of this myself, but I royally suck at doing anything with graphics.

In conclusion, I will say I'm dropping this issue from this moment forward. I've vented about it, so it's out of my system. I'll live with whatever icon decisions remain.

I hope that if anyone on the Pidgin development team reads this they are not offended by anything I have said here, particularly Sean himself. I don't intend any of the comments above to be inflammatory, insulting, etc.; instead, I intend them merely to be a final expression of my opinion as my way of accepting the current state of affairs with respect to the icons before moving on to bigger and more important issues.