As a software development professional, you have probably found yourself in situations where you need to be literate in a field outside but closely related to your specialty, for example, the usability of a software product. I've experienced that situation many times and have accumulated a library on several related areas. Many are how-to books, whereas others are conceptual and thought provoking.
The following are descriptions of some of my favorite references. To be sure, there are many worthy volumes that aren't described here, but this might be a good place to start.
User and Task Analysis for Interface Design, JoAnn Hackos and Ginny Redish (ISBN 0-471-17831-4).
In the preface the authors explain their motivation for writing this book:
[We] seemed to continually encounter frustrated users who found the interfaces of whatever products they were working with difficult to understand. In most cases, we discovered that the developers of those productssoftware, hardware, documents, or training materialshad spent almost no time understanding their users and how the users worked.
In their attempts to find a better way to produce high-quality, usable interfaces for products, Hackos and Redish developed a structured approach. This approach stresses beginning the development process by ensuring that developers understand the purpose for creating the product, the people who will use the product, what tasks they will use it to do, and where and how they will use it. Applying this approach in the real world resulted in dramatic improvements in success by and satisfaction with products.
The key to the authors' approach to interface design is this: Unless you fully understand the users of the product and how they will use it, in the context in which it is used, there is a good chance that the product you design will not meet the needs for which it was intended. As a result, making site visits to observe users as they do their tasks in their usual work context is critical. Simply asking users what they want is no substitute for understanding what they are trying to accomplish.
This book has four major parts:
- Understanding the context of user and task analysis
- Getting ready for site visits
- Conducting the site visits
- Making the transition from analysis to design.
Although this book is rooted in anthropology, ethnography, cognitive psychology, ergonomics, instructional design, market research, human factors analysis, scientific management, and other relevant areas, it is a practical guide. It gives tips, hints, checklists, examples from projects, templates, and other aids for those who aren't sure where to begin.
One of the book's most valuable contributions is in its fourth part, in which the authors guide you in analyzing and presenting the data you have collected, building a design based on the data, and creating a design prototype that is faithful to the findings. In addition, one chapter discusses using this process to develop user documentation and traininga critical component of products that is often overlooked or poorly addressed.
The appendixes list practical resources for novices at task analysis. A template for a site visit plan, for example, helps you make sure you haven't omitted anything when planning a site visit. Some guidelines for user interface design help with menus, windows, dialog boxes, controls, icons, color, behavior, and language.
The Inmates are Running the Asylum: Why High-Tech Products Drive Us Crazy and How to Restore the Sanity, Alan Cooper (ISBN 0-672-31649-8).
Cooper is known as the "father of Visual Basic," and his expertise in software design is well known. In a previous book (About Face) he detailed how to design interfaces well. Those familiar with his earlier works know that he has an enjoyable and irreverent writing style.
In this book Cooper takes a step back from interface design and looks at the context in which the software product is to be used. This includes who will use the product and in what environments.
This book contains a number of interesting ideas. Two that caught my attention were the use of personas and an analogy between making software and making movies.
Developing personas as guides to how the software should look and work is somewhat different from conducting a traditional user analysis. Cooper advocates developing a detailed description of a single person for whom the software is designed. The description takes into account many characteristics that are not part of a traditional user description. By providing this level of detail, Cooper claims, the development team is better able to keep the needs of this person in mind when making design and development decisions. He advocates using not the term "the user," which is impersonal, but rather the name assigned to the persona. He claims that having a good persona acts as a foundation for all subsequent design activities.
Cooper says, "Making movies is exorbitantly expensive, just like writing software. They have been making films in Hollywood longer than we've been creating software in Silicon Valley, and we can learn something from them." He goes on to compare the filmmaking phasespre-production, production, and post-productionto the steps in a typical software development process. He further develops the analogy by suggesting that a number of the tools and techniques used successfully by filmmakers can be adapted and used successfully by software makers. He pays particular attention to the amount of time and effort spent by filmmakers on pre-production, a phase that is sometimes neglected by software makers. He says, "Movie makers know that they only get one chance to do it right, so they never skip the pre-production effort. In the world of software engineering, many managers believe that they can just fix it in the next release, so the pressure for advance planning is reduced. That's an awfully expensive assumption."
The Non-Designer's Design Book: Design and Typographic Principles for the Visual Novice, Robin Williams (ISBN 1-566609-159-4).
No matter what kind of work we do, we almost always need to communicate with other people. Whether it's user documentation, a business presentation, a Web page, marketing collateral, or any of a myriad other methods, a well-designed page (or slide or screen) can help you deliver your message effectively, and a poorly designed one can render your message invisible or impotent.
A few sentences from the preface succinctly describe this message:
"This book is written for all the people who now need to design pages, but have no background or formal training in design."
"This book assumes you don't have the time or the interest to study design and typography, but you would like to know how to make your pages look better."
"I guarantee if you follow these basic principles, your work will look more professional, organized, unified, and interesting."
That, in a nutshell, describes why I think this such a valuable resource. Add to that Williams' delightful writing style, and you have a book that is both useful and usable.
Williams introduces four basic principles of design: Contrast, Repetition, Alignment, and Proximity. As an illustration of the light touch of this book, she notes that the acronym formed by the principles is both memorable and inappropriate. She goes on to thoroughly describe each of these principles, illustrate and explain their application, and show how application of each principle has improved the design of a page.
Williams gives short quizzes at key junctures, with suggested answers at the back of the book, where you can see if your understanding of what was discussed goes beyond nodding-the-head-in-agreement.
The second half of the book helps you understand everything you'll need to know about fonts and typography short of becoming an expert. At least you can gain enough understanding to be able to communicate your needs and desires to an expert.
Basically, if you want people to read what you create, this is the book for you.
Web Navigation: Designing the User Experience, Jennifer Fleming (ISBN 1-56592-351-0).
In a series of tests of websites by users, Jared Spool and his associates at User Interface Engineering concluded that navigation and Web content are inseparable. The use of a "shell" strategy, in which the structure and content of a site are developed separately, was found to be ineffective. Spool and his associates said that the sites that were most successful were those where content and navigation were inextricably linkedwhere you couldn't remove content without updating all of the main navigation pages.
If you're designing websites, designing the navigation is an essential part of the task. This book can help you to make intelligent and informed decisions about the design of the navigation.
In the early part of the book, Fleming maintains that "there are no simple recipes for navigation design." She goes on to present 10 principles of successful navigation, which "don't add up to a formula, but they can help us understand the principles behind our design choices."
She states that navigation that works well should
- Be easily learned
- Remain consistent
- Provide feedback
- Appear in context
- Offer alternatives
- Require an economy of action and time
- Provide clear visual messages
- Use clear and understandable labels
- Be appropriate to the purpose of the site
- Support users' goals and behaviors
Fleming then expands on these principles, discussing audience analysis, site architecture, and interface and interaction design. She claims that a site design that deals only with navigation is incomplete. Through full-color illustrations, she gives some 20 examples of pages that exhibit good design.
According to Fleming, design of site navigation design has six phases:
- Information gathering
- Maintenance and growth
Fleming discusses how these principles are applied in specific kinds of sites: shopping, community, entertainment, identity, learning, and information. Each of these chapters includes sections titled "Laying the Groundwork" and "Outlining Specific Goals," discusses three examples of sites of that type that do it right, and recaps the chapter. Design tips are sprinkled throughout the chapter.
The book concludes with an adequate glossary, a bibliography, and a Netography (resources available on the World Wide Web). Given the book's publication date (1998) and the volatility of Web addresses, you may find that some of the links don't work. However, the ones that do work provide worthwhile, available resources at little or no cost.
Dick Miller is a technical writer and usability specialist at Hewlett-Packard, where he designs and develops solutions that help internal customers use computers and software to do their jobs more effectively and efficiently. He has been working in related fields since 1965. He holds degrees in engineering, physics, education, and business administration. In his spare time he enjoys playing Dixieland trombone and tuba.
Whiteboard Column Editor
Senior Principal Engineer
Computer Sciences Corporation
15245 Shady Grove Road
Rockville, MD 20850
©2000 ACM 1072-5220/00/0700 $5.00
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.
The Digital Library is published by the Association for Computing Machinery. Copyright © 2000 ACM, Inc.