If you want to know when new articles go
online,
subscribe to the WebWord.com
Usability Newsletter!
Book
Review: Are Your Lights On?
by John S.
Rhodes
Background
Usability
is a relatively new idea when you consider that problem solving has been
going on, well, basically forever. Humans are problem solving machines.
Everyone has problems; everyone solves problems. It should come as no
surprise that usability has a lot to learn from the art and science of
problem solving.
I
recently finished Are Your Lights On? by
Donald C. Gause and
Gerald
M. Weinberg. It is a book that is all about problem solving. I've met Don and he is a great guy. Like many good professors,
if you ask him a question, he will turn around and ask you a question that is really
the answer that you want. His book is full of great little tips and tricks
like this.
More importantly, at just over 150 pages it is easy to digest. It serves as a great introduction
to problem solving.
If
there is one thing that I learned from Are Your Lights On? it is that people
don't do a very good job at problem solving. Like usability, while problem
solving seems so obvious in retrospect, it is actually quite difficult. Let
me correct that. Solving problems is actually easy in much the same way that
doing usability is easy. If you want to solve problems correctly, then you need to
understand the problems very well. You need to figure out what the problem
really is. You need to define it, you need all the requirements, and you
generally need to do a lot of work upfront.
Before I hit the
core ideas, let me provide you with the definition of a problem, as provided
by the text: A problem is a difference between things as desired and things as perceived.
I really like this definition. While it can be argued that it is too
broad, I think it is exactly right. You can build the scope of a problem
around this definition. A problem can be large or a problem can be small. A
problem can be objective or subjective. In my mind, I can use this
definition to draw a line from Point A (the way things are right now) to Point B (the way that I desire things). It feels very solid even though
problems are not solid at all.
Enough
of my drivel. In the next section I will explain several core points from
the book. I will do my best to apply the ideas to usability. It isn't that
hard since so much of usability is actually problem solving.
Core Ideas
1.
Phantom problems are real problems.
Just because there does not seem to be a problem it does not mean that there is
not a problem. When users have imaginary problems, there is still a need to
find a way to eliminate them (the problems, not the users!). Managing perceptions, like imaginary problems,
is at the heart of the usability game. Remember, to a user, both types of
problems seem the same. Humans have a funny way deciding what is real and
what is not!
2.
It is a good idea to mathematically quantify a problem. This will help a group to more unambiguously understand a problem. The language of math is
generally objective. Math is a great equalizer in terms of communication.
More math should be used in usability.
3. A solution method is not the same a problem definition. Stated in my own words,
you must understand the problem before you explain how you are going to solve it.
If you are providing a solution you need to make sure you understand the
problem and you need to make sure you solving the right problem. Don't
discount this point.
4. If you solve a complex problem too fast, it will not seem like the solution is a good one.
Despite what you have learned, there really are times when speed can work against you.
You should use the extra time available to check your answer, look for flaws, search for alternatives, and look for ramifications of the solution.
Also, you can use extra time to make sure you answered the right problem.
You might want to find out if the solution is realistic versus optimal. Be
ready to provide alternatives. There a few times when there is exactly one
right answer, especially with web usability.
5. Even when a problem is solved, you will never know if you fully understood the problem definition.
Never. There are always hidden variables and background information that you do not
have available. You are always dealing with limited information. However, even with this problem, you should never give up on trying to understand the problem even after you have a solution.
This directly ties into the iterative design cycles you often find in
usability testing.
6. First impressions are very important, even critical, but they are not the law. There is more to solving a problem than a first impression.
Look beyond your gut feelings. Luke Skywalker can tap into the Force, you
cannot. Get the details. Get the facts. Don't just make guesses.
7.
Every solution will cause at least one problem. As Don Gause and
Gerald Weinberg point out, each solution is the source of the next problem.
It is very likely that you are only working on a few links in an entire
chain of problems. The scope of your problem must be chosen with great care.
8. One of the hardest things about solving a problem is knowing that it even exists.
Most problems are hidden problems. In usability testing, a core goal
is to discover problems so that they can be corrected. If you are a designer
or developer, you should assume that you have done a good job. However, you
must also assume that you have created more problems with your creation.
Your solution is a problem. If you have these thoughts then it will be
easier to know that problems exist and you can hunt them down.
9.
By the time a problem hits a user the designer is usually gone and away. This makes
it easy for people to blame users. This also means that designers will continuously develop
misfits if usability is not added to the development mix. Misfits are generally easy to solve once they are identified.
10. Changing the problem statement will change the problem, and the solution to the problem.
Similarly, what people say about a problem will change how it is solved.
For example, if the context makes the problem seem trivial, then it will be
treated as such.
11.
Humans tend to place a problem on the semantic level that that they find most comfortable. When it is comfortable, the problem solutions will pour out, when it is not comfortable, the problems solutions will seem very difficult. The
core idea is that people use their own language and ideas to define and
solve problems. Let's say you hate math but a problem is stated
mathematically. If that happens, you are less likely to understand the
problem and you are less likely to want to solve it. Note that semantic problems are real problems.
When you state the problem, make sure that all parties involved understand the language and meaning. If you don't, you will probably fail.
This idea is important in many ways. It also applies to how users interact
with web sites. If you don't use their language and if you don't fit the
site to fit their stereotypes then it will be less successful and less
usable.
12.
Blame yourself for the problem. It doesn't matter what the problem
is, blame yourself. World hunger? That's my fault. Potholes? Also my fault! Even if you truly know that the problem is not your fault, blame yourself.
It changes your perspective. It is opens your eyes. So go ahead and take it on the
chin!
13.
A reminder is a solution. Did you take your pill? Are your lights on? Do you have enough gasoline? These
questions are actually solutions because they prime people. These kinds of
questions make people realize that they have problems and they also
implicitly provide a solution. For example, if I ask if you took your pill
and they you realize you did not, then you will remember to take your pill
and your problem is solved. Beautiful!
14.
Most people, most of the time feel that they have a problem. People
like to complain, too. Understand this and you have struck gold.
15.
People don't usually know what they want until you give it to them. Sometimes
you need to draw on your creative juices. Also, you might want to spend a
lot of time going through design iterations. Develop, test, change, test,
change, test, change, and so forth. You get the idea. However, don't get
stuck in an endless loop. Specify the design time and stick to the schedule.
Schedules will help you solve your problem. They will help you focus on the
right problems.
16. It seems that we never have enough time to consider what we want but we do have forever to regret what we have done.
I feel that this is an argument for doing a lot of frontloading. Do your
homework. Do more work early and you will save time overall. It is hard to
do but it works. It works in problem solving (i.e., understand the problem
before you solve it!) and it works with web development (i.e., do usability
testing early).
Are Your Lights On? is a great book and I highly recommend it. As I
have indicated, several of the core ideas apply to web usability and
usability testing. In fact, I think that usability testing is just an
interesting subset of problem solving. There is certainly more to it than
that, but they really are close cousins.

Read more reviews of Are Your Lights On?
What next?
|