The user interface dance
Way back in Once Upon A Time time - well, maybe not that far back, but
Windows was still exclusively a 16-bit operating system - Microsoft had a book
on user interface design for Windows. I can't find my copy just at the moment
(if you could see my book shelves and book heaps, you'd understand why), but one
lesson that I took home from this book was the importance of consistent user
The way I learned it, there are huge benefits to having a standard look and
feel pervade every application on the box. Imagine you liked in a world where
nothing was standardized: how would you save a file or close an application?
You'd need to spend ages hunting through menus and clicking on widgets, hoping
to find the one that the developer had associated with the bit of functionality
you were looking for. If you were lucky, you'd be able to remember how four or
five applications worked, and adding something new to your mix would be
unbelieveable tedious. Fortunately, of course, we don't live in that world.
Saving files is done from the File menu, and closing windows is done with the
little X in the upper right corner.
Or at least, that's the way that it used to be. In recent years,
though, I've seen more and more applications escape from the standard look and
feel to go their own way. WinAmp may not have been the first of these, but it
certainly did the most to publicize something I consider an abomination in user
interface terms: skinning. With skinnable applications, you can replace the
standard widgets with alternative ones, based on some graphics designer's notion
of what looks pretty instead of what is necessarily standard or functional.
Throw in three or four differently-skinned applications to your daily mix, and
you might as well be living in a nonstandard world. Fortunately most developer
applications have avoided this particular trap.
However, skinning is hardly the only, or the most prominent, problem here.
The main culprit in the apparently-relentless slide from standards to chaos in
the user interface arena is none other than Microsoft itself. Both of the big
cash cow operations, Windows and Office, have succumbed to an apparent inability
to keep the user interface stable for any serious length of time.
Office has long been one of the worst examples of what I call "tail-fin
programming." If you look at the progression of Office from Office 97 to 2000 to
XP to 2003, you'll see that the way menus and toolbars are painted changes each
time. There isn't any change to functionality, only to the way that things look.
This is eerily reminiscent of the automobile industry in the 1950's, where each
year's model sported different tailfins or redesigned wheel wells. The
industry's goal was to make you feel that your current care was somehow
out-of-date, and that you needed to trade up to the new model before all your
friends started making fun of you. Office appears to be in the same mode (or
maybe they just have too many idle UI design hands on the staff).
Then there's Windows. We've gone from Windows 3 to the "new shell" on Windows
95 and NT 4.0 to the XP look...and now Longhorn is looming. There is indeed UI
functionality in Longhorn that wasn't present in previous versions of Windows.
But there is also an awful lot of gratuitous "chrome" that seems to exist only
to justify the purchase of increasingly-overpowered graphics cards and the
employment of developers to come up with clever tricks.
To my mind, there are two insidious effects of this constant cycle of user
interface change. First, of course, you need to keep retraining users (and I
know how fun most developers think that particular job is) so they'll know how
your application works on the new operating system. Second, every time Redmond
changes, everyone else feels compelled to keep up. Component companies put out
new suites of controls to emulate the latest "emulations" and developers stay ip
late so that their applications, too, can look "modern." Imagine how much more
functionality we could have if getting exactly the right shading on caption bars
didn't waste our time.
Or maybe I'm just a curmudgeon. Hey, can someone come up with a Windows 3.1
skin for my Longhorn system?
Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.