05-830, User Interface Software, Spring, 1999

Tentative Schedule

Note: The Readings are due on the date noted.  TBD = To Be Determined
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)
  • Nielsen Text: Chapter 3
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:
  • Nielsen Text: Chapter 5
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:
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

MidTerm Grades Due March 5

Final Grades Due: May 13


Back to 05-830 main page