Keeping the Good, Transcending the Bad
John Dvorak says that Linux developers need to be more innovative. Their GUIs look too much like Microsoft Windows. Ultimately, he may have a point, but I think his article misses a greater truth.
His basic case is this: The Windows user interface is ridden with deficiencies. Linux, with massively more programming resources than Microsoft, should be able to come up with something better.
However, his memory of history is selective. Among his claims:
- You’ll discover that all the flavors of Linux and the open-source software that runs on it are getting more and more like Windows. This is true only of the two major GUI environments: GNOME and KDE. WindowMaker, XFCE, and even the venerable CDE have their own ways of interacting with the desktop. As Larry Wall philosophizes about Perl, "There’s more than one way to do it."
- …none of it is quite as good as Windows-based software. Explain that to Samba users and administrators. Its stability is legendary, and it can be upgraded without a total system reboot. Only with Windows 2000 can Microsoft claim the latter. Other examples abound.
- In the 1980s, the term creeping featurism was coined. It’s now become part of the landscape. Except that, with Microsoft Windows, you have very few choices about the features you want to include. A classic case of that is the "integration" of Internet Explorer into the Windows 98 desktop (the design move that re-opened the US government’s antitrust action). Supposedly, at least according to Microsoft’s official documentation, Internet Explorer and the Windows desktop were so tightly welded, you couldn’t remove Internet Explorer without crashing the system. Linux has never claimed that about any of its features, beyond the kernel itself. In fact, Linux makes a fantastic antidote for those who are tired of what is now called the "Microsoft tax." If you don’t want it, you don’t have to get it.
- So just as Microsoft has copied Apple’s inventions out of necessity, the Linux community copies the inventions of Microsoft out of necessity. The first half of that sentence is provably wrong. Apple and Microsoft both got their GUI ideas from Xerox PARC, independently from each other. This point is conceded even by people who were involved with PARC around the time Steve Jobs and Bill Gates visited.
- Programs such as GIMP are compared with Windows programs. The GIMP is not an Open Source answer to a Windows program. It’s an answer to Adobe Photoshop, which runs on both Windows and Macintosh. And the GIMP and Photoshop are both powerful programs in their own rights.
Finally, I want to take issue with a notion that permeates his column: if Windows has it, Linux should try to avoid it. He doesn’t come right out and say it, but it’s there. Behind this notion is the assumption that Windows is nothing but bad ideas (assuming that Linux wants nothing but good ideas). Yes, the Start button’s menu structure is derided by Mac enthusiasts, because it can be too cumbersome to navigate. But nobody is stopping users from creating a desktop shortcut to the directory containing the Programs shortcuts. Such a shortcut, when opened, would present a window with many program launchers in it, much like the Macintosh Finder. The same thing is possible in GNOME and KDE.
He also derides "the same old command line and WIMP interfaces." Macintosh wisely included both in their release of OS X. It’s based on BSD Unix, hence it has a command line.
The current Big 3 operating systems (Windows, OS X, and Linux) each allow their users access to the command lines and the WIMP interfaces. The command line is nearly universal, since the keyboard is the universal generic input method for alphabet-based languages. But perhaps the greater truth is this: For maximum usability in a GUI, having windows, icons, menus, and a pointer are necessary.
Other possibilities may be faster, or more economical on screen space, but their limitations make them impractical for general use. For example, pie menus allow very quick navigation, but are ergonomically restricted to 8 options before selection becomes difficult.
One case demonstrating strong favor for the WIMP interface, is the Java GUI toolkit. Both AWT and Swing assume a typical WIMP interface, giving it quick and easy entry into most GUI environments. This design decision was based partly on economy, partly on usability and familiarity. Anyone who knows how to use Windows or Macintosh, knows how to use a well-designed Java GUI interface.
And here we come to the crux of the problem: The WIMP interface is what people know. In the words of Donald A. Norman:
When consistency is common, it is taken for granted and the user comes to rely upon it. But when things we have learned to rely on suddenly become unavailable, it can be worse than if they never existed at all. ("Why Interfaces Don’t Work," The Art of Human-Computer Interface Design, 1990)
If Linux is to post gains into the desktop market, it cannot be expected its potential new customers to learn an entirely new means of interacting with the system. Macintosh is learning this lesson right now, with their re-design of the desktop details from OS9 to OS X; Microsoft is still the butt of several jokes about their "radical new" Windows 95 interface ("What do you mean, click Start to turn it off?"). What Linux can do is present a mostly-familiar GUI metaphor, in a much more stable environment. Windows, icons, menus, and a pointer, are all understandable on any system that implements them. The further details (context menus, new icon/file creation, shortcuts) are left as decisions for the designers. And Linux has many designs to choose from.