Archives
 
 
 
  Special
 
 
 
  About Us
 
 
 

Newsletter
Free E-mail Newsletter from BYTE.com

 
    
           
Visit the home page Browse the four-year online archive Download platform-neutral CPU/FPU benchmarks Find information for advertisers, authors, vendors, subscribers

Articles10 Steps to Better Usability


November 1997 / Bits / 10 Steps to Better Usability

Jakob Nielsen , Sun Microsystems Distinguished Engineer, discusses the hows and whys of product usability.

Dave Andrews

BYTE: You've studied useability and user interface design issues since 1983. Do you feel that the number of people who design products with which others interact will increase as computers become more popular?

Nielsen: Oh yes, more people are already designing their own user interfaces, in the sense that a Web page is a user interface. The scope of user interface design has expanded dramatically because of the Web. It used to be a small set of professionals doing it. But now it's essentially everybody, because everybody seems to be designing a Web site. My analogy is that designing a Web page is quit e similar to designing a dialog box. You want to design a set of options for the user, things like what can they click on, what can they do, what is the stream of the users attention when you're looking over this layout, whether it's a dialog box or a page layout. [Analyzing] what users look at first, what they look at second, is quite similar to designing a dialog box. Designing a Web site is similar to designing an application. Because now you have to worry not just about those detailed issues, but also about the navigation flow. How do the users move between all those different options, that's what comes into site design as opposed to page design. We now have millions of people doing this, whereas a few years ago, we had a few thousands of people doing this. Many issues and problems that we see on the Web are the same ones we've had for a long time. For example, one of the big problems with Web design is one of consistency. Consistency is one of my 10 general principles (see below), but th ey all apply to the Web. Many of the problems we see today are very similar to the problems we had with mainframes.

BYTE: How are the problems we see today reminiscent of the early days of mainframe computing?

Nielsen: If you go back to the really old days of the mainframe, back then user interfaces were not done professionally. A lot of user interfaces were done by whichever programmer happened to be doing that application. And the programmers wouldn't, or didn't, talk to each other. They all thought, "My application is a unique thing." So they would assign actions to function keys that were optimal for their specific application. And then a few years later, mainframe users started using multiple applications, and now the function keys were completely inconsistent. Some applications might have the "Previous Screen" function assigned to the F3 key. But in another application, F3 might mean "Quit." That was completely inconsistent and was one of the things that users started complaining about very heavily, that the same button would do different things in different applications. We recognized, before I started working in this field, back in the late 1970s that consistency was very important for user interface design. That rule has carried forward to today with Web design. We now have problems today that are very similar to the problems we had with mainframes.

BYTE: Such as?

Nielsen: Now different departments will do pages about different issues, for example, human resources information for an internal Web site, for an intranet. Someone will design a page that's a really great human resources site. But the users of this page, the employees of a company, sometimes they use human resources information, sometimes sales information, sometimes information from another department, and if things like the search button work differently in each departments' Web pages, that starts to really slow down users.


You can get more on this topic from http://www.useit.com/papers/heuristic


Nielsen's Top 10 List

Provide status feedback. The system should tell users what's going on. "This is particularly true for the Web, which is not yet robust and reliable."

Match between system and real world. The system should communicate in words, phrases, and concepts that are familiar to the user.

Give users control and freedom. "Don't trap people in a state where they cannot escape. Always have a cancel button available."

Be consistent. "If a button for your home page is always in the same location, users don't have to figure out where it is."

Prevent errors. This may sound obvious, but if something is likely to lead to an error, make it difficult to do and ask confirmation questions such as, "Do you really want to do this?" But don't overdo the confirmation, or the user may get impatient and click "YES" to everything.

Make objects, actions, and options intuitive. "Recall, where you have to remember what something does, is much more difficult than recognition, where you immediately know what something does."

Provide flexibility. "Give experienced users shortcuts and give novice users Wizards. There should be more than one way to accomplish a task."

Practice aesthetic and minimalist design. "Every piece of information on the screen competes with all the other information there. If something isn't necessary, remove it."

Help users recognize, diagnose, and recover from errors. "In an error-message situation, the user is motivated to overcome a problem. Errors are a primary opportunity to teach users through informative error messages."

Provide on-line help that provides quick answers to specific questions.


Jakob Nielsen

photo_link (27 Kbytes)


Up to the Bits section contentsGo to previous article:
Flexible C++
Matthew Wilson
My approach to software engineering is far more pragmatic than it is theoretical--and no language better exemplifies this than C++.

more...

BYTE Digest

BYTE Digest editors every month analyze and evaluate the best articles from Information Week, EE Times, Dr. Dobb's Journal, Network Computing, Sys Admin, and dozens of other CMP publications—bringing you critical news and information about wireless communication, computer security, software development, embedded systems, and more!

Find out more

BYTE.com Store

BYTE CD-ROM
NOW, on one CD-ROM, you can instantly access more than 8 years of BYTE.
 
The Best of BYTE Volume 1: Programming Languages
The Best of BYTE
Volume 1: Programming Languages
In this issue of Best of BYTE, we bring together some of the leading programming language designers and implementors...

Copyright © 2005 CMP Media LLC, Privacy Policy, Your California Privacy rights, Terms of Service
Site comments: webmaster@byte.com
SDMG Web Sites: BYTE.com, C/C++ Users Journal, Dr. Dobb's Journal, MSDN Magazine, New Architect, SD Expo, SD Magazine, Sys Admin, The Perl Journal, UnixReview.com, Windows Developer Network