Software vendors’ marketing materials brag that their products are “intuitive” and “easy to use” so frequently that we tend to ignore the claims as meaningless hype.
As designers, we all want our products to be easy to use, but it’s quite tricky to define precisely what that means. It is difficult because ease of use is a subjective experience, different for each individual user. It depends on the user’s skills, knowledge, and experience (both of computing and of the subject domain), and even their attitude and mood.
For instance, my accountant loves QuickBooks. She says it’s very easy to use, but she’s been using it for years. I found it pretty easy to get started creating invoices and paying bills, but I’ve used other accounting software and I took some accounting classes years ago. People who start new businesses and who have no previous accounting background might have a harder time using it; not only must they figure out how to operate the software, but they have to learn basic accounting concepts like trial balances and bank reconciliations. Somebody who has never used a computer before will likely be completely befuddled. And users willing to explore and experiment will have an easier time than those who freeze up in fear of breaking something.
While ease of use is subjective, there are definitely some products and interface designs that we can agree are easier to use than others. The definition of ease of use, then, might be compared to the famous definition of pornography: “We know it when we see it”. Still, it is useful to try to decompose the notion of “ease of use” into aspects that we can try to optimize in our designs. My initial brainstorming of the factors that make a software product easy to use includes:
- Value to the user or organization: Does the product provide the functionality that the user expects? Can the product help users (or their organizations) successfully accomplish their intended goals?
- Quality of work done (fitness for purpose): Does the product perform its tasks competently? (I would hesitate to call a income tax calculator usable if it incorrectly calculates your taxes payable, even if it has a pretty-looking interface.)
- Explorability and discoverability: Does the product encourage the user to explore or navigate it? Is it possible to determine the product’s available functions, discover any key concepts (like layers and transparency in a photo-editing application), and figure out how to use the functions to accomplish tasks? If the user uses a trial-and-error approach to trying out functions, can the effects be undone?
- Learnability: Can a new user figure out how to perform an intended task within a reasonable period of time? Can the task’s steps be easily remembered the next time the task needs to be done?
- Clarity of model and concepts: Does the product provide clues that help the user form a correct mental model of how the product operates? Do names, labels, diagrams, layouts, and so on help communicate the product designer’s intended concepts clearly and consistently? Can users reasonably predict the effects of activating various controls or menu options?
- Tolerance: When the user makes mistakes, does the application react gracefully? Can the user easily correct or recover from errors and mistakes?
- Low error rate: Can a user typically accomplish tasks without making a large number of mistakes, especially mistakes that could have been avoided?
- Efficiency: Can tasks be accomplished with the minimum possible effort, in terms of thinking, doing (keystrokes and mouse-clicks), reading, and waiting?
- Minimum annoyance: Can tasks be accomplished without annoyances such as lengthy delays, unnecessary steps, unreliable or unpredictable behavior, inconsistencies and surprises, excessive pop-up dialogs, intrusive advertising, etc.?
- Satisfying user experience: Is the product generally enjoyable to operate? Is it nice to look at? Does the user leave with a positive or negative impression after using it?
For enterprise applications with a long operational lifespan, I would also include:
- Usability sustainability: Has the application been conceived and constructed in such a way that enables future changes to be designed and implemented without degrading the application’s ease of use and consistency?
In upcoming blog posts, we’ll explore strategies and techniques for designing software products in order to optimize each of these aspects of usability. We’ll also look at how to test and measure a product’s ease of use.