05-899A/05-499A: Interaction Techniques, Spring, 2014

New Course!

Number: 05-899A / 05-499A (offered by the Human Computer Interaction Institute)
Intended for Undergraduates, Masters and PhD students!
some scroll bars over history Time: MW 1:30pm-2:50pm
Room: NSH 1305
Units: 12 University Units

Instructor: Brad Myers

Office: Newell-Simon Hall
(NSH) 3517
Phone: x8-5150
E-mail: bam@cs.cmu.edu
Office hours: Tuesdays, 3:00pm-4:00pm (or by appointment)

TA: Jeffrey Rzeszotarski

E-mail: jeffrz@cs.cmu.edu
Office hours: Wednesdays after class (3:00pm-4:00pm) in NSH 4605 (or by appointment)

Description:

This new 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. 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). We have made an arrangement with The Encyclopedia of Human-Computer Interaction at interaction-design.org so versions of such material may become chapters. 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-863 / 08-763 / 46-863 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.)

Schedule of Lecture Topics

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

There is also a detailed list of potential course topics.

Homework list, and homeworks policies.

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: