05-830, Advanced User Interface Software, Spring, 2003

This is the OLD version of the course -- please see the Spring, 2013 version

 
Mon
Jan 13
Course organization; Why are user interfaces hard to design and implement? and Types of User Interfaces

PowerPoint Slides for Lecture 1

Required Readings:
  • Brad A. Myers. "Challenges of HCI Design and Implementation," ACM Interactions. vol. 1, no. 1. January, 1994. pp. 73-83. ACM DL Reference.
    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. ACM DL Reference
    Discusses what percent of the time and effort went into the UI part. (Outdated).
  • Nielsen Text: Chapters 1,  2 and 3
Amusing Reading:
  • Tyson R. Henry, Scott E. Hudson, Andrey K. Yeatts, Brad A. Myers and Steven Feiner; "A nose gesture interface device: extending virtual realities," Proceedings of the fourth annual ACM symposium on User interface software and technology, UIST'1991, Pages 65 - 68. ACM DL Reference.

Start on Homework 1

Thu
Jan 16
Overview of UI Software and Tools

PowerPoint Slides for Lecture 2

PowerPoint Slides for Past Present and Future of UIST.

Required Readings:
  • Brad A. Myers. "Graphical User Interface Programming," CRC Handbook of Computer Science and Engineering - 2nd Edition. Allen B. Tucker, editor in chief. Boca Raton, FL: CRC Press, Inc., 2003. To appear. pdf. (This is a revision of Brad A. Myers. "User Interface Software Tools," ACM Transactions on Computer-Human Interaction. vol. 2, no. 1, March, 1995. pp. 64-103. ACM DL Reference)
  • Brad A. Myers, Scott Hudson and Randy Pausch. "Past Present and Future of User Interface Software Tools," ACM Transactions on Computer Human Interaction, (Mar. 2000). Volume 7 , Issue 1. pp. 3-28. ACM DL Reference. (old postscript or Acrobat)
  • Brad A. Myers. "A Brief History of Human Computer Interaction Technology." ACM interactions. Vol. 5, no. 2, March, 1998. ACM DL Reference. (A previous version appeared as CS TR CMU-CS-96-163 and HCII TR CMU-HCII-96-103: html and postscript.)
Tue
Jan 21

In-Class presentations of Evaluations of UI Tools (Homework 1)

Homework 1 Due
Start on Homework 2
Thu
Jan 23

Basic Computer Graphics

PowerPoint Slides for Lecture 3

Required Readings:
  • New Foley & van Dam, pp. 25-40, 52-60
  • old Foley & van Dam, pp. 132-134 (color maps)
Tue
Jan 28
Other Output Models: structured graphics; display postscript, 3D

PowerPoint Slides for Lecture 4

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. IEEE Explore Ref
    Abstract in html,  postscript.
Optional Readings:
  • Calder, P.R. and Linton, M.A. “Glyphs: Flyweight Objects for User Interfaces,” in  Proceedings UIST'90: ACM SIGGRAPH Symposium on User Interface Software and Technology. 1990. Snowbird, Utah: pp. 92-101. ACM DL Ref
Thu
Jan 30
Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders

PowerPoint Slides for Lecture 5

Required Readings:
  • James Lin, Michael Thomsen, and James A. Landay, "A Visual Language for Sketching Large and Complex Interactive Designs." In CHI Letters: Human Factors in Computing Systems, CHI 2002, 2002. 4(1): pp. 307-314. ACM DL Ref
    See also the DENIM Video
  • 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) or ACM DL Ref
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. ACM DL Reference
  • Walker, M., Takayama, L., and Landay, J. (2002) High-fidelity or low-fidelity, paper or computer medium? Proceedings of the Human Factors and Ergonomics Society 46th Annual Meeting (in press). 
    PDF or HTML
  • 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 or PDF
Tue
Feb 4
Window Manager Input Models

PowerPoint Slides for Lecture 6

Thu
Feb 6

Brad away: HCIC, no class

Tue
Feb 11
Window Manager Input Models, cont.
Thu
Feb 13
Guest Lecture by Scott Hudson -- SubArctic and its input models

PowerPoint Slides for Scott's Lecture

Required Readings:
  • Tyson R. Henry, Scott E. Hudson, Gary L. Newell . "Integrating gesture and snapping into a user interface toolkit," UIST'90: Symposium on User Interface Software and Technology, 1990, Snowbird, Utah, pp. 112 - 122. ACM DL Reference.
Optional Readings. The subArctic papers (which cover various specific topics) are:
Tue
Feb 18
New toolkit input models: Garnet & Amulet

PowerPoint Slides for Lecture 7

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. ACM DL Reference.
  • 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. ACM DL Reference
  • 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. ACM DL Reference

Homework 2 Due
Start on Homework 3

Thu
Feb 20
Amulet Input Model, cont.
Tue
Feb 25
Constraints

PowerPoint Slides for Lecture 8

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. ACM DL Reference
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. ACM DL Reference
  • Brad A. Myers, Robert C. Miller, Rich McDaniel, and Alan Ferrency, "Easily Adding Animations to Interfaces Using Constraints." ACM Symposium on User Interface Software and Technology, UIST'96, November 6-8, 1996. Seattle, WA. pp. 119-128. ACM DL Reference (postscript
Thu
Feb 27
Guest Lecture by Scott Hudson -- Advanced Constraints

Scott's Constraints PowerPoint Slides

Required Readings:
  • Scott E. Hudson. "Incremental attribute evaluation: a flexible algorithm for lazy update," ACM Transactions on Programming Languages and Systems, Volume 13 , Issue 3 (1991), Pages 315-341.  ACM DL Reference
  • Bjorn N. Freeman-Benson, John Maloney and Alan Borning. "An incremental constraint solver," Communications of the ACM . Volume 33 , Issue 1 (1990). Pages 54-63. ACM DL Reference
Tue
Mar 4
Software Organization: Lexical-Syntax-Semantics, Seeheim Model, MVC, Object-Oriented Programming for UIs

PowerPoint Slides for Lecture 9

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. ACM DL Reference.
Optional Readings:
  • William Buxton, "Lexical and Pragmatic Considerations of Input Structures," Computer Graphics, January, 1983, (17)1, pp. 31-37. (lexical, syntactic, semantic, etc.). [Not online]
  • Mark Green, "Report on Dialogue Specification Tools," User Interface Management Systems, G. Pfaff, ed. Berlin: Springer-Verlag, 1985. pp. 9-20. (Seeheim model)
  • Glenn Krasner and Stephen T. Pope, "A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80", Journal of Object-Oriented Programming (JOOP). August-September, 1988. vol. 1, no. 3. pp. 26-49.
Thu
Mar 6

Mid Semester Break -- no classes

Tue
Mar 11
Toolkits: intrinsics, callbacks, resources, widget hierarchies, geometry management

PowerPoint Slides for Lecture 10

Thu
Mar 13

UIMS Techniques: Menu trees, transition networks, grammars, Event Languages, HyperTalk, production systems, Declarative Languages

PowerPoint Slides for Lecture 11

Required Readings:
  • Mark Green, "A Survey of Three Dialogue Models," ACM Transactions on Graphics (5)3, Jul, 1986, pp 244-275. ACM DL Reference
  • chapter 10 from Olsen's book: "Editing Dialog Models". Not Online.
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. ACM DL Reference.
  • 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. ACM DL Reference
  • 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. ACM DL Reference. ACM DL Reference

Homework 3 Due
Start on Homework 4

Tue
Mar 18
Model-based tools: Creating the UI Automatically

PowerPoint Slides for Lecture 12

Required Readings:
  • Dan R. Olsen, Jr., "A Programming Language Basis for User Interface Management," Proceedings SIGCHI'89, Austin, TX, Apr, 1989, pp. 171-176. ACM DL Reference
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. ACM DL Reference [PDF not online]
  • 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. ACM DL Reference.
Thu
Mar 20
New Model-Based Approaches: XWeb, XIML, iCrafter, Fabio Paterno's, Pebbles PUC

Presented by Jeff Nichols

PowerPoint Slides for Guest Lecture

Required Readings:
  • Jeffrey Nichols, Brad A. Myers, Michael Higgins, Joe Hughes, Thomas K. Harris, Roni Rosenfeld, Mathilde Pignol. "Generating Remote Control Interfaces for Complex Appliances." CHI Letters: ACM Symposium on User Interface Software and Technology, UIST'02, 27-30 Oct. 2002, Paris, France. pp. 161-170. pdf
  • Dan R. Olsen Jr., Sean Jefferies, Travis Nielsen, William Moyes and Paul Fredrickson. “Cross-modal Interaction using Xweb,” Proceedings UIST'00: ACM SIGGRAPH Symposium on User Interface Software and Technology, San Diego, CA, 2000. pp. 191-200. ACM DL Reference
Optional Readings:
  • S. R. Ponnekanti, B. Lee, A. Fox, P. Hanrahan and T.Winograd. “ICrafter: A service framework for ubiquitous computing environments,” UBICOMP 2001, Atlanta, Georgia, 2001. pp. 56-75. URL
  • Paterno, F., Mancini, C. & Meniconi, S. (1997), "ConcurTaskTrees: A Diagrammatic Notation for Specifying Task Models," in Proceedings of Interact-97, Sydney, Australia, pp.362-369. PDF
Tue
Mar 25
Spring Break
Thu
Mar 27
Spring Break
Tue
Apr 1
Demonstrational Tools

PowerPoint Slides for Lecture 13

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. ACM DL Reference. (postscript)
  • 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. pp. 442-449. (Gamut) ACM DL Reference. postscript.
  • Brad Myers, Richard McDaniel and David Wolber. "Programming by example: Intelligence in Demonstrational Interfaces," Communications of the ACM. March, 2000. vol. 43, no. 3. pp. 82-89. ACM DL Reference.
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) ACM DL Reference
  • 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) ACM DL Reference.
Thu
Apr 3
Component Techniques: Andrew, OLE, OpenDoc, Java Beans

PowerPoint Slides for Lecture 14

Required Readings:
Optional Readings:
Tue
Apr 8
CHI'2003: No class
Thu
Apr 10
CHI'2003: No class
Tue
Apr 15
Gestural Input Techniques, Handwriting

Presented by Gopi Flaherty

PowerPoint Slides for Lecture

Readings:
  • "Providing Integrated Toolkit-Level Support for Ambiguity in Recognition-Based Interfaces", Jennifer Mankoff, Scott E. Hudson, Gregory D. Abowd, CHI 2000: CHI Letters, vol. 2, issue 1, p. 368-375. ACM DL Ref
  • "SATIN: A Toolkit for Informal Ink-based Applications", Jason I. Hong and James A. Landay, UIST '00: CHI Letters, vol 2, issue 2, p. 63-72. ACM DL Ref
  • "Extending an Existing User Interface Toolkit to Support Gesture Recognition", James A. Landay and Brad A. Myers, Proceedings of the 3rd annual ACM SIGGRAPH symposium on User interface software and technology, p. 112-122. ACM DL Ref
  • "Specifying Gestures by Example", Dean Rubine, Computer Graphics, Volume 25, Number 4, July 1991, p. 329-337. ACM DL Ref
Topics:
  • Note: not gestural interfaces, but tools available to programmers who want to create interfaces that use gestures and handwriting.
  • Rubine's recognizer: Rubine, D. “Specifying Gestures by Example,” in Proceedings SIGGRAPH'91: Computer Graphics. 1991. Las Vegas, NV: 25. pp. 329-337.
  • Agate in Garnet and Amulet: Landay, J.A. and Myers, B.A. “Extending an Existing User Interface Toolkit to Support Gesture Recognition,” in Adjunct Proceedings INTERCHI'93: Human Factors in Computing Systems. 1993. Amsterdam, The Netherlands: pp. 91-92.
  • Handwriting and gesture recognizers in Newton, other early pen-based systems.
  • TabletPC tools for handwriting and gesture recognition today: TabletPC SDK
  • Any Microsoft or Java APIs?
In-class grade sheet for student presenters
Thu
Apr 17
Simple User Interface Toolkits: SUIT to Alice

To be presented by Andy Ko

PowerPoint Slides for Lecture

Readings:
  • Ousterhout, J (1998). Scripting: Higher-Level Programming for the 21st Century. IEEE Computer, 31(3), pp 23-30. IEEE DL PDF, or citeseer ref
  • Pausch, R., Conway, M., & DeLine, R. (1992). Lesson Learned from SUIT, the Simple User Interface Toolkit. ACM Transactions on Information Systems, 10(4), 320-344. ACM DL Ref, or citeseer ref
  • Conway, M., Audia, S., Burnette, T., Cosgrove, D., Christiansen, K., Deline, R., et al. (2000, Apr 1-6). Alice: Lessons Learned from Building a 3D System For Novices. Paper presented at the Proceedings of CHI 2000, The Hague, The Netherlands. ACM DL Ref, or citeseer ref
Topics:
  • Tcl/Tk
  • SUIT
  • Visual Basic
  • Cocoa
  • Alice

In-class grade sheet for student presenters

Homework 4 Due
Start on Homework 5

Tue
Apr 22
Toolkits for Phones, PDAs, Toys and Other Devices

To be presented by Jake Wobbrock

PowerPoint Slides for Lecture

Readings:
  • Saul Greenberg and Chester Fitchett. Phidgets: Easy Development of Physical Interfaces through Physical Widgets. Proc. UIST 2001. 209-218. ACM DL Ref
  • Saul Greenberg and Michael Boyle. Interaction in the real world: Customizable physical interfaces for interacting with conventional applications. UIST'2002. Pages: 31 - 40. ACM DL Ref
  • Brad A. Myers. "Using Hand-Held Devices and PCs Together," Communications of the ACM. Volume 44, Issue 11. November, 2001. pp. 34 - 41. ACM DL Ref
Topics:
  • PalmOS development environment
  • PocketPC/ Windows CE
  • Compact framework
  • J2ME (micro edition)
  • Brew (competitor with J2ME)
  • WAP and WML
  • DirectX programming for Games
  • Psion, etc.
Thu
Apr 24
Toolkits for Ubiquitous Computing, Context Awareness and CSCW

To be presented by John Kembel

PowerPoint Slides for Lecture

Readings:
  • Moran, T.P. and Dourish, P., editors, 2001. Special Issue on Context-Aware Computing, Human-Computer Interaction. 16 (2-4), pp. 87-419. (Read the Introduction)
  • Dey, A., Mankoff, J., Abowd, G., and Carter, S.. Distributed Mediation of Ambiguous Context in Aware Environments. UIST2002, Paris, France, October 28-30, 2002. pp. 121-130. Dey's Ref
  • Ballagas, R., Ringel, M., Stone, M., Borchers, J.. iStuff: A Physical User Interface Toolkit for Ubiquitous Computing Environments. CHI2003. 537-544. ACM DL Ref
Optional Readings (longer):
  • Guanling Chen and David Kotz, "A Survey of = Context-Aware Mobile Computing Research". Dartmouth Computer Science Technical = Report TR2000-381. PDF
  • Dey, A.K., Abowd, G.D., and Salber, D., 2001. A Conceptual Framework and a Toolkit for Supporting the Rapid = Prototyping of Context-Aware Applications, Human-Computer Interaction. = 16 (2-4), 97-166. *New Link: http://www.cc.g= atech.edu/fce/ctk/pubs/HCIJ16.pdf.
Topics:
  • Survey of Context-Aware Architectures
  • Anind Dey's Context-Aware Toolkit
  • Stanford's iRoom (toolkit from CHI2003)
  • Gia (UIUC's Infrastructure for Active Spaces)
  • Aura (CMU's Proactive Ubicomp Project)
  • Others : Groupware, Oxygen, EasyLiving

 

  • Groupware Architectures
    • Phillips, W.G., 1999. Architectures for Synchronous Groupware, Tech. Rep.. http://phillips.rmc.ca/greg/pub/
    • Greenberg, S. and Roseman, M., 1999. Groupware Toolkits for Synchronous Work. In: Beaudouin-Lafon, M. (Ed.), Trends In CSCW'99, No. 7 in Trends in Software, John Wiley & Sons, New York, NY, USA, ch. 6, pp. 135–168.
    • Roseman, M. and Greenberg, S., 1992. GROUPKIT: a groupware toolkit for building real-time conferencing applications. In: Proceedings of the conference on Computer-supported cooperative work, ACM Press, pp. 43–50. http://doi.acm.org/10.1145/143457.143460
  • Surveys of Context-Aware Architectures:
    • Moran, T.P. and Dourish, P., editors, 2001. Special Issue on Context-Aware Computing, Human-Computer Interaction. 16 (2–4), pp. 87–419. (Especially the introduction)
    • Guanling Chen and David Kotz, "A Survey of Context-Aware Mobile Computing Research". Dartmouth Computer Science Technical Report TR2000-381. PDF
  • Anind Dey's PhD thesis system
    • Dey, A.K., Abowd, G.D., and Salber, D., 2001. A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications, Human-Computer Interaction. 16 (2–4), 97–166. http://www.cc.gatech.edu/fce/contexttoolkit.
  • Peter Tandler's system
  • Aura (CMU)
    • http://www.cs.cmu.edu/~aura/
    • maybe: Sousa, J. and Garlan, D., 2002. Aura: An Architectural Framework for User Mobility in Ubiquitous Computing Environments. In: Software Architecture: System Design, Development, and Maintenance (Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture), pp. 29–43.
  • Gaia (UIUC)
  • iRoom (Stanford)
  • Oxygen? (MIT)
  • EasyLiving? (Microsoft) -- geometry model as fundamental core
Tue
Apr 29
Sound and Speech Input and Output, Multi-Modal architectures

To be presented by Johnny Lee

PowerPoint Slides for Lecture

Readings:
  • "Suede: a Wizard of Oz prototyping tool for speech user interfaces", Scott R. Klemmer , Anoop K. Sinha, Jack Chen , James A. Landay, Nadeem Aboobaker , Annie Wang, Proceedings of the 13th annual ACM symposium on User interface software and technology, November 2000. ACM DL Ref
  • "Universal speech interfaces", Ronald Rosenfeld , Dan Olsen , Alex Rudnicky, Interactions, October 2001, Volume 8 Issue 6. ACM DL Ref
  • "Voice as sound: using non-verbal voice input for interactive control." Takeo Igarashi, John F. Hughes, UIST 2001: 155-156. ACM DL Ref
  • Sphinx: http://fife.speech.cs.cmu.edu/sphinx/
Possible Topics:
  • Speech APIs; Microsoft: MSAPI, Java JSAPI
  • CMU's Sphinx toolkit
  • MultiModal architectures: Phil Cohen's "Open Agent Architecture"
  • Alex Waibel's tools, CPOF
Thu
May 1
Implementing for the Web

Guest Lecture by Ahsanur "Arif" Chowdhury -- SCS's WebMaster
Web Developer/Technical Manager

PowerPoint Slides for Lecture

Topics:
Other Topics:
  • DTDs, Xforms, SOAP, and other technologies for XML
  • ASP, Java J2EE servlets, Java Server Pages (JSP), WSDL, UDDI, etc.
  • .NET
  • WAP, iMode, etc. for mobile devices

 

Thur
May 8
Homework 5 Due

Other possible topics/systems not included above:


January 13, 2003: First day of class
January 20: MLK day, no classes in afternoon
March 6-7: no classes
March 10: mid term grades due
March 24-28: Spring break
April 5-10: CHI'03: No classes
April 11-12: Spring carnival, no classes
May 2: Last day of classes
Final Grades Due: May 15


Back to 05-830 main page