A discussion of ‘skins’ strangly free of sexual innuendo.

Prompted by a post on KirbyFerguson.com about Winamp, I will now rant about skins:

For those of you that don’t know, “skins” is a term used to describe a program that can have many different appearances (colors, shapes, etc.). Winamp is the ultimate ‘skinable’ program. It pioneered the skinable program. The trouble is, skins are evil. Let me explain.

When an operating system is being designed (think MacOS 9 and X, Win9x/2k, BeOS, etc.), a relatively significant number of talented user interface experts design a complete set of interface controls including buttons, dialogs, sliders, inputs, displays, etc. On most major operating systems, these graphical items are brilliantly designed. Sure, you may get bored of looking at the same ones all the time, but they were designed to be looked at for a long time. They are good.

Now Johnny programmer wants his new program to look as cool as he does. If he uses the boring old default Windows controls, how will the world know that he is totally x-treme? This is where skins appear.

Perhaps the idea is somewhat more innocuous in its origin than I have suggested. The idea of letting the end user (a mysterious beast as far as many programmers are concerned) customize their program seems like a neat idea. They can have they program look like they want it to.

The trouble with customization is that most end users can’t handle their new found power. Joe Winamp user never spent 2 year with test subjects perfecting the most intuitive possible slider control. The other major problem is consistency. You may have noticed that every time you press “Save As…” in a major program, you get a similar looking dialog box. This way, you don’t have to learn a new dialog in every program since they all perform the same function.

Winamp isn’t the worst skinable program out there since the controls change appearance, but for the most part, remain the same size and in the same place, preserving at least some level of consistency.

Programs like Sonique allow you to have the program shaped however you like, putting the controls in any arrangement. Even Microsoft, who of all companies you would think would appreciate the value of consistency since they built the OS themselves, has jumped on the bandwagon. Their latest version of Windows Media Player is as flexible as Sonique. What really kills me about it is that the ‘classic’ skin, which looks like the old version of Media Player with the default windows controls is actually just a normal skin like any other made up of bitmap images that fake the appearance of the default Windows controls. If I worked on default Windows controls at Microsoft, besides being much wealthier than I am now, I would be irate.

Another big culprit in the new skinable world is the Mozilla project (or Netscape 6, don’t ask what happed to Netscape 5, it went the way of Microsoft Word versions 3, 4, and 5). Mozilla’s browser is totally based on skins and does not rely at all on the the operating systems default controls. This makes it ugly and slow (bitmap images use far more memory than the default OS controls).

Mozilla claims to have a good excuse for using skins rather than operating system controls. It allows them to develop for more operating systems with much less customization and it allows a consistent user experience across different platforms. The problem with this noble sounding idea is that most users don’t use more than one operating system. Much more important than consistency between Mozilla on Windows and Mozilla on Linux, a switch most users don’t make at all and a few do occasionally, is consistency between Mozilla on Windows and Microsoft Word for Windows, a switch many people make a hundred times a day.

I would love to have a version of Winamp, which, as Kirby said, is a fast and stable program, build on the default OS controls. I would also like to see similar a version of the Mozilla browser (fortunately it’s open source and someone is working on this).

Ahh… I feel better now. Thank you.