What Is 'the Obvious'?
In addition to designing software, I also, as you might guess, use software. And I, like many people whether they realize it or not, tend to "hire" software the same way I would hire a person. I look for certain qualities, like a helpful nature, reliability, trustworthiness, and other things I'd expect to find in a good Boy Scout. Mostly, I look for the ability in a prospective employee (in this case, the software) to get work down in a smart and timely fashion so I can feel extra productive as a result of having hired the software. I look for characteristics that make me say, "Hey, you're swell. I'd like to work with you, take you under my wing, and invite you over for brunch. Come, join me in a game of Parcheesi."
Software, however, often interrupts me while I'm working, tells me I've made a mistake, refuses to help out in a useful way when I get stuck, spends a lot of time revealing things about how it works instead of simply telling me the job is done, and exhibits many other behaviors I find undesirable in employees. But usually I'm stuck with it. I can't find a way to live without the product because it's so valuable to my work, for whatever reason. I can't simply trade it in for something that may or may not be better, so I suffer through it. I yell at it, procrastinate dealing with it, and complain about it, but I live with it. This, of course, bugs me to no end.
These issues are not the result of an obvious design. An obvious design would let me get in, get what I need, and get out without spending any time at all thinking about how the software works or how to work with my data.
The goal of every Web-based software company should be to design applications that are so intuitive that the people using them attribute their ability to use them effectively to pure common sense. The design should make things clear. The products should be simple to understand, easy to learn, well organized. Interface elements should be intuitive, streamlined, uniform.
That's what makes an obvious design.
Software shouldn't force users to understand how it works so they can learn to do things with it. It shouldn't make them wonder if something has gone wrong and all their changes are about to be lost. It shouldn't spend a lot of time and effort interrupting their work to tell them something has broken and there's nothing they can do about it but click OK. It's not OK.
The people using our software every day want to get what they need and move on. Very often, they're not like us. We're geeks. Normal people don't sit in front of their computers all day because they enjoy it. They do it because they have to.
They put down their money and/or valuable time and make an investment in our Web applications. They have a reason for using the applications. They have goals. They have needs. They have expectations. And invariably, they have work to do.
We, the people who make the software, need to stop giving users excuses and start showing them results. We need to stop shoving modal error messages in their faces and start being polite. We need to stop talking down to them. Our users should be able to walk away from their computers feeling empowered. Productive. Respected. Smart.
Fortunately, this is all possible. And no, it's not nearly as complicated as you might think. We just need to start designing the obvious.
At this point in Web history, there are quite a few really great applications out there. Sure, they all have their own problems, but overall, many of them are swell. And we can learn from them. Backpack, Blinksale, DropSend, Google Page Creator, Blogger, and many others are all excellent examples of how Web applications can be made simple, effective, and most of all, obvious. Throughout this book, we'll look at the qualities that make applications like these so great, and discover how to create them in our own applications so our users can at last reach Web bliss.
Google Page Creator makes it obvious how to perform the most common tasks when adding content to a Web page, such as formatting text and creating links.
Qualities of a great application
So what makes an application obvious?
When I sat down to write a list, it came very easily. I've used a lot of software, and much of it is now Web based. I've used everything from Web-based word processors to data dashboards, from calendaring applications to blogging tools, from site builders to room planners.
Over the years, I've paid attention to the qualities that make some products great and others miserable. I've stockpiled notes and documents and images and flowcharts and screen shots. Here's what I've seen. Your list may differand yes, I definitely encourage you to write your own, either from scratch or by expanding on this one.
Great Web-based software, in my experience, has some or all of the following qualities:
Each of these qualities has been documented as the result of studies in human-computer interaction, usability testing, and user-satisfaction surveys. The interesting part is that these qualities usually go unnoticed. Why? Because good software makes itself invisible. It enables users to do what they need to do and gets its behind-the-scenes operations out of the way so they can do it well. That's what makes it obvious.
The good news is that the items in the preceding list are not only noticeable, if you know what to look for, they are also reproducible.
Yes, indeedy. You can design them.