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

Intended for Undergraduates, Masters and PhD students!

some scroll bars over history Time: Tues-Thurs, 01:25PM - 02:45PM
Room: WEH 4709
12 University Units

Instructor: Brad Myers

Office: Newell-Simon Hall (NSH) 3513
Phone: x8-5150
E-mail: bam@cs.cmu.edu
Office hours: TBD (or by appointment)

TA: TBD

Description:

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, game controllers, interactions in 3D and virtual/augmented reality, consumer electronic controls such as remote controls, 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. Appropriate design and evaluation methods for interaction techniques will also be covered. 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. (Previously, a group inventing a new way to do text entry on a watch did get a publication!) Another option is to create a Wikipedia page about an inventor or interaction technique. Or you could 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).

Course Relevance:

Interaction techniques are involved in virtually every use of computers, so a tiny change in the way an interaction technique works can have an enormous impact on billions of users. Also, new interaction techniques are being invented all the time, some of which are adopted into everyday user interfaces. However, there are still needs for new interaction techniques, such as ways for people to better enter text onto a smartwatch or smartphone, or how to better select and manipulate objects in virtual reality, pointing to the need for continued innovation. Finally, interaction techniques can have an enormous monetary value for companies, since they can be patented and licensed.

This course will be useful for anyone interested in why we interact with electronics the way we do, and for designers creating the interaction techniques of tomorrow who need to know the options and constraints and appropriate evaluation methods, and also for UI developers and consumers who want to get the most out of their interaction techniques.

Course Goals:

After taking this course, students will be able to:

Prerequisites:

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 Intro HCI Tech Exec; or equivalent, so they will have knowledge about UX Methods. 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.)

Topic List and Homeworks

A tentative topic list for the course is available. There will definitely be changes.

See also the Homework list, and homeworks policies.

A list of all the previous years where this course has been offered, with their materials and guest lectures, is also available.

Assessment Structure:

The course will have 4 homeworks, a final project, and two tests: a midterm and one at the end of the course. In class participation, including in-class quizzes will also count as part of the grade. See the list and how much each is worth.

Extra Time Commitments:

Assignments, readings and the project for this course are done outside of class, but should fit within typical expectations based on the number of units of credit.

Nice Comments from Previous Years:

"Interaction Techniques is my favorite course this semester." "This was a very informational course. I loved learning about all the history of the different interaction techniques and where they come from." "I learned a lot from Professor's experience and insights." "Brad is a rigorous and humorous lecturer" "I learnt a lot about interaction techniques and I found this field fascinating! There aren't many other courses like this one in CMU." "I liked how it was a very comprehensive study or description of a wide variety of interaction techniques. I've just been using all of these before without knowing the thought process made behind them." "I really liked the final project." "It was an awesome way to apply our learnings!" " I liked the diversity of projects and there was a lot to learn from everyone's!" "Thank you for a wonderful semester! I really enjoyed taking this course and I would recommend it to my friends."

Learning Resources:

The professor has written the draft of a book on interaction techniques, tentatively called "Pick, Click, Flick! The Story of Interaction Techniques" (see the web page), and some readings will come from that. Original sources, such as conference papers or articles will also be listed on the schedule. These will be marked as required or optional.

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: