You have probably heard people talk about usability as making a user interface more efficient for the user. And what they usually mean by efficiency, in particular, is reducing the number of mouse clicks to complete a task. Efficiency carries great appeal for most engineers, including software developers. It certainly seems like a natural way to improve usability. Little wonder, then, that whenever there is a discussion among developers about user interface designs, the option with the fewest mouse clicks wins.
But maybe not if there is a usability specialist in the room!
Usability specialists we have come to the realization that plain efficiency does not make for the most usable interfaces, nor the happiest customers. We are developing an alternative quality criterion, namely, effectiveness, as a basis for evaluating and designing our user interfaces.
Below I describe efficiency and effectiveness, and describe some of the differences that following effectiveness is beginning to make on our user interfaces.
What is efficiency, really?
Efficiency is a simple measure of productivity—how fast a user can perform a set of tasks without making any errors. Efficiency is measured for an individual task by counting all the actions that a user must take to complete it. This approach to calculating efficiency is called keystroke-level modeling. When you think in these terms, efficiency is conceptual straightforward. It is easy to quantify, and apply as a metric to compare alternative designs.
Often business applications optimize a user's efficiency on some tasks, which we can think of generically as navigating from point A to point B. In other words, existing application designs try to make sure there is an optimal path that the user can take.
A trouble with solutions based on efficiency is that they focus on arguably the most trivial aspect of a user interface—simply because it is the easiest to measure—and ignore the user experience as a whole. When we think of user experience as central, other important questions pop up. What is the relative importance of the tasks that the user is trying to perform? Will the user make a lot of mistakes? Will the user misinterpret the interface and thus understand any results incorrectly? How easy is it for the user to back out of mistakes for each of those tasks? Will the user be distracted by the UI or by the other demands on his attention that his job places? Can the user learn the interface? Will the user quickly forget the subtleties of the interface and have to relearn them for each usage episode?
In contrast, I advocate a holistic approach centered on the notion of effectiveness. Effectiveness considers the aspects of user experience that efficiency disregards. Specifically, I define effectiveness with respect to a set of user goals as the accuracy and completeness with which a user achieves those goals. Indicators of effectiveness include learnability, error prevention, and quality of navigation.
The learnability of a user interface refers to the time it takes the user to learn how to use it. Imagine a user being presented with an interface for the first time and trying to figure out how it works. A common example of a hard-to-learn user interface is of a stringed musical instrument such as the violin. It takes people years to learn to play even simple melodies well. For a software product, learnability is often measured in terms of its implementation or training time.
Learnability includes the element of recall—the ability of a user to resume active usage after a period of time. Poor recall leads to the frustrating feeling that you know how to use a functionality but just can’t figure out how to use it now. You would then refer to help documentation or go ask someone. And, just to make sure you don’t forget how to do it, you might note the instructions! An effective UI won't make you do that.
Reducing user errors is key to improving the effectiveness. Everyone experiences this even with simple interactions like creating a password and username for a new web site. Each site seems to have its own set of rules, which it won't divulge to the user until the user violates one or more of those rules. Why is it that even the most user-centric products fail to inform the user of the requirements for a password? For instance, the example below shows how a site provides instant feedback. However, it does nothing to prevent such errors. Why must the user interface wait for the user to make an error and then present the error in red font?
The third key aspect of effectiveness is navigation. The feeling of being lost in the product is almost as disconcerting to users as the feeling of being lost in the physical world. More importantly, users need to have a feeling of comfort about what they need to do in order to complete their task.
Navigation is a big topic and I will return to it in a later posting. However, navigation has a lot to do with the effectiveness of the user for a single task and across several tasks. Wizards and Guides help the user effectively complete tasks. They provide an overview of the task flow and the status of the task every step of the way, thus making sure a user is never lost about where he is and where he is headed. Navigation across multiple tasks relies a lot on the menus options presented to the user, the organization of action buttons, etc.
Effectiveness may be the key metric to go after in order to measure the usability of a product as it incorporates issues across tasks. It better reflects what the user does in the real world. Simply testing the efficiency of completing a task ignores factors that affect usability in the real world e.g., learnability, navigating to and between tasks etc.