Browse DevX
Sign up for e-mail newsletters from DevX


Linux vs. Windows: Choice vs. Usability : Page 2

One of the major roadblocks for Unix was the lack of one single standardized platform for applications. Linux seems to be following along the same line, although on a different parallel. To compete head-to-head with Microsoft, Linux advocates should standardize the platform.

Freedom to Choose—Or Not to Choose
According to most open-source advocates, having multiple available GUIs translates into a desirable user choice. For example, http://www.uselinuxathome.com/ENgui.htm says that the "choice of GUI has been made possible by the open source nature of Linux," and that "The idea is...to find the one that's right for you..."

How much time should users spend exploring these different GUIs before they find the one that's "right"—and works with all their applications?
That's all well and good in a hobbyist world, where users are enthusiasts who are more than happy to handle manual configurations and endure inconveniences in order to maintain an open system where application developers target the GUI(s) of their choice. It's also fine in a locked-down, IT-mandated business situation where administrators and business needs dictate UI and application choices for users. But that approach isn't going to work for the general public.

The average user doesn't know—or care—about the underlying operating system, the idea of GUI interfaces, the various types of file systems, or about any other "technical" aspect of using a computer. (Jono Bacon tells an interesting story about how users perceive GUIs.) Many—perhaps most—home and small business users never alter their Windows system defaults, other than to perhaps download a different screen saver, add a peripheral, or install their preferred applications. Giving them choices isn't going to make them happy—they want something that works out of the box! And they want that single setup to work for all their programs.

Most of the major distributions aren't addressing this problem directly. For example, Mandrake ships with three different X-Window GUIs: KDE, Gnome, and IceWM. How much time should users spend exploring these different GUIs before they find the one that's "right"—and works with all their applications? One month? Five months? Are there more productive ways for users to spend their time than trying different GUIs? Developers, hobbyists, and large IT shops gain value from the ability to try and test a multiplicity of interface choices, but the average home or business user will not.

Even the act of trying different GUIs is fraught with pitfalls for average users. For example, here's a short excerpt from the IceWM site's FAQ, titled "How to make IceWM my default window manager." From the outset, the average Windows user will be lost. What's a window manager? Why would I need one? That question will arise quickly—as soon as their new Linux installation boots to a shell (a command prompt). I suspect most Windows users will stop there, thinking that the machine is broken. But let's take a look at an excerpt from the instructions in the FAQ:

"In order to run IceWM, you must assure that the executable (called icewm) is in your path. You should then add IceWM to your X start-up script (which could be .xinitrc, .xsession or .Xclients).

Note: Supplying the full path to IceWM isn't sufficient - if IceWM isn't in your path, restarting it will fail (even if you don't this by hand it is done automatically on changing the theme).

Which of the scripts mentioned above is the right one mainly depends on whether you manually start X (using startx) or have X running all the time.

First I explain what you need to do if you manually start X. Then I address the case "X is running all the time" (which means that you log in via xdm or something like that). Finally I describe what both cases have in common.

Running IceWM at X startup
If you use startx to start up X then you run your window manager from the .xinitrc file.

Running IceWM after graphical login
If your system has a graphical login (X is already running while you log in) you are using a display manager such as xdm, kdm or gdm. In this case .xinitrc has no effect (it is not read in by xdm). You must instead use a .xsession file.

Hint: It is absolutely no problem to have a .xsession and a .xinitrc file (which is especially useful for inhomogeneous networks).

Mandrake users repeatedly reported that their .xsession wasn't read and no applications started. To work around that in the kdm login interface choose Default and add IceWM as the last entry to your .xsession.

These directions may be crystal clear to experienced Linux or Unix users, but they're going to be incomprehensible to most Windows users. The problem doesn't lie in poor word choice or sentence structure: it's the authors' assumptions about users' knowledge and experience that makes the instructions virtually worthless. What's an executable? What's an X start-up script? What does it do? Where is it? What's involved in adding IceWM to a startup script? What's startx? What's a display manager? What's .xinitrc? What does it do? What's a .xsession file? I'm sure you get the point.

In fact, I suspect that many users wouldn't even know what a path is. If you tell them, they may not understand why it's important, and they won't know how to edit it. The fact is that average users don't know and don't want to know how to solve problems with their computers—that's why businesses hire IT and support staff, so that average users can concentrate on their work, not on their computers.

If the problem were limited to setting up just one specific GUI, it would be relatively easy to solve it by creating a robust installation, but it isn't. There are many GUIs, each with its own FAQ, its own procedure, and its own quirks.

Thanks for your registration, follow us on our social networks to keep up-to-date