Sean Egan's Blog
The Power of Momentum
After a long wait, we finally launched Pidgin 2.0.0. Surprisingly, almost everything went down exactly as I anticipated. This includes the small, vocal minority who are adamently against our decision to demote what protocols your buddies use to second-class information, giving full attention to their presence information.
I suppose not everything went precisely as I anticipated. I foresaw the inevitable backlash, and wrote this to explain the rationale. I naively thought a lot of people would read the reasoning and be instantly convinced. Maybe they have, but there remains a very strong, vocal, minority convinced that they need to know what protocol their buddies are using. I figured I'd write a little historical background about the issue.

The original versions of Gaim (what Pidgin was called way back when), didn't put any thought into what icons to show. Gaim was originally an AIM-only client, and the AIM servers we used served the icons to us. As such, we had strange icons nobody understood. That gray dot you see above means 'unconfirmed AIM user,' or maybe 'confirmed AIM user.' I have no clue what the icon for "ICQ Alias 1" is supposed to be.
Since we already had four 'available' icons just from the ones AIM provided (confirmed, unconfirmed, AOL user, and Admin), when we added more protocols, it made sense that we might have tons more available icons. As you see above, we had Yahoo, Napster, and Jabber icons to represent their 'available' states. States other than 'available' did not retain protocol information; they used the standard 'away' icons.

This philosophy remained the status quo, even as we got newer (and more sensible) icons. We never really explicitly decided that protocols are important; we just followed the AIM model that the 'available' icon identifies the type of account and that other icons indicate their own state.

We completely re-wrote the Buddy List for version 0.60, the most significant release prior to 2.0.0. With it, we changed the way status icons were generated. Now, the protocol icon was always there, and other states no longer replaced it, but overlay onto it. This change was hugely contended at the time. There was just as similar a vocal minority about introducing protocol icons as first-class citizens as there now is about removing it. People dislike change.

For the past few years, it's been basically impossible to read a discussion about Pidgin or Gaim without someone mentioning that Adium has the best user interface of anything ever imagined by mankind. I've never used it, myself, but I still recommend it to anyone looking for Pidgin on OS X.
Back in November 2005, someone wrote to the gaim-devel mailing list that he doesn't like the large number of icons on his list, and would prefer if buddies only had status icons if they were not 'available.' I wrote back saying that, obviously, the protocol your buddy is using is very important, and something you definitely need to see at a glance.
Within minutes, two Adium developers replied to me, asking why I would ever think that protocol icons are important. I gave the same reasons I've been hearing every day since 2.0.0 was released: protocol features vary greatly, and it's cruical to know what feature set you'll be working with. I even came up with some other valid arguements, some of which I haven't heard regarding Pidgin yet. Anyway, they defended their award-winning UI and eventually I realized I was wrong, and that I truly didn't need to know, at a glance, what protocol my buddies use.

When we started looking for an icon designer to rehaul the visual style of Pidgin, we decided to give that designer as much control as reasonable. The designer we chose, Hylke Bons, realized that overlaying status emblems on top of status icons led to an inconsistent jumble of colors and shapes, and greatly hindered the subtle ability to pick useful information out of it. In fact, all of the designers we talked to recommended this change.
Since the Adium guys managed to convince me I didn't actually need protocol icons as much as I had convinced myself I had, I was ok with the change. Of course, a bunch of the other Pidgin developers were just as convinced as I was. However, within time, everyone has come around to appreciate the change.
So, you can probably see how I anticipated that some people would violently disagree with this change, and this is the power of momentum. When protocol icons were introduced as first-class citizens, they were hated by people who were familiar with the older style. Now that they're gone, their absence is hated just as strongly. And despite the criticisms that our UI should be more like Adium's, we're now criticized for having a UI that is more like Adium's. If we had only the foresight to have never introduced protocol icons to begin with, we wouldn't need to have this debate.


