This is an OLD version of the course. Please go to the overview page to find the current version!

05-440/05-640  Interaction Techniques, Spring, 2016

Number: 05-440/05-640
Intended for Undergraduates, Masters and PhD students!
some scroll bars over history Time:
MW 1:30pm-2:50pm
Room: NSH 3002
12 University Units

Instructor: Brad Myers

Office: Newell-Simon Hall
(NSH) 3517
Phone: x8-5150
Office hours: TBD (or by appointment)

TA: Kathy Yu

Office hours: Thurs, 2pm-3pm, in NSH 3502 (or by appointment)


This course will provide a comprehensive study of the many ways to interact with computers and computerized devices. An “interaction technique” starts when the user does something that causes an electronic device to respond, and includes the direct feedback from the device to the user. Examples include physical buttons and switches, on-screen menus and scroll bars operated by a mouse, touch screen widgets and gestures such as flick-to-scroll, text entry on computers or touch screens, consumer electronic controls such as remote controls, game controllers, and adaptations of all of these for people with disabilities. We will start with a history of the invention and development of these techniques, discuss the various options used today, and continue on to the future with the latest research on interaction techniques presented at conferences such as ACM CHI and UIST. Guest lectures from inventors of interaction techniques are planned. Students will have a choice for final projects that can focus on historical or novel interaction techniques. For example, one option will be to create a novel technique, perform a user study of it, and write a paper about the result, which may be suitable for conference submission. Another option will be to investigate and write a paper or make a video about the history and various previous designs for widely used interaction techniques, possibly including an interview with the inventor(s). After taking this course, students will be able to:

Schedule and Homeworks

A tentative schedule for the course and topics for class periods is available.

Homework list, and homeworks policies. The class has a Piazza page - please post questions and observations there so the whole class can benefit. We will answer Piazza questions as quickly as possible.

(See also last time's materials).


Students must have taken at least some introductory HCI course, such as 05-391 / 05-891 DHCS; 05-410 / 05-610 UCRE; 05-430/05-630 PUI; 05-431/05-631 SSUI; 05-863 / 08-763 / 45-888 Intro HCI Tech Exec; or equivalent. Preference will be given to students in the degree programs of the HCII (Undergrad Minor in HCI, BS in HCI, M-HCI, PhD-HCI). Students do not need to know how to program – we would especially like to invite students interested in the history of computation to enroll. (Note: if you have a focus on the history of technology, but no courses in HCI, we may be willing to make an exception to that requirement--email the professor.)

Nice Comments from Last Time:

“I really like the list of topics.” “I liked learning about new interaction techniques, along with their history.” “[I liked] learning the history about interaction techniques and the guest lectures – being able to see and listen to the inventors.” “Overall, a good professor and a good course.” “I loved it!”

What is an "Interaction Technique"?

Informally, it describes things like menus, scroll bars, text entry fields, typing on a smart-phone with an on-screen keyboard, gestural interfaces like flicking to scroll, etc. More formally, here are some definitions:

My definition:

An “interaction technique” starts when the user does something that causes a computer to respond, and includes the direct feedback from the computer to the user. Interaction techniques are generally reusable across various applications.

Wikipedia’s definition:

An interaction technique, user interface technique or input technique is a combination of hardware and software elements that provides a way for computer users to accomplish a single task.

Foley & van Dam's, 1990 textbook's definition:

An interaction technique is a way of using a physical input/output device to perform a generic task in a human-computer dialogue.

Final Project Ideas:

It is expected that everyone in the class will do a final project, probably in teams of 2 or 3 students. Here are some ideas for final projects: