15-820 (B) Advanced Topics In HCI:
User Interface Software, Spring, 1996
MW 9-10:20
Wean 5409
1 CS PhD Core Elective Unit
12 University Units
Approved for credit in CS PhD Program, and the INI, MSE and
HCI MS programs
Attendance limited to 20
Overview
After a quick overview of the design of user interfaces, we will
concentrate on how to implement the chosen design. Particular
emphasis will be placed on user interface software tools, such as
windowing systems, toolkits, interface builders, prototypers, and
advanced user interface development environments. In particular,
we will introduce MS Windows,
OLE,
Macintosh Toolbox, MacApp,
OpenDoc,
X/11, Motif,
Visual Basic,
and various research systems
like InterViews,
Amulet,
and
Fresco.
Students will study and use
"usability engineering" development methodologies and the
state-of-the-art Amulet user interface development environment to
implement a substantial interface as the
final project.
The grades will be based on homeworks, tests, and a
final project.
This is primarily a MS and PhD level course but some advanced
undergrads may be admitted with permission of the instructor. No
prior HCI experience is required. In addition to the regular
work, the PhD students will investigate a major modern UI system
and present it to the class. They will also participate throughout
the term on an extra project to develop and test metrics and
mechanisms for evaluating user interface tools.
Prerequisites:
Required text:
Jakob Nielsen. Usability Engineering. Boston: Academic Press,
Inc. 1993. ISBN 0-12-518405-0.
Recommended texts:
Donald A. Norman, The Design of Everyday Things.
New York: Doubleday, 1988. ISBN 0-385-26774-6 (paperback) $12.95
Brad A. Myers,
Languages for Developing User Interfaces,
Wellesley, MA (289 Linden Street, 02181, 617-235-2210): A.K.
Peters, LTD, 1992. ISBN 0-86720-450-8. $49.95
Tentative Topic List:
- Introduction
- Why attention to UIs is important
- Why Design and Implementation is Hard
- User Interface Design
- Examples of good and bad interfaces
- Guidelines and Style Guides
- Usability Engineering and Implementation Process
- Interface Quality and Evaluation
- Measures of Quality
- Iterative Design
- Compared with Software-Engineering process
- Task Analysis
- User Interface Software Tools
- Software Organizations
- Lexical-syntax-semantics
- Model-View-Controller
- Seeheim Models
- Object-Oriented Programming for UIs
- Use of Constraints in UI Software
- Rapid Prototyping Tools
- Visual Basic, HyperCard, Director
- Interactive Tools: Interface Builders
- Toolkits
- Intrinsics
- Call-backs
- Resources
- Widget Hiearchies
- Geometry Management
- Examples:
- Motif
- Microsoft "Foundation Classes"
- Java Toolkit (awt)
- SUIT
- Amulet/Garnet
- Fresco/Interviews
- Basic Computer Graphics from Window Managers
- Output Primitives and their properties
- Input Event Handling
- Extensions: Display Postscript, OpenGL
- Frameworks:
- Model-Based Tools: Mike, Mickey, UIDE, Humanoid, MasterMind
- Demonstrational Tools
- Advanced Topics: (as time permits)
- Using Gesture Recognition, 3D, Video, Speech, Animation, etc.
Brad Myers (bam+@cs.cmu.edu),
last updated 7-May-96