Amazon.co.uk Review
Designing from Both Sides of the Screen: How Designers and Engineers Can Collaborate to Build Cooperative Technology is a must-have book for anyone developing user interfaces (UI). The authors define a seemingly simple goal, the Cooperative Principle for Technology: "Those who are designing, building, or managing the development of technology should teach their products to follow the same basic rules of cooperation that people use with each other."
In the first section, they show lots of good and bad UI examples from different devices (PC, PDA, photocopier, even a dashboard). Bad examples include confusing pop-ups, crowded menus and hilarious error messages like this one from Yahoo! Messenger: "You are not currently connected. Please click on Login and then Login to login again."
The book gives succinct design principles like, "Treat Clicks as Sacred". A violation of this would be those dreaded "Do you really mean it" pop-ups. Using a butler as an analogy, they point out that hed soon be out of a job if he questioned, "Madam, are you sure you want me to answer the door?" A Design Guideline says, "If you have an Undo feature, there is no need to break the users flow to ask them whether they really want the program to do what they just asked it to do." Design Guidelines like this appear in the margins throughout the book for easy reference and are gathered in a handy appendix summary.
The second section goes into detail on the creation of the authors own project, Hubbub, a multi-device instant messaging application. Whenever a step in the process reflects the application of a design principle, theres a purple callout in the text. Thus the book itself is an example of a cooperative UI that helps readers keep ideas organised as they read along.
Even if youre not developing user interfaces, youll enjoy this book. There are many moments of recognition when you see just how flawed your favourite, or most hated, everyday application/operating system/Web site is, and how easily it could have been improved. And you may even find the principles of Cooperative Technology informing non-technological areas of your life. The authors make politeness and the anticipation of the needs of others seem logical, feasible and elegant. --Angelynn Grant
Book Description
Design and build better software by understanding the motivations of your collaborators.
Illustrates in a step-by-step manner the design processes and presents a practical, hands-on approach to the real world process of designing a user interface (UI).
Offers clear principles and a proven design philosophy, which are easily incorporated into diverse design problems.
Includes a metric to measure how well a design is enabling "flow", a concept described in the book. This book not only offers a sound and proven philosophy for designing and building software, it explores the dialog between designer and software engineer, and offers insights which when applied will facilitate a higher degree of collaboration between them. With a minimal understanding of the values and motivations of one another, these people are often team members standing in adversarial relation to each other. The authors provide background, model effective thought processes and dialogs, and give the readers clear, concrete principles and examples for design considerations. This book is written for both software engineers and designers and illustrates a process which they can use to dramatically increase the quality of both product and process.
Ellen Isaacs has been designing software user interfaces for over 11 years at such companies as Sun Microsystems, Excite@Home, AT&T and Electric Communities (now communities.com). She has designed applications for a variety of platforms including Windows, OpenWindows, the Web, and Palm OS.
Alan Walendowski has been a software engineer working in the trenches for over 15 years. He has worked for companies such as Sun Microsystems, 3DFX, AT&T, IBM, and ComputerVision. Walendowski has worked on device drivers, graphics engines, systems software, distributed systems, client-server systems, and user interfaces.
See all Product Description