Human-Computer Interaction

2 What is HCI?

According to the Wikipedia, Human–computer interaction:

[...] researches the design and use of computer technology, focusing particularly on the interfaces between people (users) and computers. Researchers in the field of HCI both observe the ways in which humans interact with computers and design technologies that let humans interact with computers in novel ways.

Presentation video Human Computer Interaction from the course Human-Computer Interaction by Scott Klemmer, associate professor of Cognitive Science and Computer Science & Engineering at University of California San Diego.


Hi, I am Scott Klemmer, I’m an associate professor of computer science, and I’d like to welcome you this online class, introducing human-computer interaction.

This online class is based on the class I’ve been teaching in Stanford for several years now, and it synthesizes materials from a number of sources.

First and foremost is the human, the person that’s using the system and the other people that they work and communicate with. Then you got the computer, that’s the machine and the networked-up machines that run the system. And then you got the interface that represents the system to the user.

HCI is the design, implementation and evaluation of user interfaces.

This course is going to teach you a set of tools for doing this effectively. At the onset of the design project, we often don’t know what the problem is or what the space of possibilities might be, let alone what the solution should be. Consequently, real-world design is often iterative, failed fast so you can succeed sooner. Often it benefits from trying and comparing options. Finally, it’s important to focus on the people who are going to use your system.

Good design brings people joy: it helps people do things that we care about, and helps us connect people that we care about. Good user interfaces can have a tremendous impact on both [the] individual’s ability to accomplish things, and societies’. Graphical user interfaces help with computing a hundreds of millions of tasks, enabling us to do things like create documents, and share photo and connect with family and find information.

Bad design is frustrating and costs lives: medical devices, airplane accidents and nuclear disasters are just three domains where bad user interfaces and software errors have caused serious injury and many deaths.

These are big ticket items that take a lot of time to produce. What really gets me is that many of these interface problems could have easily been avoided. Fixing these problems requires following just basic principles like consistency and feedback. If effective principles for interface design were widely known some of these disasters might have been avoided. This is one of the major reasons that I created this course.

Bad design causes problems and degrades people[’s] quality of life in many smaller ways too. Think of all the time that you waste on your bank's website or trying to figure out why the wifi doesn't work, or trying to set something on your digital camera.

Let's say these frustrations take 10 minutes a day for the average American. With 300 million people in America alone, that’s 3 billion person-minutes a day, or 18 billion person-hours a year. That's a lot of time that we could’ve spent making the world a better place.

Oftentimes, the best interfaces become invisible to us. When an interface becomes automatic by practice, by design and most often by a combination, our attention shifts from manipulating an interface to accomplishing a task. It’s kind of like a blind person who has practiced working with a cane. After all those hours of practice, they no longer feel the cane. Their sensory perception is at the end of the cane, experiencing the world. That attentional shift is what happens when an interface becomes intuitive.

Designing great user interfaces requires enormous creativity and a lot of hard work. But designing pretty good user interface is pretty easy if you know some methods, techniques and principles. I’ll show how.

Summarize this introduction:

In this course you're going to learn a process where people’s tasks, goals and values drive development. You’re going to learn to work with users throughout the process; to assess decisions from the vantage point of users, their work and their environment; to pay attention to people's abilities and situation; and to talk to the actual experts.

You'll learn to talk with a variety of users — both regular and extreme users — and a wide variety of stakeholders.

As my colleague John Zimmerman reminded me recently, users are just one of the many stakeholders in the design process. Other stakeholders matter too, helping ease development and costs of production, support maintenance,… In designing for people, don't forget the other pieces of the puzzle.

In creating this class, I’ve integrated materials from a lot of sources, including classes like James Landay’s, books like Don Noman’s and papers like from the CHI Conferences.

For those who'd like to learn more, I’ve put a Further Reading slide at the end of many of my lectures.