In my last post, I began what is amounting to an essay on what makes a program easy to use. In that post, I listed and defined the various elements which make an interface easy to use, and sketched out the basic way those elements interact with each other. In this post, we'll look at the first of those elements—intuitiveness—in greater detail.
As we have seen, an interface is intuitive when it is readily understood by the user. Ideally, this means there is little or no need for the user to be trained or to consult a manual.
This is often the first thing that comes to mind when people think of ease of use. Let's face it, most of us get new software and we want to start playing with it right away. We don't want to sit down and start reading about all the nuts and bolts; we want to see immediately that the software will be of benefit to us.
How easy a program is to figure out depends on a number of factors:
Simplicity. A steak knife is naturally more intuitive than a Swiss Army knife. The steak knife does one thing well, where the Swiss army knife does a wide variety of things. I have a simple little Swiss Army knife attached to my key-chain. It has a knife, a nail file that also doubles as a screwdriver, and a diminutive pair of scissors. Even with such a limited range of choices, it is not uncommon for me to pull out the wrong tool before I find the right one. I never make that mistake with a steak knife (especially when I'm hungry!).
In the same way, a program which only attempts to do a few things will naturally be more intuitive than a program which offers many features aimed at a wide range of users. The greater complexity of the latter program requires the developer to work harder to make the program easy to figure out.
When I used to conduct Bible software surveys for CMUG, I used to get comments like, "Just make it like iTunes." Okaaaay. Take a program which attempts a wide variety of Bible study tasks using a wide variety of Bible study resources and make it like a program which only does music. Today, of course, iTunes also does movies, podcasts, album art, includes a store, etc. Apple has done an excellent job of keeping iTunes easy to use, but its interface has nevertheless become more complex, and more choices mean the user is more likely to make a mistake.
Learning curve. Have you ever found it easy to figure out a program's basic functions, but then found it mystifying once you got deeper into it? The challenge of making a program intuitive is that you have to think about the entire learning process a user is likely to go through. And since different users have different needs and learn in different ways, that can be a daunting task!
It's such a daunting task, in fact, that few developers really do it. Most just settle for making a program easy for the beginning user who only wants a few basic functions. If the user wants anything more than that, the learning curve becomes much steeper.
For example, I went to a two-day training seminar for a program which marketed the initial aspect of its interface as easy to use. After spending about 40 minutes on that aspect of the interface, the trainer basically said something to the effect that it was a "crutch" for beginning users and that we would use it less and less the more we learned how to use the program. Needless to say, with the crutch taken away, this program became much less intuitive (hence the need for the two-day seminar).
Consistency. The best way to ensure that a program is intuitive across its entire learning curve is to make the interface as consistent as possible. Rather than offering the new user a shallow learning curve and then surprising him later on with a much steeper learning curve, a consistent interface enables the user to take the basic procedures he has already learned and apply them to more difficult tasks. That way, the learning curve becomes a smooth uphill climb rather than a shallow ascent to the foot of a steep cliff!
Design. How you design your program's interface can go a long way toward helping users figure out how to do things. For example, when Accordance was first released, it was relatively simple, and most of the important options could easily be placed in a single Options menu. As the program grew and became more sophisticated, it became clear that we had too many options in the Options menu, and people were no longer easily discovering those features. With version 6, we overhauled the interface and redesigned the menus so that all the search features were readily available in a Search menu, and all the display options were contained in a Display menu. This change was hardly earth-shattering, but it made it easier for the new user to know where to look for certain features.
Another design challenge for full-featured programs like Accordance is that on the one hand, you don't want to accost the new user with lots of features and options he is not ready to use; but on the other hand, you don't want to hide those features so that he fails to discover them once he is ready for them. Many programs rely on contextual menus as a way to hide complexity until the user is ready for it, but that's only half a solution. It works well for users who have been trained to right-mouse click whenever they don't know what to do, but it's still a hidden interface element which is not necessarily intuitive to brand new computer users. When we redesigned the interface for version 6, we chose to use disclosure triangles to hide portions of the interface which might be daunting to a new user. The advantage of the disclosure triangle is that it gives the user a visual cue that something more is available.
In general, a visible interface element is preferable to an invisible one, unless of course, the user is expecting an invisible one! Although we had planned to add contextual menus for version 6, they didn't make it into Accordance until version 7. For those who were used to contextual menus, the absence of them in Accordance made Accordance less intuitive. When they would get stuck, they would instinctively try control- or right-mouse clicking rather than going up to the menu bar or clicking disclosure triangles, so they were less likely to be able to figure out how to do what they wanted. Again, familiarity played a big role in determining how intuitive Accordance was to those users.
There's certainly more that could be said about what makes a program intuitive, but this post is already long enough. In the next post, we'll look at the factors which contribute to a program's ease of operation.