Appendix B. Bibliography

Table of Contents


There is a vast literature on user-interface design and humman-computer interaction. Unfortunately, much of it is useless to the working Unix programmer. One major reason is that a lot of it is actually academic analysis of human task performance, the computer equivalent of time-and-motion studies — interesting for its own sake, but difficult to translate into practical advice. Advocacy for elaborate interface-prototyping systems and mockups is another theme; this doesn't make much sense in Unix-land, where scripting languages with toolkit bindings make a working prototype almost as easy to throw together as a mockup.

We've tried to select a short list of the sources we have found most useful, and to indicate why they were useful. You'll find pointers to a much larger cross-section of the literature, helpfully categorized by topic area, at the website Suggested Readings in Human-Computer Interaction (HCI), User Interface (UI) Development, & Human Factors (HF).


[[Bush]] Atlantic Monthly. Vannevar Bush. “As We May Think”. July 1945.

The pioneering essay on hypetext that inspired the GUI and the World Wide Web.Available on the Web..

[[Cooper]] Alan Cooper. The Inmates Are Running the Asylum. Sams. 1999. ISBN 0-672-31649-8.

This book combines a trenchant and brilliant analysis of what's wrong with software interface designs with a prescription for fixing it that we think is mistaken; Cooper is a strong advocate of separating interaction design from programming. If you can learn from the criticism and ignore the self-promotion and empire-building, this is a very valuable book.

[[DeMarco&Lister]] Tom DeMarco and Timothy Lister. PeopleWare: Productive Projects and Teams. Dorset House. 1987. ISBN 0-932633-05-6.

A truer classic on the coinditions necessary to support creative work. Has much to say about avoiding interruptions that is just as important to UI designers as program managers.

[Eckel] Bruce Eckel. Thinking in Java. 3rd Edition. Prentice-Hall. 2003. ISBN 0-13-100287-2.

Probably the best single intoduction to Java ns its GUI environment. Available on the Web.

[[Miller]] The Psychological Review. George Miller. “The Magical Number Seven, Plus or Minus Two”. Some limits on our capacity for processing information. 1956. 63. pp. 81-97.

Available on the Web.

[[Lewis&Rieman]] Clayton Lewis and John Rieman. Task-Centered User Interface Design. 1994.

A “shareware book” about UI design published on the Web. This is a good painless introduction to the topic, sensibly focusing on issues like attention and cognitive load. The authors have more to say about the visual aspects of design than we do here.

[[Nielsen&Molich]] Heuristic Evaluation of User Interfaces Methodology. Proceedings of CHI'90 Conference on Human Factors in Computing Systems. Association for Computing Machinery. 1990. Jakob Nielsen and Rolf Molich. “Heuristic Evaluation of User Interfaces”.

This is the paper that proposed the Nielsen-Molich heuristics and the evaluation method associated with them. Here is the authors' abstract:

Heuristic evaluation is an informal method of usability analysis where a number of evaluators are presented with an interface design and asked to comment on it. Four experiments showed that individual evaluators were mostly quite bad at doing such heuristic evaluations and that they only found between 20 and 51% of the usability problems in the interfaces they evaluated. On the other hand, we could aggregate the evaluation from several evaluators to a single evaluation and such aggregates do rather well, even when they consist of only three to five people.

[Nielsen] Jacob Nielsen. Usability Engineering. Morgan Kaufmann. 1994. ISBN 0-12-518406-9.

This book includes the developed version of the Nielsen-Molich heuristics we cite in the Premises chapter. A table of contents is available on the Web.

[Norman] Don Norman. The Design of Everyday Things. Currency. 1990. ISBN 0-385-267746.

A classic on industrial design. Some of the material related to computers is a bit dated now, but the principles and criticisms in this book are still valuable.

[[Raskin]] Jef Raskin. The Humane Interface. Addison-Wesley. 2000. ISBN 0-201-37937-6.

A summary is available on the Web.

[[TAOUP]] Eric Raymond. The Art of Unix Programming. 2003. Addison-Wesley. ISBN 0-13-142901-9.

[[Turner]] Daniel Turner. A Worm in the Apple?. 1999.

A merciless dissection of the UI design blunders in Apple's QuickTime 4.0 multimedia player. Available on the Web