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
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.
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
-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
-Rule of Clarity: Clarity is better than cleverness.
-Rule of Composition: Design programs to be connected to other
-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
-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