Human-Computer Interaction by Jenny Preece, Yvonne Rogers, Helen Sharp, David Benyon, Simon Holland, and Tom Carey. Wokingham, UK: Addison-Wesley, 1994. ISBN 0-201-62769-8, $45.25. 773 + xxvii + 8 color pages. An instructor's guide is in preparation.

Reviewed by Gary Perlman, Ohio State University

ACM SIGCHI Bulletin, 26:4, 82-85, 1994.

Table of Contents

OVERVIEW

One of the most significant events at CHI'94 in Boston did not appear in the program, and although it was conspicuous to some, it probably went unnoticed by most of the attendees. Given the venue, perhaps its name made it blend into the background. At the Addison-Wesley booth in the commercial exhibits room, a textbook made its debut: Human-Computer Interaction, by Jenny Preece and five others: Yvonne Rogers, Helen Sharp, David Benyon, Simon Holland, and Tom Carey.

I have been teaching software engineers about user interface development for ten years, and during that time, I made the transition from using my own notes and readings, to assigning collections of readings, to wondering when there would be a textbook I could hand to students who knew nothing about HCI and related fields. Preece et al have done for HCI what Pressman and Sommerville did for software engineering in their widely used textbooks: they have digested the research and practice and presented the material in a pedagogically sound manner.

Although there have been fine books on HCI theory (e.g., Card, Moran, & Newell's Human-Computer Interaction), research (e.g., Baecker & Buxton's Readings in HCI), and practice (e.g., Shneiderman's Designing the User Interface, Hix & Hartson's Developing User Interfaces), in my opinion the Preece et al book is the first that fits the billing of a good textbook for graduate and undergraduate use (Dix et al's Human-Computer Interaction is a good general textbook, but it lacks many pedagogical features that motivate and assist students). Of course, being the first does not mean that the book is without faults, and in this review I will try to cover the good, the bad, and yes, the ugly. But overall, I am very pleased with the book. A student, even one with limited programming experience, can sit down with the book and learn about the field. Perhaps most importantly, the book conveys the excitement of the authors (and so many of us) for the field.

Evaluation as a Textbook

A review of a textbook is unlike a review of books that attempt to advance theory or practice. In a textbook, I look for: Preece et al provide some historical coverage and some material on neat new stuff, but not too much. In a 750-page textbook, I am reluctant to ask for deep coverage of any topic. I think the textbook has the right balance of depth and breadth throughout.

I went through my own course notes to determine if the textbook covered all the topics I like to cover in my course on user interface development, and I was impressed that I could not find more than a handful of topics that are not covered. The depth of coverage varied between the two, but I was convinced that I could use Preece et al as a textbook for my course. I would have to rearrange my notes and syllabus, but I think it would be worth getting the benefits of having an organized textbook instead of a set of readings. I have a concern about how quickly some of the material in the textbook will become dated because hardware, software, and standards are always changing. I hope the authors are already planning the next edition. Incidentally, the authors exercised restraint in citing their own work, with at most four references per author.

I was disappointed that I could not find anything about professional societies and their activities. These are important for most students who go into industry and need to keep up with current developments, and such information is crucial for future researchers.

Evaluation for Varied Audiences

An HCI textbook can try to address many related audiences:
  1. Computer Science students (particularly those in Software Engineering) interested in HCI;
  2. Students in fields other than Computer Science (e.g., Psychology, Industrial Design);
  3. Practitioners, for whom it should provide concrete examples;
  4. US as well as UK audiences.
The textbook seems well suited to computer science students, particularly for those who will be developing software after they graduate (which is the vast majority). I think the textbook provides the general knowledge and specific skills that can be applied in the real world. Much of the material in the textbook integrates well with software engineering material, particularly Part IV on design methods. Standard software engineering lifecycle models (e.g., waterfall, prototyping, spiral) and analysis techniques (e.g., data flow and data structure diagrams) are introduced and integrated with HCI aspects (e.g., usability requirements). For a software engineering course in which I want to cover some HCI issues (e.g., user centered design, usability requirements), I would be tempted to use Lewis & Rieman's Task-Centered UI Design book because its shareware price would be more acceptable to students when added to that of a software engineering text. For a course dedicated to an HCI topic (e.g., UI Development), I would opt for Preece et al.

The authors explain how to map the textbook onto the four courses in the ACM SIGCHI Curricula for HCI produced by Hewett et al: two in computer science (CS1: UI Design and Development; CS2: Phenomena and Theories of HCI), one in psychology (PSY1: Psychology of HCI) and MIS (MIS1: Human Aspects of Information Systems). The Preece et al textbook should be excellent for CS1. The introduction of software engineering topics in the textbook also makes it attractive to other fields (e.g., psychology, human factors, industrial design / engineering) because it provides background needed for students in these fields to work with computer science graduates. The material is presented in a way that makes it accessible to students in almost any field. I think the textbook might be too light on theory for the CS2 course, but after Preece et al, students should be ready to tackle Card, Moran, and Newell's HCI. The textbook may be a little light on both theory and data for PSY1, but the textbook will still serve the needs of psychology students by introducing them to practical aspects of HCI (in any case, I can't think of a better textbook). I think that the textbook is appropriate for MIS1.

If a student used the textbook in a course, then I think they would use it later as a reference. I do not think that a programmer out in the trenches would pick it up and be able to make immediate use of it as a technical reference. A manager might find it useful as an introduction to the field and as a guide to what practices are becoming standard.

I was initially concerned about the book being from the UK, and whether it would have differences that would limit its effectiveness in the US. I had previous experience using Sommerville's Software Engineering textbook with no problems (although, I should point out that half of my software engineering students are not from the US). For the most part, I see no obstacles in the Preece et al textbook to use in the US. I see one advantage, which is to be able to point out the few differences (e.g., spelling, and some terminology; quite in the UK means very in the US, and this difference is important when designing questionnaires) as a means to introduce internationalization.

CONTENT OF THE BOOK

I am not going to spend much time describing the content of the book because it would amount to a description of the content of the field. I like the organization of the material into the human side of HCI (Part II) and the technology side (Part III), and the breakdown of development into design and analysis methods (Part IV), conceptual and software Tools (Part V) and evaluation (Part VI).

Introduction

	Part I. Introduction
	1.	What is HCI?
	2.	Components of HCI
	Interview with Terry Winograd
It's a good introduction that motivates learning more about HCI because the consequences of not learning more about HCI are suggested. The chapter on components conveys the importance of a myriad of factors, the contributions of a myriad of fields, and the role of HCI in software development lifecycles.

The Human Side of HCI

	Part II. Humans and Technology: Humans
	Interview with Donald Norman
	3.	Cognitive Frameworks for HCI
	4.	Perception and Representation
	5.	Attention and Memory Constraints
	6.	Knowledge and Mental Models
	7.	Interface Metaphors and Conceptual Models
	8.	Learning in Context
	9.	Social Aspects
	10.	Organizational Aspects
	Interview with Marilyn Mantei
It's a human-information processing and social and organizational behavior book in a nutshell. If computer science students pick up half of it, they will be doing well. Despite the chapter titles, a lot of analysis and design material is embedded here because the authors demonstrate the application of ideas in allied fields to HCI design.

The Technology Side of HCI

	Part III. Humans and Technology: Technology
	Interview with Ben Shneiderman
	11.	Input
	12.	Output
	13.	Interaction Styles
	14.	Designing Window Systems
	15.	User Support and On-Line Information
	16.	Designing for Collaborative Work and Virtual Environments
	Interview with Roy Kalawsky
It's got all the stuff we throw at users, with lots of good examples. Chapter 16 will frustrate students because they will want to try the really cool stuff.

Design and Analysis Methods

	Part IV. Interaction Design: Methods and 
	Techniques
	Interview with Tom Moran
	17.	Principles of User-Centred Design
	18.	Methods for User-Centred Design
	19.	Requirements Gathering
	20.	Task Analysis
	21.	Structured HCI Design
	22.	Envisioning Design
It's a software engineering analysis and design text in a nutshell. I was especially pleased to see material on usability requirements, and I hope my students make use of methods for envisioning design.

Design Tools

	Part V. Interaction Design: Support for Designers
	Interview with Bill Verplank
	23.	Supporting Design
	24.	Guidelines: Principles and Rules
	25.	Standards and Metrics
	26.	Design Rationale
	27.	Prototyping
	28.	Software Support
	Interview with Deborah Hix
Its got the best advice I have seen about how to organize design activities. The material on guidelines, principles, rules and standards was light, and I thought the material on metrics belonged with evaluation, but the main points are covered. The material on design rationale is novel and should point out many issues of design to students. The material on prototyping and software support covers all the main points, but seemed biased toward a research lineage of UNIX and Xerox-Mac-NeXT platforms, but not MS Windows (I saw no mention of Visual Basic, for example).

Evaluation

	Part VI. Interaction Design: Evaluation
	Interview with Brian Shackel
	29.	The Role of Evaluation
	30.	Usage Data: Observations, Monitoring, Users' Opinions
	31.	Experiments and Benchmarking
	32.	Interpretive Evaluation
	33.	Predictive Evaluation
	34.	Comparing Methods
It's all there, but the names the authors chose for chapters were new to me, and while it may represent a more effective way of presenting the material, I found that I could not predict where some topics would be covered. The first and last chapters do a good job of introducing a rational view of evaluation and of choosing among methods.

SPECIAL FEATURES OF THE BOOK

I made a separate pass through the textbook to evaluate each of the special features that help a book serve as a teaching tool, a reference, and that make the book generally more usable. Overall, I think the book is well designed, offering as much as (or more than) comparable books in other fields. But any textbook has faults, especially one breaking new ground. I found some aspects of the book that could be improved, although I do not think they will have a cumulative impact great enough to reduce the effectiveness of the textbook.

Part Introductions

Each of the five parts begins with a general introduction that ends with high level goals. I think these will be useful to a student if they are read, but that they could be overlooked if chapters are assigned. The format and level of detail of these varies somewhat, but I think that reading all of these in one sitting clarifies the organization of the textbook (and the field), and that assigning them all at the start of a course would be useful to students.

Interviews

A unique feature of the textbook is the nine short interviews with notable people in the HCI field. I can't say there is much content conveyed in the interviews, but I think they humanize the researchers, providing faces to attach to the names, and they might create enthusiasm.

Mini-Contents List

Each part and each chapter begins with a mini-contents list. Most of these are short and covered adequately in the general table of contents, but they serve as visible organizers.

Aims and Objectives & Overview

Each chapter begins with a list of aims and objectives. These are useful, although I would have preferred that specific skill and knowledge goals be stated. The overview motivates the topics in the chapter and sometimes explains the context of the chapter with respect to related chapters.

Key Points

Each chapter ends with a list of key points. I think these are useful to allow students to verify that they got the main points of a chapter.

Further Readings

Each chapter ends with a short annotated list of suggested further readings. My main reservation about these is their availability to students because most are not in my university's library and many are not in my personal library. Some were biased to books in the UK, while others seemed to focus on US books. I think it is possible to suggest alternates, so that both UK and US books would be represented, and increase the chance that students could find more information of interest.

Boxes

Boxes provide detail on specific topics and examples that make ideas concrete. I found the contents invariably interesting and a good launching point for further study. Most of the boxes contained references that could be followed up.

Exercises & Comments

There are exercises sprinkled throughout the textbook. Some ask for the reader to recite a list, but most are open-ended explorations of the material. Comments follow most exercises and include hints and suggestions about how to get the most out of an exercise.

Questions & Solutions

Like exercises, there are questions sprinkled throughout the textbook. These are designed to test understanding, and specific solutions are provided at the end of the textbook. The solutions I looked up at the back of the book were concise, but clear.

Figures & Tables

There are many figures throughout the textbook to explain notations and show examples of screen displays. I found all the figures well-designed or well-chosen (depending on whether they were conveying an idea or system, respectively). I did not find the cartoons particularly illuminating, but I must admit to having read them all. The authors were even able to convey some auditory displays by adding captions. Fifteen color plates are printed on separate pages. A few of the figures and plates did not reproduce well.

I was impressed by the utility of the tables as a reference source, and I found myself inserting Post-It notes at some for future use. For use in lectures, I hope the instructor's guide will include tables and figures in electronic form.

Glossary

The glossary at the end of the book contains brief definitions of hundreds of terms, so it is one of the most comprehensive I have seen. It is weak on acronyms, however.

Author/Subject Index

The combined author/subject index is barely adequate. It has a good feature: emboldening pages where terms are defined, as well as a pointer to the glossary entry. Multiple entry points for multi-word terms did not seem to be well supported. Authors of suggested readings were not included, nor were all system names and many key words. These limitations make the book less useful as a reference text.

References

The references in an introductory textbook are usually not designed to be comprehensive, so many famous papers are not mentioned. It is far more likely that students will follow up with the suggested readings than track down a specific reference, so I don't view this as a drawback. Some of the suggested readings were not represented in the comprehensive reference section, which could frustrate some readers.

CONCLUSION

The more I read the textbook, the more I liked it. It's about time we had a good general textbook for HCI and Preece et al have done a great service to the field. I think the book will be exciting to students in several fields, and I am hopeful that the textbook, as much as any other HCI education initiative, will promote HCI education.

REFERENCES

  1. Baecker, R. M. & Buxton, W. A. S. (1987) Readings in Human-Computer Interaction: A Multidisciplinary Approach. Los Altos, CA: Morgan Kaufmann.
  2. Card, S. K., Moran, T. P, & Newell, A. (1983) Human-Computer Interaction. Hillsdale, NJ: Lawrence Erlbaum Associates.
  3. Dix, A., Finlay, J., Aboud, G., & Beale, R. (1993) Human-Computer Interaction. Prentice-Hall.
  4. Hewett, T. T. et al (1992) ACM SIGCHI Curricula for HCI. New York: ACM. Available on the WWW.
  5. Hix, D. & Hartson, H.R. (1993) Developing User Interfaces: Ensuring Usability through Product and Process. New York: John Wiley and Sons.
  6. Lewis, C. & Rieman, J. (1993) Task-Centered User Interface Design. At ftp.cs.colorado.edu in /pub/cs/distribs/clewis/HCI-Design-Book.
  7. Pressman, R. (1992) Software Engineering: A Practitioner's Approach (3rd edition). New York: McGraw-Hill.
  8. Shneiderman, B. (1992) Designing the User Interface: Strategies for Effective Human-Computer Interaction (2nd edition). Reading, MA: Addison-Wesley.
  9. Sommerville, I. (1992) Software Engineering (4th edition). Wokingham, UK: Addison-Wesley.