News

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 interface design.

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?

About the Author

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.