Usability Guidelines

From Ultimate Commander

Usability is a crucial part of designing an application that is easy to work with. Bad usability can ruin user experience very badly and there are relatively few applications that get it right. Also, it is interesting to observe that most developers suck at usability design, as they're generally more logical, algorithmical and less artistic, creative.

I've taken special care of desiging the user interface of UC, because I've encountered with so many applications that had a weak usability. In the followings I'll highlight some usability related themes that I think are important. I tried to apply these guidelines in a rather strictly manner and it's possible that I made some bad decisions. You are encouraged to contact the project and make suggestions.

For an excellent resource on usability you should check out the The GNOME Usability Project, especially the GNOME Human Interface Guidelines within it.

Contents

Rule 1: One window to rule them all

Note: Infinitely forcing this rule may be disturbing to some users, so alternatives may be provided.

There are some applications that force the user to use multiple windows. If you have more applications in the same time on your desktop (which is generally the case) you'll get easily lost anyway. Forcing the user to use more windows for a single application can be extremely disturbing and it should be avoided.

The evil way

Glade uses more windows to get the job done.
GIMP uses bazillions of windows sometime.


The right way

Azureus carefully avoids using more windows, even for its configuration.
When creating new directory with UC, it embeds the dialog widget into its main window.


Rule 2: Avoid popups

Most applications (notoriously) use popup windows. Popups are meant as a way to catch the user's attention when a significiant event occurs, but I think they are extremely disturbing. Other people react the same way to popups as me most of the time as I observed them.

When a popup pops up, I generally get pretty uncomfortable because I have to press a nasty button in order to be able to continue to use the application. It feels like the button said to me: "You must press me if you want to go on because I'm an annoying little bastard and I'll only let you continue your work this way".

The evil way

The "No such address" error message of the old Firefox, implemented by a popup window.
Evolution and Gaim. Different applications, same stupidity.


The right way

The new Firefox notification mechanism, embedded into the main window of the application.
The infobar is the preferred notification mechanism in UC, embedded into the bottom of the main window.


Rule 3: Design the interaction smoothly

It is mandatory to be able to interact with an application in an efficient way. Most of the applications are designed with the mindset that the user must be able to access their functionality in an easy, intuitive, consistent manner. Unfortunately most applications also tend to disregard the concerns of the advanced users and I want to list three such things related to them.

The first is optimized widget interaction design. The best orthodox file managers make you able to select the files on their panels with your mouse in a hovered way. In simpler terms, the user can select the files by keeping the right mouse button pressed over a file, moving the pointer above the files that (s)he wants to select and releasing the mouse button. This is an obviously useful feature, yet most file managers stick to the default behaviour of the list widget of the GUI toolkit they use, so they don't support hovered file selection and interacting with them using the mouse becomes a pain.

The second is powerful keyboard control. Most applications tend to be created for novice users. Novices may not be so much dependent on the keyboard, but it's undisputable that advanced users are able to work in a very fast manner by using the keyboard and they strongly outdo novice users who solely use the mouse. The moral of this paragraph is that applications should provide powerful keyboard control features from a productivity standpoint.

The third is to make the user able to define a default operation in case of mass processing. To give you an example, when copying with Total Commander and a source file is not readable due to a scratched DVD disk or a destination file is not writable due to an inaccessible network share, TC doesn't offer skipping all unreadable / unwritable files. Clicking on the "skip" button a thousand times can be a serious pain in case you want to copy every readable files from your damaged DVD disk.

The evil way

Total Commander doesn't have "skip all" feature.
Krusader doesn't support hovered file selection and the active file is hardly noticable.


The right way

Krusader supports a wide range of user definable keyboard shortcuts.
UC supports hovered file selection.


Rule 4: Take the time to design the GUI

It's hard to find the balance regarding various aspects of the user interface. There should be some space between the widgets and the different elements should be aligned in a pleasant way so that the user could easily access them. Depending on the nature of the application and the targeted audience, it is sometimes hard to design a simple GUI. Often times the end result is crowded, badly aligned or non-intuitive. We should avoid that.

The evil way

Worker does not use icons and its buttons are heavily contcentrated on its bottom side.
X-CD-Roast does not use icons which makes it hard to intuitively understand.


The right way

The user interface of F-Spot is very well aligned and is truly accessible.
Tux Commander has a friendly and intuitive GUI.


Rule 5: Do not overlap widgets

Overlapping of the user inferface elements can have undesired side effects. The most common problem that comes into my mind is searching. Most applications pop up a modal dialog window that requires the user to enter the text to be searched. Most of the time this nasty window annoyingly covers the highlighted text, so it's a very disturbing user interface policy.

The evil way

The old search feature of Firefox uses a separate dialog window.
MonoDevelop uses a find dialog following the old practice.


The right way

The new Firefox search feature is implemented by a search bar which is far more superior.
The listing configuration of UC uses the frame of the inactive panel. No overlapping can happen this way.



Log in / create account
Google
 

This page was last modified on 31 January 2007, at 23:34.
Mono powered Powered by MediaWiki SourceForge.net Logo Valid XHTML 1.0 Transitional Valid CSS!