Linux Today: Linux News On Internet Time.

More on LinuxToday

Editor's Note: What is User-friendly, Really?

Jan 23, 2010, 00:03 (52 Talkback[s])
(Other stories by Carla Schroder)


Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame

by Carla Schroder
Managing Editor

User interfaces are the last great Linux problem. What really makes Linux user-friendly-- is it limited options and loads of eye candy? What about functionality, and depths of riches to explore?

I've been using KDE 4.3 all day every day for a month now, and I have mixed feelings. About 60% annoyance, and 40% pleased. With KDE 3.5 it is 90% pleased and 10% annoyance, which I think is a fabulous ratio for anything pertaining to computers.

The big problem for me is KDE 4 sacrifices customizability and efficiency for glitz. A lot of people like it, and that is fine. For me, the glitz does not make up for losing the things that I liked in KDE 3.

There is a trend to dumb Linux down in a fruitless attempt to appeal to Jane and Joe Sixpack. Which is wasted effort, because in doing so computer-savvy users are being ignored and frustrated, and Jane and Joe Sixpack don't care anyway.

I shall use Gwenview to illustrate. This isn't just a Gwenview problem, but endemic in KDE 4: in Gwenview 1.5 on KDE 3.5, I get all the information I need in one window. There is a wealth of data all in one place, and I don't have to click through multiple menus to find it. The thumbnails display image size, file size, filename, and date, and I can see this information on several images at once. I can see my filesystem, Gwenview's menus, the full pathname- everything is right there in one window.

In KDE 4.3, the same data have been shuffled around to different locations, it is far less configurable, and the thumbnails only display filename and date. To get any other information requires viewing each image one at a time. It's like being given a little porthole to look through.

In KDE 3.5, Gwenview is very configurable:


In KDE 4.3, where did all the configurations go? Why do they even bother with a configuration menu?


Some other nice efficiencies have been discarded. For example, the filepicker in the Batch menu in Gwenview 2.3.2 has adopted the braindead behavior of dropping you into the root of your home directory. In 1.5 it sensibly keeps you in your current working directory, rather than assuming you really want to go somewhere else, and it knows better than you where. When the Sixpacks are confronted with this behavior are they going to go "Yippeee, this is so intuitive!" I rather doubt it.

This stripping of features and adding unnecessary configuration menus and clicks permeates KDE 4.3. Why add more layers of menus when there are hardly any configuration options anyway?

Logical, Accessible, Reliable

I hope that the KDE 4 team work these issues out in time. But I have my doubts, as they seem to have adopted the Gnome philosophy of "either too simple or too hard, suck it up buttercup." I'm still using KDE 3.5 for most of my work, but it's falling farther behind, and soon I will have to look for something more up-to-date. I already have a batch of lightweight window managers installed and ready to test. While glitz and fancy special effects are fun, the features that are most important to me are speed and efficiency. If I want a bloaty mess that requires a half-dozen clicks to do not much, I'll run Windows 7. (Which is just as slow as Vista, despite the silly punditry to the contrary.)

Another feature that is of primary importance is accessibility. By that I mean when something breaks, or when the GUI doesn't do what I want, I want to have a nice text configuration file to modify. There are reasons that Unix has 40 years of success and is still going strong. Such as powerful command shells and plain-text configuration files, which are far friendlier than a broken GUI. How do you fix a broken GUI? Dig into the source code, friend, because that's your only option. Which might be easier than trying to untangle how your particular "user friendly" distro has mangled or orphaned the traditional configuration files, removed man pages, and gone to convoluted spaghetti tangles of inter-dependent scripts. (Lately I've been wondering if some distros aren't using binary configuration files, it is so hard to figure out what the heck they've done.) If they're going to make it impossible for users to fix problems, they better make completely bulletproof distros. And we all know when that will happen. (Hint: heat death of the universe.)

Those old Unix fundamentals are still best; here are some examples from the Unix philosophy page on Wikipedia:

-Small is beautiful.
-Make each program do one thing well.
-Store data in flat text files.
-Avoid captive user interfaces.
-Allow the user to tailor the environment.
-Rule of Modularity: Write simple parts connected by clean interfaces.
-Rule of Clarity: Clarity is better than cleverness.
-Rule of Composition: Design programs to be connected to other programs.
-Rule of Separation: Separate policy from mechanism; separate interfaces from engines.
-Rule of Simplicity: Design for simplicity; add complexity only where you must.
-Rule of Least Surprise: In interface design, always do the least surprising thing.
-Rule of Silence: When a program has nothing surprising to say, it should say nothing.
-Rule of Repair: When you must fail, fail noisily and as soon as possible.
Those are still fine principles to design software by. I will add one more: don't change anything unless you can come up with an absolutely magnificent, important, quantifiable documentable reason why it should be changed. Leaving good things alone is a prime virtue.