Infinite Web Design

Customer Centered Design

Our Customer Centered Business blog discusses web design, business process consulting, and related issues in clear, non-technical language.

Heuristic Evaluations

Mar 04 2004

Heuristic Evaluation is a method for quickly examining an interface based
on a set of usability rules. A good list
of heuristics
was proposed by Jacob
Nielson and we will use them here. This article will discuss the role of
a heuristic evaluation in your design process.

The Role of the Heuristic Evaluation

One common mistake made by those practicing User Centered Design (UCD) as
they start to advance beyond the novice stage is that start to believe that
they know their users well enough without really talking to the users. They
make up a few user personas and use scenarios, they write up a few paragraphs
on their audience demographics and they think that they understand how their
users will think and act. Working with real users can be time consuming,
expensive, and frustrating at times and it is easy to start to rationalize
leaving them out of the design process. This means that they start to rely
too much on methods like heuristic evaluations that rely on usability principles
and rules rather than real user input and feedback.

There are many ways to keep this tendency in check. I recommend incorporating
real users into a well documented design process that you follow. If you
plan from the start to get real user input when defining user tasks, testing
navigation, labeling, and other parts of your design and when you look to
improve an interface you will be less likely to cut it out later.

How to Conduct a Heuristic Evaluation

These are best done as part of a team, if you are working alone you will
have to be extra careful about reading too much into your results. If you
can, use a checklist that contains a numbered list of usability heuristics
you will use. Go through the system you are analyzing methodically. You can
go through a web site or other system page by page, working through a hierarchy
or other logical ordering or you can work through a set of user tasks from
start to finish.

As you work you should make note of the location of each problem you encounter,
the relevant principles (helpfully numbered), and the severity of the problem
ranked on a scale that you find meaningful. This will allow you to quickly
organize your results into an effective report.

If you are able to conduct the evaluation as part of a group each member
should use the same checklist with the numbered heuristics and agreed on
scale for ranking the severity of problems. Have each person conduct a thorough
analysis on their own and then go through the same evaluation process as
a group. Having a projector to display the system rather than huddling over
a monitor makes this easier. Once you are done you can compile the results
to create a comprehensive list of the problems you have found. Entering them
into a spreadsheet or database can make sorting and organizing easier.

Reporting and Using Your Results

When you report your results it is helpful to break them down by severity
with the highest priority problems at the top. You can then order them by
principle or location depending on which is most relevant to your system.
This makes it easy to see what you need to spend the most time and energy
on fixing and what may get left off the to do list.

Remember that a heuristic evaluation is not the end of the process. Now
that you have located what you believe are the problem areas in the system
you are designing you can take two steps. You can conduct user tests using
tasks that will take users to the problem areas you found. This gives you
the opportunity to see how real users react to what you perceive as problems
areas. Sometimes the results will back you up but sometimes they will surprise
you. You can also use the results to correct egregious errors. When combined
with user tests or surveys a heuristic evaluation gives you some good ammunition
in your fight for funding for a project or justification for making major
changes a boss or client may object to.

Pre-Processed Design

Mar 01 2004

So you’ve decided you care about usability. But you have little time, less
money, and few available users on hand. So how do you go about getting any
meaningful information out of user tests? The first inclination when time
and money start to run out is to cut a bunch of corners. You think to yourself
that the task analysis is really over-rated and that user personas and usage
scenarios aren’t that important. You begin to question just how much you
need to get through every stage of usability testing before you launch your
product. This is easy to do, I’ve been guilty of it myself in the past. It’s
the same thing that makes programmers slack off on documenting their code.
It’s just too easy to assume that it won’t really hurt the end product. And
you’re probably going to end up paying for it for a long time.

There is in fact a better way to go and this is to develop a real design
process that you follow religiously. Write out the steps you are going to
take to plan and test your product. Create checklists and questionnaires
ahead of time and keep them ready for when you need them. Sometimes these
will be ready made and sometimes they will be templates that you can quickly
fill in. If you have a clear process with well defined steps you will be
less likely to cut them out when you are pressed.

Having a process in place also helps you when a client or boss asks how
long things will take or why you can’t just hurry it up. If you have it in
writing and ready to show them it can not only buy you the time you need
to do things right but it can make you look good for taking longer.

So what does a good design process look like? There is no one answer to
this. It varies by the industry, company, and individual. Some industries
have process certifications to help with this. Many web design and usability
firms have an internal process that they expect their employees to embrace.
Sometimes this can be frustrating if it is too inflexible and bureaucratic
but often it can lead to greater efficiency and productivity because everyone
is operating with the same fundamental design process in mind.

Here’s a sample 13 step design process that you can adapt to your needs.

1 ? Project Scope

Determine the parameters of the project. What it is, when
it will be done, what the budget is, who will work on it. This should be
detailed in writing before work begins.

2 ? Gather Information

Gather as much information as possible at this point.
Any information on the audience, the user needs, past development, potential
content, etc. that has been preassembled should be gathered and evaluated.
This gives a starting point for the rest of the information gathering process.

3 ? Project Strategy

Why is this project being undertaken? Is this a sales
and marketing project? Will this be used to improve communication with customers
or other employees internally? Is the goal to establish a better brand identity?
Establish the goal of the project and make concrete goals rather than nebulous
ones. This means avoiding statements like ?we want a cool website? and setting
goals like ?we want to increase the number of visitors to our site you complete
a sale?. The more concrete the goals the better you can plan to meet them.

4 ? Research

Now is the time to do some digging for useful information. At
this point you have created a base of information to build on and have
concrete goals to meet. Now you’ll want to do the competitive analysis to
understand what you’re up against. Conduct some introductory surveys, if
there is an older system you are fixing or replacing you can ask users for
feedback on it. You never want to lose what they like about the old system
when you release the new one, it will lead to a flood of complaints. Understand
the history of the company and how your project fits into their future plans.
Gather all the information you can to understand the content being conveyed
by the system you are developing. If it is a medical information system learn
the difference between cardiac and respiratory. You have to become an expert
in whatever you are trying to present to people.

5 ? Brainstorm and Prototype

Start to come up with ideas and make sketches.
Write down all of the options you can think of. Look at the traditional
methods and ask how you can break out of old routines to make things better.
You should have enough information and understanding of the project to come
up with some decent ideas at this point. Don’t’ discard things out of hand
now is a good time to ask why or to ask why not.

6 ? Understand the Users

You need to get into the heads of your users. You
should create user personas and use scenarios. You can conduct users task
analysis through user tests and through an analysis of the system capabilities.
Gather any web use logs tracking user activity. Create a detailed list
of user tasks and their component parts. Task flow diagrams can be very useful
in this.

7? Information Architecture

You need to conduct a thorough inventory and
analysis of the information that your system will be conveying or working
with. You should know what formats the data is available in. Are you
working with HTML, XML, relational databases, PDF files, etc. You should
create a workable schema for organizing the information. Remember that the
information schema you come up with should support the user tasks. You can
use traditional schemas like LOC headings or you can use various techniques
like card sorting excercises to create your schema.

8? Flesh Out Content

Now is good time to go through your content and start
to edit it for cohesion, voice, and usefulness. Ask your content providers
to look at the information architecture you have developed. Make sure
your schema can accommodate the content in your system. Remember that content
is not just text, it is images, sounds, video, numerical data, and other
media. This can vary greatly from one system to the next. Take the time
to make sure your content is fresh and relevant and that your schema matches
it.

9? Graphic Identity

Though often overlooked by usability or accessibility
minded designers it is important to create an attractive product. Good
graphic design is not just about making things look pretty, it is about conveying
information visually in an effective manner. It so happens that effective
graphic design tends to be pleasant to look at as well. However, beware
the fallacy that things which are visually pleasing are always good graphic
designs. There are many pretty things that convey no useful information at
all, we see many splash pages that meet this description. Avoid this by working
with your graphic designers to create a visually pleasing design for your
system that also conveys information effectively. The graphic design can
support your information architecture and improve navigation and reduce user
errors. Well designed icons and good color choices can help users understand
the operation of a system quickly and easily.

10? Write Good Code

You’ve spent a ton of effort to get this far in the
process. Don’t crap out now by writing messy code. If you can’t do it hire
a guru that can. Write for the future, document the code, and don’t accept
it when the code is buggy or poorly written. Make your code beautiful.
Don’t ever produce a product that is hacked together to get it done for now.
That will be the system that is haunting people 15 years from now when you
are long gone. Use the right tools and use them well. Also, don’t accept
the answer that it can’t be done. Coding is like imagining, if you can think
of it you can almost certainly do it.

11? Quality Assurance

Once you have an attractive, well coded, well organized
system up and running you need to test the hell out of it. You never want
your users to see the nice, well written, easy to understand error message
you came up with. NEVER. You want a system that works flawlessly, that
has no dead links or server errors. You don’t want to launch your system
only to find out that users can’t understand your brilliant labeling system.
So you are going to test your designs. So you are going to do heuristic walkthroughs
to check for inconsistencies or mistakes. You will spell check every document
and read through the content carefully. You will conduct user tests on
every part of the system and fix whatever is wrong.

13 ? Product Launch

You should plan for every contingency when it comes time
to put up a new system. Do it on a Friday before a long weekend. Backup
everything, twice if you can. Be ready for odd things to happen, they almost
always do no matter how well you plan. There will be flooding at your hosting
company, your hard drive will fail in the middle of uploading a new website,
your eyebrows will catch on fire. Plan for something to happen and be ready
to spend some time to fix it.

14 ? Follow Up

Follow up the launch with some questionnaires, surveys, or
user polls. Make sure the system is running smoothly by checking server
logs. Make sure that the client or boss is happy and if not act quickly to
make them happy. Find out if there are any problems that are popping up from
using the new system and address them as best you can. Problems happen even
with the best designs but if you act quickly and attentively when they do
you can make people perceive you as being helpful rather than as the one
that provided the buggy system. Also, go back over everything you did and
try to improve your process for next time. Remember that nothing is perfect
and there is always a chance to get better if you want to.

Is Usability a Fad?

Feb 19 2004

Usability is spreading. Microsoft, Apple, Google, Amazon.com, Adobe, and Macromedia all hire User Interface (UI) designers, user experience designers, and other usability folks to work as part of the software or web design teams. In big and small ways companies and individuals are starting to really press for computers that the average Joe can use. But is usability doomed to go the way of the moa? Will we see a bunch of people trying to tactfully get around saying that they were part of the usability movement in favor of the next great thing?

My short answer is ‘not likely’. While the terminology may change there is a growing appreciation that in order to make truly great computing and information systems we must not only make them fast and full of nifty functions, but we must design for real users. User centered design is the core of usability. ‘Know thy user’ is the number one mantra of usability experts. They understand that a frustrated user is less likely to spread the gospel of your product on to others, they are more likely to look elsewhere next time they buy something, and you are less likely to become a multi-bazillionaire selling things people can’t use.

Additionally, unlike some technologies that are the ‘next big thing’, usability and user centered design are not about any one technology. It is a design philosophy that gets past the old ‘if you build it they will come’ idea. It is a way of approaching any system and exploring how it can be improved to better meet the needs of the real people who are using it. It is hard to imagine a backlash to this, with people touting anti-usability as the way to go. It is an odd future where designers would be heard saying ‘let’s make these labels more ambiguous’ or ‘that Save option is to easy to use, let’s change that keyboard shortcut to Ctrl+Alt+Shift+F7+Q’.

Usability is also a problem that will never really be ’solved’. Every new system, web site, device, or piece of software brings with it a new set of challenges to usability. Every new set of users has different abilities or disabilities that must be addressed. Improving usability is an ongoing process that has no foreseeable conclusion. But that means there is always hope and opportunity to make things even better than they already are.