Most Read Latest News Blog Resources

A UI Designer’s Reading List




October 1, 2005 — 
It doesn’t matter how good your program is under the covers. If the user interface is miserable, people won’t use it. My last column discussed how the UI integrates into the design process as a whole. This week I’ll discuss a few books that can help you use the UI in this way.

My favorite book on developing a good user interface is Larry Constantine and Lucy Lockwood’s “Software for Use: A Practical Guide to the Models and Methods of Usage-Centered Design” (www.foruse.com).

Lots of books on UI development provide you with nuggets of wisdom about things like layout and usability. These books talk about what works and doesn’t work in the UI itself, such as where to put the buttons and what fonts to use. The problem with this approach is that the books are so focused on the minutiae of the UI that they lose track of the big picture: A program must do something useful, and the UI should help the user accomplish his goals with a minimum of fuss. Reading a book of this sort is like reading a book on language pitfalls before you learn how to program.

Constantine and Lockwood take a different approach. They are not at all concerned with things like look and feel; rather, they show you how to develop an “abstract” user interface that mirrors the natural flow through the tasks users must perform to do their work. Once you’ve done that, adding the “art” is easy.

The book focuses on use case analysis, which is also a fundamental part of developing your object model. That is, they identify the fundamental tasks that the program has to accomplish, and then design a UI that walks you through those tasks in an efficient way. By basing the UI design on the use cases, you guarantee a coherent integration of the user interface and the object model that makes the program easier to build and maintain as well. The UI is not a veneer on the top of the code; it’s a visual representation of the code itself.

The next book to buy is Edward Tufte’s “The Visual Display of Quantitative Information.” Often, the most important part of the UI is the program’s output. If the user’s goal is to find an answer to a question, then this report provides the answer. Often, however, the question is complex, and presenting the equally complex answer in a simple way that drives to the heart of the question is a challenge. Tufte talks about how to do that. How to take what would be an otherwise unreadable array of numbers and present them in such a way that the meaning of the numbers is clear. Tufte also presents a few design principles that I agree with. He’s a fan of density but not of clutter, for example. (Amazon’s check-out page is dense; Yahoo’s main page is cluttered.)

On the input side of the equation, read Donald Norman’s classic, “The Design of Everyday Things.” Norman focuses on the design principles that make an interface intuitive. Though only a small part of the book is devoted to computer interfaces, the principles he discusses are universal.

One particularly important concept is the notion of a UI accurately representing the inner structure of the program. All too often, the UI and the underlying program are structured completely differently. When the business rules change, however, this schizophrenic structure makes for a maintenance nightmare since changes in the underlying program don’t map cleanly to the UI.

The next issue is “usability,” a measurement of how easy (or difficult) it is to use a piece of software. Usability is something that can be measured, and you can use these measurements to improve the program. The two best books on the subject that I know are both by Jakob Nielsen: the now hoary “Usability Engineering” and the more recent “Designing Web Usability: The Practice of Simplicity” (www.useit.com).

Nielsen is controversial. He appears autocratic, and people argue (rightly) that UIs built strictly on usability principles are sterile. Neilsen’s practical approach to the user interface provides a good complement to the “homey” approaches taken by most books written on the UI, however.

Finishing up with the homey nuggets-of-wisdom offerings: Books of this sort bridge the gap between the more theoretical underpinnings of the UI and what it actually looks like on the screen.

If the books I’ve been discussing teach you how to program, the following books show you the traps and pitfalls: Alan Cooper’s “About Face: The Essentials of User Interface Design”; Steve Krug’s “Don’t Make Me Think”; Joel Spolsky’s “User Interface Design for Programmers”; and Bruce Tognazzini’s “Tog on Interface.”

These four books were written by opinionated (and amusing) people who present their opinions as gospel. I happen to agree with most of what they have to say.

Allen Holub is an architect, consultant and instructor in C/C++, Java and OO Design. Reach him at www.holub.com.


Share this link: http://www.sdtimes.com/link/28887
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading



 
 
 
 
News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 3/15/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Google Code turns 5
Google Code Turns 5, and adds a Paxos Algorithm to make the system more stable and reliable.
03/17/2010 11:16 AM EST

Test your Visual Studio 2010 know-how
Microsoft is offering free beta certification exams for Visual Studio 2010.
03/17/2010 11:08 AM EST

Microsoft lifts the hood on IE9
Microsoft is previewing IE9.
03/16/2010 01:10 PM EST

 

Events calendar tab
3/22/2010 to 3/25/2010
Santa Clara, Calif.
The Eclipse Foundation

4/12/2010 to 4/14/2010
Las Vegas
Penton Media

4/12/2010 to 4/15/2010
Santa Clara, Calif.
O'Reilly Media

4/19/2010
New York City
Flagg Management

4/25/2010 to 4/28/2010
Overland Park, Kans.
IIUG