Help - Search - Members - Calendar
Full Version: Usable GUI Design
Neowin Forums > *nix Customization & Support > Customizing your *nix Desktop
CaKeY
from: benroe.com

Introduction

The Open Source software world is full of excellent software. High-quality F/OSS software is available for virtually any task a computer user could want to do, from word-processing to web-serving. There is one small problem with much of this huge array of software: it is often far more difficult to use than it could be. Professional UI designers tell us that user interfaces should be the first thing designed when we come to develop an application, and that programmers are incapable of doing this kind of design. They say it can only be done by the professional UI experts; OSS projects don't have access to these kind of people, and therefore can never be truly usable.

This doesn't mean we should just give up on UI design. From the quality of many commercial applications' UIs, having usability experts on staff doesn't guarantee a good interface either. Effort, knowledge and thought by any developer can improve the usability of an application greatly. We may only find a local optimum rather than the global, but even that is a step in the right direction.

After years of struggling with these problems, I thought I would write down a short list of five things that we OSS developers should consider when designing our application's GUI. These are drawn from my experience in using and writing OSS software and my reading of a few very interesting books and web sites on the subject. These works are listed in the references — they are all excellent reading for any developer interested in usability issues.

I have intentionally only mentioned points here which do not require major amounts of work to implement, and about which there is little controversy. Larger “whole-application” issues are beyond the scope of this article. None of these ideas is new or particularly complex, but their effect can be very great. I should also note here that in several of the examples I use, it is possible to fix the problem by changing the application's settings. I have decided to only consider the default settings: presumably, the defaults represent the developer's idea of the most usable design for their application.

Before I start, I should probably make one more point in order to at least mitigate the flames I will receive: although I may sound quite harsh on some applications below, this is in no way meant as anything but constructive criticism. I use most of these applications every day and they are fantastic pieces of work, the product of years of hard work by dedicated developers. I am merely making suggestions of potential improvements; no offence is intended to anybody.

The Points
0) The user is not using your application


The most basic point in all computer UI design is that the user does not want to use your application. They want to get their work done as quickly and easily as possible, and the application is simply a tool aiding that. The more you can keep your application out of the way of the user, the better. Effort spent on using your application is effort not spent on the work the user is trying to do. Two key quotes from Alan Cooper's second book, About Face 2.0, summarise this very well:

1. “Imagine users as very intelligent but very busy”
2. “No matter how cool your interface is, less of it would be better”

Points 1 to 4 in this article are really just special cases of this rule.... read more...
Jelly2003
Very interesting article, the author has many good points.

I hope the opensource community take note of a lot of points here, I certianly have.
markjensen
For the casual user, I agree. These are the Windows-converts that don't want or need to know about all the switch options available, or have a GUI presented to them with 34 check boxes to enable/disable those switches.

For user interaction, Windows has done a good job of balancing function with the ability to modify. Although, it could easily be argued that you need to look at Apple and OSX to see how unix can be "done right" for the end user. The interface is elegant and simple, and users often say they can work faster in OSX than they can in Windows.
Zerosleep
For the non-casual user, I hope things stay on the same course.
markjensen
Quote - (Zerosleep @ Nov 21 2004, 12:41)
For the non-casual user, I hope things stay on the same course.
[snapback]584962139[/snapback]

Oh, I am quite sure that there will be the Gentoos, Slacks and Debians for the "tinkerers". GUIs will always be optional, as far as I can see, as it is nice to use Linux as a firewall/router on a low-end PC, or other nifty uses like print servers, etc.

I think it is a good idea that there are companies and organizations like Linspire, Xandros, Lycoris, etc. that are trying to put some 'polish' on Linux for entry-level users - like users who want care-free web browsing and email services, plus basic ability to open and create MS Word documents with their friends. (though I think that sending documents in propriatary MS formats is a bad idea - see sig) wink.gif
nhut
That article really only scratched the surface, but he brings up some good points. There's no way Linux can even attempt to increase its popularity among non-geeks if it can't get its interface right.

I've recently been testing out Linux, but have now given up in frustration. Gnome and KDE are so unbearably tedious (although slightly less so than I remember then a year or so ago). It's simply because they are not thought out; I wonder if the developers even use the interfaces they design! The masses of buttons on Konqueror's toolbar, is a prime example, as pointed out by the article.

Have a look at the current GTK File Open/Save Dialog: here! That's just embarrassing, and this is just the tip of the iceberg. The one in Firefox for Linux is not much better. KDE almost gets it right.

I suppose progress is being made... but all the Linux GUIs I've seen have a long, long way to go before they even approach the usability and aesthetics of Windows XP or MacOS X. Currently its awful font engine makes my eyes bleed, and I'm not going to consider the switch until this is improved.

[/rant]
rezza
Quote - (nhut @ Nov 25 2004, 09:13)
That article really only scratched the surface, but he brings up some good points. There's no way Linux can even attempt to increase its popularity among non-geeks if it can't get its interface right.

I've recently been testing out Linux, but have now given up in frustration. Gnome and KDE are so unbearably tedious (although slightly less so than I remember then a year or so ago). It's simply because they are not thought out; I wonder if the developers even use the interfaces they design! The masses of buttons on Konqueror's toolbar, is a prime example, as pointed out by the article.

Have a look at the current GTK File Open/Save Dialog: here!  That's just embarrassing, and this is just the tip of the iceberg. The one in Firefox for Linux is not much better. KDE almost gets it right.

I suppose progress is being made... but all the Linux GUIs I've seen have a long, long way to go before they even approach the usability and aesthetics of Windows XP or MacOS X. Currently its awful font engine makes my eyes bleed, and I'm not going to consider the switch until this is improved.

[/rant]
[snapback]584984798[/snapback]


The file open/save dialog you posted is old and outdated. Current GTK default is nothing like that.

Fonts render perfectly well, what gives you the idea that fonts on linux are "awful"? They certainly look alright to me.
A. Kaladis / nw_raptor
interesting... so far i think autostreamer (windows platform) qualifies wohoooo
CaKeY
About GTK fonts... IMO since 2.4.x they've rivaled those found on Mac OSX.
CaKeY
Quote - (nhut @ Nov 25 2004, 04:13)
Have a look at the current GTK File Open/Save Dialog: here!  That's just embarrassing, and this is just the tip of the iceberg. The one in Firefox for Linux is not much better. KDE almost gets it right.
[snapback]584984798[/snapback]




Gnome 2.6.1 which is also outdated, but good enough for me. vv

Click to view attachment
chavo
Actually that old gtk file selector worked very well. It had the command line with tab completion at the bottom of it. When the new file selector dialog came out, I missed that feature from the old one. But now in the latest versions of gtk+, there is type ahead find which works very well. Also you can hit CTRL-L to bring up a open location dialog with tab completion.
I've been using Linux off and on since Redhat 5.0, around 1998. Right now I have my first Linux only machine running Mandrake 10.1. I think that the Gnome people are doing an excellent job with usability. I find I don't do nearly as much hacking as I used to anyway. The only thing I change consistently is a little patch I made to add Window shading on right click to Metacity.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2009 Invision Power Services, Inc.