User Interface designer Eugenia Loli-Queru has written a thoughtful and well-illustrated article for OSNews where she discusses which parts of KDE are good and which ones could use some polishing. "What is a good User Interface? Well, in order to answer that, we will have to take into account that different people like different shapes, colors and functionality. This article is just my personal opinion, how I would like KDE to evolve in the future. I am sure that other users would like to see other, different types of evolution. However, we can't deny the fact that some basic rules of UI design should never be ignored." The developers have started a discussion (thread1, thread2) based on this article.

Comments

Thanks Eugenia for the feedback. I found your critique to be very informative. Judging from the response on kde-core-devel, I think you will be pleased with the outcome ;-)

Regarding your taskbar problems... I fail to see how autoresizing kicker based upon the dynamically changing taskbar is either aesthetically pleasing (sounds horrible to have this moving/resizing kicker to me) or enhances usability? How does a shortened kicker enhance useability? It seems to me that this simply waists space. Try and drag an icon towards the space on the right or left of a shrunken kicker... you will find that no icons can live there, because kicker is actually there, it's just been rendered transparent to the background. Nevertheless, if you want this feature, try convincing the kicker/taskbar developers, but I think you'll have a hard time if you rely upon useability arguments ;-)

Also, I like your criticisms for kde lacking integration with some of the underlying systems. KDE already relies upon X11 so how hard would it be to create a new KControl module for X11? Why would this be an error? Thoughts?

Well, unless I'm wrong, it appears a part-time MacOSX user is being asked. Most of your points looked well thought out and logical, but I still fail to see how a resizing taskbar is anything but confusing and distracting. The little squares of space that are freed looks unusable. I can just throw my mouse diagonally to the bottom left and it will end up on the K - I don't have to adjust based on current conditions.

I don't know about that... I know a lot of MacOSX users that install Tinker Tools so they can anchor the dock to the side or bottom. Otherwise your icons (especially trash!) are in different places depending on what you happen to be running at a given time, which is hell on muscle memory.

I can understand wanting to shrink it, but wanting to shrink it, center it, *and* have it auto-resize totally breaks the UI as far as I'm concerned... It breaks the "mile high menu" idea.

I agree with your reasoning. One thing I can't stand on a computer screen is unnecessary visual distractions - and would certainly qualify. I've seen dialogs that resize themselves based on their contents (clicking from tab to tab) and this is, in my opinion, a most unfortunate development. It looks tacky. Leave kicker alone. : )

I rather like the Bitstream Charter font, when X11-Font hinting is enabled. When it's not, I rather find ALL the AA fonts to be nasty... (That's the Keith Packard XFT-Quality patch.) In fact, one of the reasons I use KDE is because the AA Bitstream Charter is so very nice.

I don't know if this seems like a strange suggestion, but I was wondering if the KDE League or United Linux or whoever could commision a type (that's type as in typographer) designer to create a set of open, properly hinted, kerned, screen friendly, truetype fonts for the open source world.http://www.will-harris.com/msfont-hint.htm

Anti-aliasing looks nice with larger text but can tend to be an eyesore when smaller fonts are displayed. Have you've ever noticed that on a win32 box most of the fonts displayed at any given time are /not/ anti-aliased? That's because within a certain point range the anti-aliasing is turned off and the hinting alone is used to give the text a crisp pixel font look.http://www.minifonts.com/fontlist.html

I think a lot of the KDE developers (*bless* you hard working folk) miss this point---as seen in a KHTML bug (overriding Xft antialiasing off switch).

Legibility is an issues as well. I always wonder why people always set Arial for most of their defaults. I know most everybody has ran into the problem of being able to read what's in an edit box when the font is set to Arial (as well as not being able to partially select the bits your want---usually involving the letter 'i'). If you look at Georgia and Verdana related to Times New and Arial you'll set that the first set looks fatter than the second set. That's for legibility. Verdana and Georgia were /designed/ to be screen fonts. That means good x-height and letter spacing.http://www.will-harris.com/webtype/readable_type.html

Yeah yeah... I know there are free web fonts from Microsoft that everybody and their dog has a utility to display the EULA and download but to be able to just install a distro and have a good set of crisp screen fonts ready to roll and well... free.

I don't think that will *ever* be possible. Good-looking Unicode TrueType fonts costs *tons* of money. Only the biggest and richest companies can afford that. And it takes at least a year to design one.

Somehow there's a difference between code and a font -- I know a Truetype font consists of bytecode that's run on an interpreter, that's not the point -- but creating a font doesn't use the same part of the brain as creating a library or an application. Perhaps it's that creating a good font is almost exclusively fine-tuning, polishing, smoothing, and fine-tuning again. It's ultimately extremely tedious -- more tedious than coding an application. More tedious even than wrapping up a release. A lot of people like coding. Precious few people like endlessly fiddling with the shape of an A.

Just try it, for a joke. Download pfaedit, and create a font with only a good, usable, readable, well-hinted captial O with low-resolution bitmaps added. Then imagine how much time you would spend if you wanted to add all the other 65.000 Unicode characters. And then try to calculate how much time you would have to spend to add a non-proportional, and a sans-serif version of your font. I'm thankful every day that we've got the fonts we have -- the Adobe fonts and especially the B&H fonts.

and the only way i managed it was to use a combo of kicker, external kicker and kasbar.
I have my main kicker down with a few huge icones.
I have an external bar on the left for applets and mini icons for not so importants links.
I have kasbar on the right which i use as the taskbar. It gets bigger with apps and take no place otherwise.
all those are on auto hide.

What I would love to see is something like XP's active context elements when using browsing your hard disk. Having a context menu at a RMB click is nice, but it is so much nicer to have context-aware options just one click away and VISIBLE on the screen. Same goes for searching...

This could be integrated in the sidebar but could also be placed directly inside the browsing window (see XP).

I know some people will hate this idea, but despite me being an absolute fan of KDE, when I first worked with XP that feature really hit me as being great for both beginners and experienced users.

I think KDE is already as perfect as it can get. The problem now lies in configuration of the underlying system. You know, things like installing drivers, installing software, configuring X, and other things like that.

To install software, there are 3 ways:
1. Packages (RPM, deb)
Windows user tell you that packages are not userfriendly because they cause dependency hells. If you point to Red Carpet or something, they will whine about that it isn't included in the distribution by default, and is therebefore not userfriendly.
One person even told me that he spend hours just to find out that you have to doubleclick on an RPM to launch KPackage, and concludes that it's not userfriendly.

2. Installation binaries (JRE, Kylix, LimeWire...)
Most of these binaries rely on a terminal, so you have to enable the execution bit and then type ./foo

3. Compile from source code
When you tell people to type in "./configure && make install" they will yell that it's too unuserfriendly and conclude that it's primitive and behind the times because you have to type things instead of clicking & drooling.

And not to mention all the "X is slow" claims.
"It takes 20 calls in XFree86 just to draw a rectangle."
"The X protocol is outdated and inefficient."
"XFree86 is a slow implementation of X."
"Resize or move a window and you'll see what I mean. It's slow."
"XFree86 is internally very inefficient. Drawing operations do not get hardware accelerated."

And as long as Windows is alive, there's no way Linux can be a "true" competitor on the desktop. Lots of people say this: "I don't care what Microsoft does. They write good code. Windows XP is extremely good. That's all that matters."
So people don't care about MS taking away their civil rights: "It's not like it will help a fuck if you don't use their products".

That's a long-standing Konqueror bug. Konqueror should wrap plain paragraphs of text to the window width, like Mozilla or Netscape or Opera or IE or Icab or any other browser, instead of to the longest line in the text, whether that's
a text or an insanely big word or a gif of 2000 pixels.

> You may want to read these threads to see how people still look at Linux:

the solution here is two fold: 1) continue to improve our systems. 2) help educate others through hands-on experience, since much of what they currently babble on about it ill-informed gibberish.

unfortunately, most people who work with computers are relatively intelligent, they just don't like to leave their comfort zones (the bane of many a geek). instead they prefer to make assumptions about things they know absolutely nothing about. we can change that. not by arguing back at them on web boards (which is a waste of time, IMO) but by introducing these technologies to as many places as possible. get people using KDE on Linux and watch the bitching and moaning disappear. there is a lot more to whine about on Windows than there is on Linux, though you'd probably never know it judging by people's comments.

just don't expect the same people who are accomplishing Solution #1 to also be able to accomplish Solution #2.

> And as long as Windows is alive, there's no way Linux can be a "true"
> competitor on the desktop.

i would love to think you are kidding or just slipped into a coma on this one.
i suppose as long as UNIX/Linux is alive Windows could never become a true competitor in the server market either. whatever.

btw, how is a '"true" competitor' different from a 'true competitor'?

as for the civil rights issues (which is only a part of the Freedom aspect, really), they aren't the sole things Free software has going for it. the home user is largely unasailable right now for a number of marketing reasons, i agree. however the more important corporate and governmental clientelle are very ready for Free software and they are adopting it.

don't look to the living rooms, look to the board rooms. the living rooms will follow naturally from there.

I have not counted, but I'll take your word for it. But, the number of calls in themselves don't matter it's the speed of those calls that matter (yes, I know there's some function call overhead)... Have you got any profiling data showing how slow/fast this is?

> "The X protocol is outdated and inefficient."

I don't agree. The protocol is old, but that does not nessesarily mean it's outdated or inefficient. Actually if you have ever tried using MS Windows remotely (Terminal Cerver, Citrix, VNC etc..) you'll know what slow is - then try it over a slow modem link, it's hell. In my experience X is a /lot/ faster on remote displays (and if you tunnel it through SSH for the compression bennefits it's even better - for most apps if they are not too latency sensitive).

> "XFree86 is a slow implementation of X."

It might be compared to others, but don't blame X itself for that.

> "Resize or move a window and you'll see what I mean. It's slow."

It could be faster, but on modern hardware it's certainly more than fast enough (at least the speed has not bothered me for years).

> "XFree86 is internally very inefficient. Drawing operations do not get hardware accelerated."

But it's steadily getting better with every new release - XFree86 4.x is /way/ better than 3.x - things are moving in the right direction, and some drivers are hardware accellerated, just use appropriate hardware.

I think what I'm trying to say is that X may have some flaws, but it also has a lot of bennefits. I'll try to list them and I'd like to hear your comments...

- It's a well established standard, meaning that a huge amount of apps support it.
- It's flexible. Supporting remote and local displays, different window managers, runs on multiple operating systems etc.
- It has resonably to good performance (depending on implementation and hardware ofcourse), especially networked performance compared to other alternatives.
- It is portable.
- It is stable (at least in my experience) - current implementations have had years to stabilize.
- Using modern toolkits like GTK+ and QT it is quite simple to write applications for.
- It supports a wide range of input devices.

All in all, I think X is a powerfull tool and I don't think it needs to be replaced.

1. If the tool is not bundled w/ the system and very obvious (and "KPackage" on a menu item is NOT obvious), then it is NOT user-friendly. So how is someone to install "Red Carpet," MUCH less know it exists or choose it from among several other "good" system update utilities.
Also, if I double-click on a package, I don't want to see its contents in KPackage, I want it to *freaking* install, or at least ask me if I want to install it or view it (along with a plain-english description of the package).

2. You mean I have to tell the system I want to be able to execute the file? Why the hell can't I download it? (Yes, I know the answer, but this is still stupid and very unfriendly behavior).

3. As far as compiling your package, why in the HELL should I have to do that? Isn't the computer supposed to be helping ME? There is NO reason why a modern decently-well thought-out OS should require compiling an app.

4.
>So people don't care about MS taking away their civil
>rights: "It's not like it will help a fuck if you don't
>use their products".
Oh Jesus! So what exact 'civil right' is MS taking away from you???

2. Don't tell that to me, tell the guys who designed Unix and ask them why they did that.

3. Ah so every developer out there has to buy every version of Linux/FreeBSD/OpenBSD/NetBSD/MacOS/MacOS X/Windows/IRIX/DOS/HP-UX/BeOS/AIX/FooBarOS and provide binaries for them?
Apparently the reason is *portability*.

4. Let's see... things like DRM prevent you from copying things, even for own use. You can't even create backups. The new WMP license allows MS to look around in your system and change things. Look in the Slashdot archives.

One person even told me that he spend hours just to find out that you have to doubleclick on an RPM to launch KPackage, and concludes that it's not userfriendly.

Well, KDE brings UNIX to the desktop. That's the charter. Not to bring UNIX to dummies. First of all, by default KDE requires only single clicks unless you specify Windows-like behaviour in the personaliser which is run when you first start it.

If that user did not know that double-clicking on a desktop/filemanager objects launches the associated application, he could not have gotten far in Windows either.

you just neatly stepped around his last statement, that being that if the person didn't know how to double click on something to get it going they wouldn't get far anywhere, not even windows. which means that's a pretty damaged statement.

I'll comment, gladly. I find that argument blatantly fallacious. Whether that user is acquainted with Windows standards or not is completely irrelevant. Now, I'm not defending the person that didn't know his clicks, as I know no details, but, seeing this thread, I must say that Stof makes a valid point without drawing in the specifics of that user's assumed knowledge. Realistically, how does it matter whether that user is familiar with Windows or not? Surely, the user reached a drastic conclusion over something as trivial as clicking behaviour, but don't discredit Stof simply because he ignored something that didn't matter -- his point, that most users would be classified as "dummies," still stands, regardless.

If you disagree, fine, but please base your rebuttal on something a bit more concrete, for the sake of integrity.

If that came off as flame-ish, I'm sorry, I certainly don't mean it that way.

So, they should read "KDE for dummies". If this hasn't been published yet then it should be written as a HOWTO.

I found that example interesting because this "dummy" apparently didn't think that the GUI was like Windows.

But, on the other hand, I have answered many questions on various news groups which could (or actually do) start out by saying that Linux isn't Windows.

Very odd that the one thing that is like Windows (like the Mac OS actually) and the "dummy" for some reason generated the false idea that it would be different.

I don't think that we can expect to make KDE ready for "dummies". Teller said that no matter how foolproof you make something that there is always some fool that is more fool than the proof.

The empowerment that comes from owning your own desktop (rather than it being controlled remotely from Redmond) can only come from some understanding of it. The 90% of the users that supposedly don't ever configure anything on the Windows desktop will gain very little with KDE.

I don't know if we need "KDE for dummies" but a good tutorial is certainly necessary. I suppose that "dummies" wouldn't read it. :-(

While I agree that the control over the screen settings that you get from KDE is less than perfect, I'm not convinced that KDE can, in an isolated way, do that much about it.

XFree86 is currently controlled by a configuration file, which is only read when XFree86 is started. This configuration file is derived from the "standard" X11 configuration file.

I.e. the X11 configuration file on Tru64 UNIX is definitely not the same as the X11 configuration file on Linux. And I'm sure that the XI Graphics X11 server does not have the same config file as XFree86.

The "best" solution would surely be for X11 to have some API that can be used to set the various attributes (in much the same way that xgamma can be used to set the gamma correction). The API needs to be a standard part of all X11 implementations - including XFree86.

I don't see a problem with XFree86 pushing ahead and developing this standard (in the same way that XRender only exists in XFree86 and not X11R6.x - yet). Once the standard is there then KDE can support it. Particularly as David Dawes of the XFree86 project was making noises about doing this sort of thing in a recent interview.

The same sort of issues apply to keyboards, mice and possibly other peripherals...

... so I'm not sure that KDE can solve the issues nicely whilst continuing to be a Desktop Environment for UNIX - rather than for just Linux and XFree86.

One thing that could be improved IMHO is the behavior of right
clicking on objects. It could be done a little more consistently,
giving the user SOLUTIONS. For instance: a user has an image he/she
likes displayed in Konqueror. Right clicking on the image, should give the
option to save this image as a wallpaper, and launch kcontrol in the
"background" section. Things like that make the user comfortable.

It would be nice if the user knew that right clicking on "things"
will give her/him a set of options of what to do with this "thing"
(an icon, a filename, etc) I know this is mostly done, but a little
more work on that area would be great. In particular, if the
object represents information that can be handled by/associated to
several applications, right clicking the object should offer access to
all these applications in a friendly manner IMHO. Again, this is partially
addressed with mime types, through the "open with" menu option in konqueror.
But it would be great to see it work across the desktop in a more
consistent manner.

BTW, a couple of the suggestions from Eugenia's article have to
do with right-clicking.

i think what you are referring to would be handily covered by "service menus". these are simply .desktop files that describe an action for files of a certain mime type. this is the sort of thing that even non-developers can get into. below is an example of a service menu that allows you right click on an image and set it as your background:

save the stuff between the '====' liness $KDEDIR/share/apps/konqueror/servicemenus/saveAsBackground.desktop to try it out... (one could even modify it to first copy the image to $KDEHOME/share/wallpapers and set the background to use that so if they user moves the image they don't lose their background)

take a look at the other servicemenu .desktop files, then play around with making a few, they are really fairly simple!

First - I am not a troll. I am *not* here to say 'KDE is better/GNOME sucks etc etc.' I am *not* here to advocate either desktop environment. That being said, I continue to my point.

Many people prefer GNOME over KDE and vice versa. This is of course, their choice. It prevents users from having to fit in a mould of what everyone thinks they should like. I've heard a number of posts (not necessarily here) saying 'GNOME 2 sucks. KDE is light years ahead'. My question to you, Linux desktop community, is:

"What features are in KDE 3 that are not in GNOME 2?"

I would *please* like reasonable responses - no trolling/flaming.

I thank you for your time. I hope that Linux does make it to the desktop and that soon users will be able to get Linux powered (heck YEAH) computers.

KDE has many applications, GNOME2 has almost nothing it's just too new and unstable. KDE looks nice, GNOME doesn't. KDE development is the best GUI/desktop programming environment on Linux. GNOME/GTK programming really sucks. KDE is community centered and not project development and direction isn't controlled by any one company. GNOME is development is primarily Red Hat/Sun/Ximian, community involvement has been practically killed.

One final word: Konqueror. This browser is the best I have ever seen bar none.

As someone who's tried both gtkmm and QT, I really have to say that there is a huge difference -- they aren't just substitutes because they're "both C++."

Put simply, gtkmm is just not well tested, developed or architected in my opinion - it is very frustrating to use compared to QT. Not being of the native language of GNOME, I suspect it will continue to be something of a 2nd-rate citizen.

For a C++ developer, the obvious choice is QT/KDE and on the flipside, GNOME if the developers experience is with C. I think it really creates something of a technical-cultural divide. If the native languages themselves were the same, it would be far easier to cooperate and integrate improvements from the other side.

Ah, the usual Anonymous Cowards/Slashdot reasons again.
I'm not even going to comment on what you say since most of them have been *proven wrong* for a long time now.
Please, if you have to troll, don't do it so obvious.

I'm not too sure about KDE being better looking than Gnome. KDE 3x looks great, but the Gnome 2x desktop looks better ... atleast from all the screeshots I've seen posted for both. I currently use KDE 3.1 (hoping to upgrade to 3.2 soon) but the screenshots I've seen posted on http://www.gnome.org/start/2.0/screenshots/ are very impressive. Nautilus looks awesome (from the screenshots).

All this said.. KDE's toolkit rocks.

So lets assume for now that they both look very nice. So which one's better? Which one's faster? Which one has smoother looking fonts? With all the "common" features on, which one takes up less memmory? Instead of pointing and saying "that suXors!", how about we come up w/ a better way of comparing the two!? :D.