05-640 Interaction Techniques, Spring, 2019
(formerly also had number 05-440)
See the list of all previous times this course was offered!
Intended for Undergraduates, Masters and PhD students!
Time: MW 1:30pm-2:50pm
Room: GHC 4211
12 University Units
Office: Newell-Simon Hall
(NSH) 3517
Phone: x8-5150
E-mail: bam@cs.cmu.edu
Office hours: TBD
(or by appointment)
E-mail: akparida@andrew.cmu.edu
Office hours: TBD
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. (Last time, 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).
After taking this course, students will be able to:
- Articulate design issues regarding interaction techniques.
- Design a new interaction technique given a set of requirements and constraints.
- Evaluate interaction techniques using the appropriate tests for performance and usability.
- Describe the historical progression of the most important interaction techniques and the factors that impacted their evolution and eventual widespread adoption.
A tentative schedule for the course and topics for class periods is available. There will definitely be changes.
Confirmed guest speakers this year include:
- Bill Atkinson, contributor to many early Apple Lisa and Machintosh interactions, including: the marching ants selection, the menu bar, the Selection lasso, FatBits, MacPaint, HyperCard pull-off menus, and many others
- Dan Bricklin, inventor of Spreadsheets (VisiCalc)
- Shumin Zhai, Google, inventor of "ShapeWriter" text entry for smartphones (like Swype), and the Google Pixel phone squeeze interactions ("Active Edge")
- Don Hopkins, Pie menus
- Rob Haitani, UI designer on the orginal Palm Pilot
See also the Homework list, and homeworks policies.
The index for previous year's materials is also available.
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 / 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.)
"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." "Every lecture was fun!" "It was a great and thorough overview of many different forms of interaction"
"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 liked best the] freedom of projects. Interesting and engaging homeworks."
"Nice range of topics, use of readings/studies as well as our own explorations"
"It is a very cool course that covers the topic very well."
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.
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.
It is expected that everyone in the class will do a final project, probably in teams of 2 to 4 students. Here are some ideas for final projects:
- Create or edit a Wikipedia page about an interaction technique or about an inventor of one, with appropriate citations:
- Fix up the tests for homeworks 1, 3 and 4:
- Especially the scrolling test is problematic, but the Fitts Law test can be better too.
- I think we also need an implementation of Wobbrock's test in JavaScript.
- Can we come up with tests that work on watches?
- Help with Prof. Myers's book about Interaction Techniques.
- Document, evaluate, analyze, and critique one or more existing interaction techniques with appropriate evidence
- Maybe compare it with alternatives with a user study
- Maybe prepare a chapter for the interaction-design.org encyclopedia about it
- Maybe update the All the Widgets video with changes in this interaction technique since 1990 (or create a new section)
- Pick a new (or relatively new) hardware pointing device or text editing, and do a thorough analysis of it:
- Pick a particular, important milestone design, and enumerate and describe all of the novel interaction techniques introduced in that system. For example, what interaction techniques were first introduced in the:
- Star
- Lisa
- Macintosh
- Windows 95
- iPhone
- etc.
- Interview an inventor of a particular interaction technique:
- Most of them are still alive, and Professor Myers is personally acquainted with many of them.
- Create a video, audio and/or paper report
- Do a thorough analysis of the data the class collected for homeworks 1, 3 or 4.
- Reimplement some of the old techniques (e.g., old scroll bars; Xerox Star method for text editing; etc.), and possibly do a user test to see if they were actually worse than current versions
- Invent a new interaction technique
- Implement or prototype it
- Do a user study of the result
- Write a conference-style paper discussing the design issues and evaluation (and optionally submit it to an appropriate conference)
- See example from last time:
- Elliot Lockerman, Shuobi Wu, Ariel Rao, Jarret Lin, Neil Bantoc, and Brad Myers. "Smartwatch Text Entry Using Five to Seven Physical Keys," 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'17), October 11 –14, 2017, Raleigh, NC, pp. 291-295. local pdf.
- Create a project of your own design, in consultation with the professor.