Wednesday, 29 August 2007

Usability and learnability

The difference between usability and learnability is something that always sticks with me from Joel Spolsky's brilliant User Interface Design for Programmers. He makes the point that when people talk about software usability they are quite often referring to learnability, or how easy it is for a new user to learn how to use an interface. Confusing the two can be bad because learnability is not always the most important part of UI design.

Anyone that uses a command line interface knows how powerful it can be, and indeed for many tasks command lines are simply the best interface. It's rather like the difference between becoming fluent in a foreign language or gesticulating your way by. When holidaying in a country where you don't speak the native tongue, simply pointing to items in a shop or restaurant is much easier than learning the whole language - but if you live in a place for any length of time you will soon find it frustrating and much quicker to get what you want by speaking at least some of the lingo. This isn't to say that hand/mouse waving isn't still appropriate in many situations but just that learning how to communicate in the local language can make your life in Computerland run much more smoothly.

In software we would tend to regard a GUI as more usable than the command shells of power users. The GUI is easier to learn but it isn't necessarily the best tool for the job. A power user might learn keyboard shortcuts or change the file extensions of 100+ photos with a single shell command instead of clicking and renaming each individually with the mouse. Shortcuts like these are invaluable to anyone that uses a computer interface on a daily basis.

The above are common examples where there is a so called user-friendly and power user approach for the same task. However what tack do you take on designing an usable interface when the underlying process is inherently complex? The risk is you are either going to overcomplicate the interface, thus reducing the learnability, or annoy experienced users by making them jump through hoops around an overly simplistic GUI as they try to find advanced features that have been tucked away.

A classic Microsoft approach to the problem is the "Wizard" which holds the user's hand through each option in a step-by-step fashion. This is highly usable but once you know what you're doing, flicking through ten screens to change a single option on the eleventh is not suited to an experienced user who can handle seeing everything on one screen, so the Wizard is often made optional to the full-fat interface.

Apple favour leaving out the extra options. Non-essential functions tend to be hidden from the GUI if not completely removed, but sometimes this requires more in-depth knowledge of keyboard shortcuts (ctrl+click instead of a right mouse button) or even preference files for the advanced stuff. I have to say that from an average/casual user point of view I tend to prefer this approach but it doesn't work for everything.

After having a quick play with Apple's new iWork suite including their spreadsheet "Numbers" I am impressed. There are lots of innovative features such as instant alpha which meet the needs of the casual user. There are strokes of genius peppered with frustration when you want to do something more advanced.

Joel Spolsky makes the point that sometimes all you care about is high learnability, using the example of a tourist information kiosk where almost everybody who uses the interface will use it only once.

On the other hand Microsoft Office is used daily by millions and has hundreds of options, tool bar icons and keyboard shortcuts which might not be classed as user-friendly, however they make many people's computer lives easier and more productive once they've been learnt, so there is an argument for them in this scenario.

Spolsky draws the analogy of putting a new driver behind the wheel of a car and conducting a usability test. As the driver swerved dangerously around parked cars and stalled in the middle of busy junctions you would have to conclude a car is essentially unusable. However we all know that the learning process is worthwhile in order to control a car effectively and learnability isn't the most important factor. That's why the hazard lights button isn't inside the engine bay despite usability tests showing 99.5% of journeys will never need it or when you slam on the brakes in your car, a little dialogue box doesn't pop up saying "Stop now? (Yes/No)".

No comments: