May 31, 2007

Keyboard-driven environments open a new window on the desktop

Author: Bruce Byfield

If you use a traditional desktop like GNOME or KDE, a keyboard-controlled desktop with a minimum of utilities may seem like stepping back 10 or 15 years in the history of interface design. Why bother, when traditional desktops are easy to use and RAM and disk space are so cheap nowadays?

Admittedly, minimalist desktops are not for everyone, especially since learning to navigate them takes time. However, if you try a minimalist desktop long enough to become comfortable with it, you may start to question the design assumptions behind its mainstream rivals. You might even come to value the minimalist approach for its own sake.

The case for minimalist desktops is summarized on the Ion home page. "Usability," the page proclaims, "simply does not equal low learning curve, and hiding system details from the user, as the Official Truth seems to be these days." In other words, a mouse may be a method of navigation that is easy to learn, but it's not the most efficient way of navigating applications. It requires a hand to move continually away from the keyboard, and often requires you to drill down through several levels of menus to perform a simple task. Moreover, in the effort to make graphical applications easy to use, program options and feedback are often hidden from users. In a sense, users are subtly discouraged from learning more than the basics, even though more advanced features might sometimes help them.

Using mainly the keyboard to navigate an interface takes longer to learn than drilling down through a series of menus, but is often quicker and more efficient in practice. A user interface that relies heavily on keyboard bindings is also less painful for those prone to repetitive stress injuries from prolonged mouse use, and simpler to configure, since fewer elements exist to customize.

In addition, on standard desktops such as GNOME and KDE, organizing a large number of open windows so that you can find a particular window can be difficult. Although solutions exist such as maintaining multiple workspaces, displaying windows lists in the panel, and automatic window sorting, many of these solutions add additional levels of complexity rather than solve the problem.

By contrast, the solution in most minimalist desktops is either to open each program full-screen,or else to open programs in tabs, frames, or both that occupy a fixed portion of the screen. In some minimalist desktops, such as Ion's, you can edit configuration files so that each instance of a particular program opens in the same frame all the time. Unsurprisingly, in all minimalist desktops, a large number of the commands have to do with switching between open windows, tabs, and frames.

Another obvious use for minimalist desktops is to give new life to old machines, since these desktops require considerably less memory than even Xfce, the most lightweight traditional desktop for GNU/Linux. The wmii project even goes so far as to declare that one of its goals is to keep the program to under 10,000 lines of code, presumably in an effort to help avoid bloat, even though a small codebase is not necessarily an indicator of responsiveness.

A deceptive learning curve

With these goals and concerns, minimalist desktops are not exactly user-friendly when opened for the first time. Few offer more than a small panel and a blank screen, and any menus are hidden a keystroke combination away from sight. Anticipating the dismay of new users, both Ion and wmii begin with short tutorials that plead with users to read the documentation, or at least learn a few basic commands to get them started.

Other minimalist interfaces deal with the problem in other ways. At the extreme end, dwm requires users to compile and configure their own versions of the program before they can get any use out of the desktop. Others, such as ratpoison or its new Common Lisp-powered version stumpwm, are virtually unusable until you read the documentation.

These initial difficulties are daunting, but superficial once you start exploring the documentation. Some minimalist desktops, such as Ion, are mouse-enabled, giving newcomers something to fall back on. Moreover, all are simple to learn once you learn their basic keyboard conventions: for wmii, the keyboard commands begin with Alt+, while ratpoison's start with C+t, and Ion's are the function keys. If nothing else, this information gives you a basis for trial-and-error experiments if you become confused.

Ion users may want to learn how to configure the software's mouse-driven menu early in their explorations, although they can still use other features of the desktop if they have taken a few notes from the tutorial. While not strictly necessary, this menu represents a compromise between mouse- and keyboard-driven desktop conventions that, initially at least, users may be glad to fall back upon.

In many cases, users can save time by installing a version of a minimalist desktop packaged for their distribution. For example, the Debian version of Ion comes with the Debian menus already enabled, which gives users a familiar set of menus without doing any configuration themselves. Similarly, the Debian dwm package is just finished enough that you can get a sense of what it is like without compiling for yourself.

Minimalist vs. traditional desktops

Standard desktops have become such an ingrained part of the computer culture that minimalist desktops are unlikely to ever become popular. The priorities behind their design are simply too different. Moreover, for all their faults, standard desktops do provide dozens of features, such as accessibility tools and anti-aliased fonts, that make computer use easier for several groups of users that minimalist desktops ignore.

Another potential problem with minimalist desktops is that they require users to switch between two different philosophies about interfaces: the stark, keyboard-driven philosophy of the minimalist desktops and the elaborate, mouse-driven interfaces of the typical graphical applications they can invoke from the desktop. Of course, users can also take advantage of keyboard shortcuts within programs, but, when they use a minimalist desktop, they must learn at least two separate sets of keyboard strokes, since no minimalist desktop apparently uses the standard set of conventions that have evolved for programs. To some extent, at least, the differences could be minimalized by reconfiguring the minimalist desktops, but that would probably take more effort than most users would care for. Since learning two sets of conventions increases complexity without offering any advantage, many may feel that minimalist desktops are not worth the effort of learning.

Of course, many minimalist projects would probably be unconcerned if they never became popular. Several, notably dwm, are frankly elitist, with Web pages that declare that they develop only for those in sympathy with their aims -- a sentiment that uncomfortably echoes the command-line machismo still found among longtime GNU/Linux users.

Still, despite the barriers to learning minimalist desktops, their simplicity and organization can be deeply appealing once you get over the initial learning difficulties. Even if you do not always use one, there is something to be said for keeping one available for the days when drilling down through menus seems too much for you. And, even if you ultimately decide -- as many will -- that a minimalist desktop is not for you, becoming competent in ratpoison or wmii will leave you both deeply aware of both the problems and advantages of desktops like KDE or GNOME.

Click Here!