GUI Bloopers 2.0
Common User Interface Design Don'ts and Dos
Jeff Johnson
UI Wizards, Inc.
Morgan Kaufmann
Publisher Denise E.M. Penrose Executive Editor Diane Cerra Publishing Services Manager George Morrison Senior Production Editor Dawnmarie Simpson Assistant Editor Mary E. James Production Assistant Lianne Hong Cover Design Dennis Schaefer Cover Illustration Melissa Walters Composition SPi Copyeditor Valerie Koval Proofreader Phyllis Coyne et al. Proofreading Service Indexer Broccoli Information Management Interior printer Sheridan Books Cover printer Phoenix Color, Inc.
Morgan Kaufmann Publishers is an imprint of Elsevier. 30 Corporate Drive, Suite 400, Burlington, MA 01803, USA
This book is printed on acid-free paper.
Designations used by companies to distinguish their products are often claimed as trademarks or registered trademarks. In all instances in which Morgan Kaufmann Publishers is aware of a claim, the product names appear in initial capital or all capital letters. Readers, however, should contact the appropriate companies for more complete information regarding trademarks and registration.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any meanselectronic, mechanical, photocopying, scanning, or otherwisewithout prior written permission of the publisher.
Permissions may be sought directly from Elsevier's Science & Technology Rights Department in Oxford, UK: phone: (+44) 1865 84 3830, fax: (+44) 1865 853333, E-mail: ), by selecting Support & Contact then Copyright and Permission and then Obtaining Permissions.
Library of Congress Cataloging-in-Publication Data, Johnson, Jeff, Ph.D. GUI bloopers 2.0: common user interface design don'ts and dos/Jeff Johnson. p.cm. Originally published: San Francisco: Morgan Kaufmann Publishers, under title: GUI bloopers, 2000. Includes bibliographical references and index. ISBN 978-0-12-370643-0 (pbk.: alk. paper) 1. Graphical user interfaces (Computer systems) I. Title. QA76.0.U83J63 2007 005.4'37-dc22
ISBN: 978-0-12-370643-0
For information on all Morgan Kaufmann publications, visit our Web site www.mkp.com or www.books.elsevier.com
Printed in the United States of America. 07 08 09 10 5 4 3 2 1
Working together to grow libraries in developing countries
www.elsevier.com www.bookaid.org www.sabre.org
ELSEVIER, BOOK AID International, Sabre Foundation
Acknowledgments
I could not have written this book without the help and support of many other people.
First I would like to thank my wife and friend Karen Ande for her love and support while I was working on this book.
I would also like to thank the reviewers of the first draft, who made helpful comments and suggestions: Sara Bly, Bob Carpenter, Ed Chi, Susan Fowler, Jesse Heines, Robin Kinkead, and Innosanto Nagara. Many colleagues sent me examples of bloopers, especially Tim Bell, Michael Bell, Cathy de Heer, Roland Dumas, Simon Edwards, Susanne Jul, Ellen Isaacs, Victor Stanwick, and Marcin Wichary. Cathy de Heer also helped identify parts of the first edition that needed updating. Comments about the first edition posted by readers at bookseller Web sites also helped guide the changes.
The book also was helped immeasurably by the care, oversight, layout and organization advice, logistical support, and nurturing provided by the staff at Morgan Kaufmann Publishers, especially Diane Cerra, Dawnmarie Simpson, Mary James, and Valerie Koval.
Finally, I would like to thank my clients and former employers. Without them, this book would not have been possible or necessary.
Introduction
Why was this book updated?
The first edition of this book was written in 1998 and 1999. The common application platforms then were MacOS9, Windows98, Windows NT, early versions of Java Swing, and Unix or Linux with CDE/Motif. Although many of the bloopers covered in the first edition are as common now as they were in the late 1990s, the book was starting to look out of date because the blooper examples were all from the last century. To look current, the book needed new examples.
A second reason for a new edition was that some bloopers that were common in 1999 have become less common, and new common bloopers have taken their place. A higher proportion of new applications these days are Web based, so it became important to discuss bloopers that are common in Web applications.
A third motivation for an update was that I have developed better ways to explain some of the bloopers and how to avoid them. I also have a clearer understanding of the basic UI design principles underlying the bloopers.
A final reason for revising the book is that readers of the first edition have provided a lot a feedback about what they liked and didnt like, in review articles published in magazines, comments posted in online discussion groups and on the books pages at online booksellers, and e-mail sent to me and to the publisher. I and the publisher decided it was time to build on the first editions strengths and correct some of its weaknesses (see ).
Why is this book needed?
Throughout the software industry, software engineers develop user interfaces with littlesometimes nosupport or guidance from professional UI designers. Some software is developed by individual freelance programmers who lack training in designing GUIs or access to people who have such training. Even in large development organizations, there may be no one with UI design training. Finally, some companies do have UI professionals, but not enough of them to cover all the development projects needing their skills.
The marketplace of software products, software-controlled appliances, and online services is therefore full of software designed entirely by people who are professional developers, but UI amateurs. Such software is a drag on the success of the entire industry.
I often review or test software that was developed by people who have little UI design experience. Such software is typically full of design errors. Many of these errors are common.
This suggested that a book focused on design errors and how to avoid them might be more effective than other UI design books have been, or at least a useful complement to such books. Accordingly, this book presents design guidelines in reverse: heres a common error; heres how to avoid it.
Not all bloopers that hurt software usability are made by programmers. Many software development organizations commit errors at the management level that negatively affect the UIs they develop. These management errors are in many ways more serious than concrete GUI design errors because they affect more projects and are harder to correct. In , I describe those sorts of errors and explain how to avoid them.
The main goal of this book is to help GUI developers and designers become better at catching their own design mistakes and at avoiding them altogether.
It would be great if the real world had error dialog boxes. They would pop up out of thin air in front of your face whenever you made a mistake. They would be a great way to train software developers and their managers to recognize when they had committed, or were about to commit, a blooper. Since there are no error dialog boxes in the real world, we need to program them into developers heads. I am hopeful that this book will help with some of that programming.
What is a GUI blooper?
This book describes bloopers (that is, mistakes) that software developers frequently make when designing graphical user interfaces (also known as GUIs). The bloopers in this book do not cover all of the mistakes GUI designers could make, or even all of the mistakes I have seen. Believe me, in over two decades of working as a user interface professional, Ive seen some design mistakes that were simply
Next page