Tuesday, September 20, 2005

Software Design: Ease of Use vs. Discoverability

Almost every product you pick up, whether it's a hot glue gun or a $1000 impossibly complex piece of software, says this on it somewhere: "Easy to Use!"

But many products aren't so easy to use, as we all know. So this term has almost lost its meaning, like "intuitive" or "all natural". So what do you say about your product if it truly is easy to use? And what does that mean, anyway?

I want to make a distinction between ease of use, and ease of learning or discoverability.

Here's a simple example in software products: drag and drop. It may be easy to use, but how the heck do you discover that certain areas of certain windows can have things dropped on them? And just what kinds of things can you drop on them? The inverse of this is the File/Open menu item, which brings up an open panel in which you hunt around your hard drive in a tiny little modal window. That functionality is easy to discover (it's right there in the menu) but very tedious to use, particularly if you have a lot of files, in different places.

Another example is the use of styles in programs like InDesign and Word. They're really easy to figure out what they're supposed to do, and really hard to use. The problems range from scope (what in the heck will change when you click Apply) to the tedium of repeatedly selecting text then going back to the palette to click the style. NeXT Computer innovated in this area, it's now in many MacOS X apps, and still nobody has noticed: "Copy Style" and "Paste Style". You can load up the style you want to use and then, with one hand, select text; with the other, you "Paste Style" with the menu key equivalent. It's amazingly efficient and easy to accomplish. Why isn't this idea all over the place, in every product? Or Adobe Illustrator's "Transform Again" menu commmand. Brilliant.

In my view, the right choice is "easy to use, hard to discover", with some way to make it more discoverable. Tool tips, horrible as they are, were invented for this reason, to help you discover stuff that you might not otherwise have noticed. The dreaded "Tips" that pop up, with the handy check box, "Don't show me this again", are actually a really good idea. If they're telling you something you already know, at least you won't have to suffer through it again; and if you didn't know whatever it is they're telling you, often it's truly helpful. Microsoft really pioneered this approach, and, other than overdoing it with dancing paperclips and puppies, did a very good job of integrating it into their products. Their only mistake, I think, was having 38 small opt out preferences, rather than one big giant "leave me alone!" preference (I'm thinking of Word here, with all its helpful grammar checkers, date suggesters, "You seem to be writing a letter; want some help?" and stuff like that).

Ease of use boils down to this: can you remember, a month after you last used something, how to use it efficiently?

Discoverability is a bit different: can you figure out most of the functionality of a program within the first 10 minutes, "cruising the menus"?

I think one of the best (simple) ideas of all time in this category is, I believe, Microsoft's. It's the Recent Documents menu. It does exactly what you want 99% of the time, bringing back the documents you were most recently working on, regardless of where on your computer they might be living—and it is obvious how the feature works.

No comments: