Mon Jan 11
| 1. Course organization;
Why are
user interfaces important and hard
to design and implement
- Required Readings:
- Brad A. Myers. "Challenges of HCI Design and Implementation,"
ACM Interactions. vol. 1, no. 1. January, 1994. pp. 73-83.
(postscript)
Discusses
why user interfaces are important, and
why they are hard to design and implement.
- Recommended Readings:
- Brad A. Myers and Mary Beth Rosson. "Survey on User Interface
Programming, Proceedings SIGCHI'92: Human Factors in Computing Systems.
Monterrey, CA, May 3-7, 1992. pp. 195-202
(postscript)
(note: Postscript may not print
correctly)
Discusses what percent of the time and effort goes
into the UI part.
- Nielsen Text: Chapters 1 and
2
|
Wed Jan 13
| 2.
UI Styles, Dimensions
of UI Variability, Introduction
to
Benchmarks
- Required Reading:
- Brad A. Myers, Neal Altman, Khalil Amiri, Matthew Centurion,
Fay Chang, Chienhao Chen, Herb Derby, John Huebner, Rich Kaylor, Ralph Melton,
Robert O'Callahan, Matthew Tarpy, Konur Unyelioglu, Zhenyu Wang, and Randon
Warner. ``Using Benchmarks to Teach and Evaluate User Interface Tools.''
Submitted for publication.
(postscript)
- Recommended Readings:
- Deborah Hix, "A Procedure for Evaluating Human-Computer Interface
Development
Tools," UIST'89: ACM Second Annual Symposium on User Interface Software
and Technology, Williamsburg, VA, Nov, 1989, pp. 53-61.
* Start Work on
Homework 1:
Benchmark descriptions.
Summary
of Prior Benchmarks
Overview
of 1997's Benchmarks
|
Mon Jan 18
| 3.
UI Design:
UI
Guidelines
- Required Readings:
- Recommended Readings:
- Nielsen Text: Chapter 8
- Grudin, "The
Case Against User Interface Consistency," CACM, Oct 89, pp. 1164-1173
|
Wed Jan 20
| Presentations and discussions of the benchmark
tasks (by class
members)
* Benchmark descriptions DUE
|
Mon Jan 25
| Guest Lecture; Scott Hudson,
Constraints
- Required Readings:
- Scott Hudson, "Incremental Attribute Evaluation: A Flexible Algorithm
for Lazy Update," ACM TOPLAS, 13(3), July 1991, pp. 315-341.
- Scott Hudson and Shamim P. Mohamed, "Interactive Specification of Flexible
User Interface Displays," ACM TOIS, 8(3), July, 1990, pp. 269-288.
|
Wed Jan 27
| Guest Lecture; Randy Pausch
- Required "Readings:"
- You are to go through the
Alice tutorial, which takes about 3 hours.
You can download the software and see the tutorial at
www.alice.org
|
Mon Feb 1
| 4.
Usability
Engineering Design Process
- Required Readings:
- Nielsen Text: Chapter 4 and 6
- Recommended Readings:
- Nielsen Text: Chapter 2 and 7
* Start Work on
Homework 2: Usability
Evaluation
|
Wed Feb 3
| Examples of Good and Bad User Interfaces
Presentations:
- Quicken
- Macintosh Map
- others, TBD
* Presented by the class members (optional)
|
Mon Feb 8
| 5.
Overview
of UI Software and Tools
- Required Readings:
- Brad A. Myers. "User Interface Software Tools," ACM Transactions
on Computer-Human Interaction. vol. 2, no. 1, March, 1995. pp. 64-103.
- Brad A. Myers. "A Brief History of Human Computer Interaction Technology."
ACM interactions. Vol. 5, no. 2, March, 1998. To appear. A
previous version appeared as CS TR CMU-CS-96-163 and HCII TR CMU-HCII-96-103:
html and
postscript.
* Homework 2 DUE
* Start Work on
Homework 3:
First Implementation
of a Benchmark Task, using a
Prototyping
Tool
|
Wed Feb 10
| Past Present and Future of User Interface Software
Tools
- (Paper presented at HCIC'99)
- Required Readings:
- Brad A. Myers, Scott Hudson and Randy Pausch. "Past Present and
Future of User Interface Software Tools," submitted for publication (note,
not available yet)
|
Mon Feb 15
| 6.
Interactive
Tools: Prototypers (HyperCard, Director, Visual Basic), Interface
Builders
- Required Readings:
- James Landay and Brad A. Myers. "Interactive Sketching for the
Early Stages of User Interface Design," Proceedings CHI'95: Human Factors
in Computing Systems. Denver, CO. May, 1995. pp.
43-50.
(html)
- Optional Readings:
- Brad A. Myers. "Separating Application Code from Toolkits:
Eliminating the Spaghetti of Call-Backs," ACM Symposium on
User Interface Software and Technology: UIST'91, Hilton Head, SC, Nov.
11-13, 1991. pp. 211-220.
- James A. Landay and Brad A. Myers. Just Draw It! Programming by Sketching
Storyboards. Carnegie Mellon University School of Computer Science
Technical Report, no. CMU-CS-95-199 and Human Computer Interaction Institute
Technical Report CMU-HCII-95-106. November,
1995.
(html)
(postscript)
|
Wed Feb 17
| 7.
Software
Organization: Lexical-syntax-semantics,
Seeheim Model,
MVC, Object-Oriented Programming for UIs
- Required Readings:
- Brad A. Myers, Dario A. Giuse, and Brad Vander Zanden. "Declarative
Programming in a Prototype-Instance System: Object-Oriented Programming Without
Writing Methods," Proceedings OOPSLA'92: ACM Conference on Object-Oriented
Programming Systems, Languages, and Applications. October 18-22, 1992.
Vancouver, BC, Canada. SIGPLAN Notices, vol. 27, no. 10. pp.
184-200.
- Optional Readings:
- William Buxton, "Lexical and Pragmatic
Considerations of Input Structures," Computer Graphics, January, 1983, (17)1,
pp. 31-37. (lexical, syntactic, semantic, etc.)
- Mark Green, "Report on Dialogue Specification Tools," User Interface
Management Systems, Berlin: Springer-Verlag, 1985. pp. 9-20. (Seeheim
model)
- Model-View-Controller paper,
40 pages.
|
Mon Feb 22
| * In-class presentations of 1st Benchmark
Implementation
Start 2nd Implementation
of a Benchmark
Task, using a new tool
|
Wed Feb 24
| * In-class Mid-term exam
|
Mon Mar 1
| Mid-Semester Break No classes
|
Wed Mar 3
| Discuss mid-term
8.
Constraints
- Required Readings:
- Brad Vander Zanden, Brad A. Myers, Dario
Giuse and Pedro Szekely. "Integrating Pointer Variables into One-Way Constraint
Models," ACM Transactions on Computer-Human Interaction. vol. 1,
no. 2,
June, 1994. pp. 161-213.
- Scott Hudson, "Incremental Attribute Evaluation: A Flexible Algorithm
for Lazy Update," ACM TOPLAS, 13(3), July 1991, pp. 315-341. NOTE:
Previously assigned on Jan 25.
- Optional Readings:
- Brad Vander Zanden, "An Incremental Algorithm for Satisfying
Hierarchies of Multi-way, Dataflow Constraints", ACM Transactions on
Programming Languages and Systems, 18(1), January, 1996. pp. 30-72.
- Brad Vander Zanden and Brad A. Myers. "A Constraints Primer," IEEE
Computer. vol. 23, no. 11. November, 1990. pp. 74-75.
|
Mon Mar 8
| 9.
Toolkits:
intrinsics, callbacks,
resources,
widget hierarchies, geometry management
|
Wed Mar 10
| * In-class presentations of 2nd Benchmark
Implementation
Start 3rd Implementation
of a Benchmark
Task, using a new tool
|
Mon Mar 15
| 10.
Basic Computer
Graphics
- Required Readings:
- New Foley & van Dam, pp. 25-40,
52-60
- old Foley & van Dam, pp.
132-134 (color maps)
|
Wed Mar 17
| 11.
Other Output
Models: structured graphics; display
postscript
- Required Readings:
- Brad A. Myers, Richard G. McDaniel, Robert C. Miller, Alan Ferrency,
Andrew Faulring, Bruce D. Kyle, Andrew Mickish, Alex Klimovitski, and
Patrick Doane."The Amulet Environment: New Models for Effective User
Interface Software Development", IEEE Transactions on Software
Engineering, Vol. 23, no. 6. June, 1997. pp.
347-365.
Abstract
in html,
postscript.
|
Mon Mar 23
| Spring Break
|
Wed Mar 24
| Spring Break
|
Mon Mar 29
| 12.
Window Manager
Input Models
|
Wed Mar 31
| 13.
New toolkit input
models: Garnet &
Amulet
- Required Readings:
- Brad A. Myers. "A New Model for Handling Input,"
ACM Transactions on Information Systems, Vol. 8, No. 3. July, 1990.
pp.
289-320.
- Brad A. Myers and David
Kosbie. "Reusable Hierarchical Command Objects," Proceedings CHI'96: Human
Factors in Computing Systems. Vancouver, BC, Canada. April 14-18, 1996.
- Brad A. Myers. "Scripting Graphical Applications by Demonstration,"
Proceedings CHI'98: Human Factors in Computing Systems. Los Angeles,
CA, April 18-23, 1998. pp. 534-541.
|
Mon Apr 5
| * In-class presentations of 3rd Benchmark
Implementation
Start 4th Implementation
of a Benchmark
Task, using Amulet
|
Wed Apr 7
| 13.5. Amulet input models, cont.
|
Mon Apr 12
| 14.
Demonstrational
Tools
- Required Readings:
- Brad A. Myers, Richard G. McDaniel, and David S. Kosbie. "Marquise:
Creating Complete User Interfaces by Demonstration," Proceedings INTERCHI'93:
Human Factors in Computing Systems. Amsterdam, The Netherlands, April
24-29, 1993. pp.
293-300.
ftp://a.gp.cs.cmu.edu/afs/cs/project/garnet/doc/papers/marquiseCHI93.ps
- Richard G. McDaniel and Brad A. Myers,
"Getting More Out Of Programming-By-Demonstration."
Proceedings CHI'99: Human Factors in
Computing Systems. Pittsburgh, PA, May 15-20, 1999. To appear.
postscript (Gamut)
- Optional Readings:
- Brad A. Myers. "Creating User Interfaces Using
Programming-by-Example, Visual Programming, and Constraints," ACM Transactions
on Programming Languages and Systems. vol. 12, no. 2, April, 1990. pp.
143-177. (Peridot)
- Brad A. Myers, Brad Vander Zanden, and Roger B. Dannenberg. "Creating
Graphical Interactive Application Objects by Demonstration," ACM Symposium
on User Interface Software and Technology: UIST'89, Williamsburg, VA,
Nov. 13-15, 1989. pp. 95-104. (Lapidary)
|
Wed Apr 14
| 15. UIMS Techniques:
Menu trees, transition networks,
grammars, Event Languages,
HyperTalk,
production
systems,
Declarative Languages
- Required Readings:
- Mark Green, "A Survey of Three Dialog Models,"
ACM Transactions on Graphics (5)3, Jul, 1986, pp 244-275.
- chapter 10 from Olsen's book: "Editing Dialog Models"
- Optional readings:
- Robert J.K. Jacob, "A Specification Language for Direct
Manipulation Interfaces," ACM Transactions on Graphics, Oct, 1986,
vol. 5, no. 4, pp. 283-317.
- Dan R. Olsen, Jr. and Elizabeth P.
Dempsey, "Syngraph: A Graphical User Interface Generator," Proceedings
SIGGRAPH'83, Jul. 1983, pp. 43-50 (grammar)
- Ralph D. Hill, "Supporting Concurrency, Communication and
Synchronization in Human-Computer Interaction - The Sassafras UIMS", ACM
Transactions on Graphics, Jul, 86, vol. 5, no. 3, pp. 179-210.
- Philip J. Hayes, Pedro A. Szekely, and Richard A. Lerner, "Design
Alternatives for User Interface Management Systems Based on Experience with
COUSIN", Proceedings SIGCHI'85: Human Factors in Computing Systems,
San Francisco, CA, Apr, 1985, pp. 169-175
|
Mon Apr 19
| 16.
Model-based tools:
Mickey, UIDE, Humanoid,
MasterMind
- Required Readings:
- Dan R. Olsen, Jr., "A Programming Language Basis for User Interface
Management," Proceedings SIGCHI'89, Austin, TX, Apr, 1989, pp. 171-176.
- Optional Readings:
- Brad Vander Zanden and Brad A. Myers, "Automatic, Look-and-Feel
Independent Dialog Creation for Graphical User Interfaces," Proceedings
SIGCHI'90: Human Factors in Computing Systems. Seattle, WA, April
1-5, 1990. pp. 27-34.
- Pedro Szekely, Ping Luo, and Robert Neches, "Beyond Interface Builders:
Model-Based Interface Tools, Proceedings INTERCHI'93: Human Factors in
Computing Systems. Amsterdam, The Netherlands, April 24-29, 1993. pp.
383-390.
|
Wed Apr 21
| 17.
Component
Techniques: Andrew, OLE, OpenDoc, Java Beans
- Optional Readings:
- Andrew J. Palay, Fred
Hansen, Mike Kazar, Mark Sherman, Maria Wadlow,
Thomas Neuendorffer, Zalman Stern, Miles Bader, and Thom Peters. "The Andrew
Toolkit - An Overview", Published in Proceedings USENIX Technical
Conference, Winter 1988.
- JavaBeans Web Pages
(http://java.sun.com/beans/),
especially, the JavaBeans tutorial
introduction:
http://java.sun.com/beans/docs/javaBeansTutorial-Nov97/javabeans/whatis/index.html
|
Mon Apr 26
| Discussion of Pebbles PDA applications, and the
development environments
for the PalmPilot and Windows CE
- Optional Readings:
Fill out questionnaire in class
Instructions for the Final
|
Wed Apr 28
| * In-class presentations of 4th Benchmark
Implementation
|
Tue May 4
| FINAL EXAM, Tuesday, May 4, 1:00pm-4:00pm
in Wean 6423
|