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

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

 
Wed,
Jan 14, 2009
NSH 3501
Course organization; Evaluating Tools

PowerPoint slides for Lecture

Required Readings:
  • Clarke, Steve, “Measuring API Usability.Dr. Dobb's Journal; Special Windows/.NET Supplement, May, 2004. pp. S6-S9. pdf
  • Jeffrey Stylos and Brad Myers, "Mapping the Space of API Design Decisions," 2007 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC'07. Sept 23-27, 2007, Coeur d'Alene, Idaho. pp. 50-57. ieee or local pdf
  • Jakob Nielsen, Heuristic Evaluation. On line in html format. Includes list of 10 heuristics.
  • Nielsen Text: Chapter 5 (Heuristic Evaluation)
  • Brian Ellis, Jeffrey Stylos, and Brad Myers. "The Factory Pattern in API Design: A Usability Evaluation". International Conference on Software Engineering (ICSE'2007). May 20-26, 2007. Minneapolis, MN. pp. 302-312. ACM DL or local pdf
  • T.R.G. Green, Cognitive Dimensions of Notations. Cognitive Dimensions of Notations Resource Site

Recommended Readings:
  • Jeffrey Stylos, Brad A. Myers. "The Implications of Method Placement on API Learnability," Sixteenth ACM SIGSOFT Symposium on Foundations of Software Engineering (FSE 2008). Atlanta, GA, November 9-14, 2008. 105-112. ACM DL or  local pdf
  • Jeffrey Stylos and Steven Clarke. "Usability Implications of Requiring Parameters in Objects' Constructors". International Conference on Software Engineering (ICSE 2007). May 20-26, 2007. Minneapolis, MN. pp. 529-539. ACM DL or local pdf
  • Jack Beaton, Sae Young Jeong, Yingyu Xie, Jeffrey Stylos, Brad A. Myers. "Usability Challenges for Enterprise Service-Oriented Architecture APIs," 2008 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC'08. Sept 15-18, 2008, Herrsching am Ammersee, Germany. pp. 193-196. local pdf
  •  
  • Green, T.R.G. and Petre, M., “Usability Analysis of Visual Programming Environments: A 'Cognitive Dimensions' Framework.Journal of Visual Languages and Computing, 1996. 7(2): pp. 131-174. ScienceDirect
    Includes an analysis of HyperCard
  • Matthew Conway, et. al., "Alice: lessons learned from building a 3D system for novices", CHI'2000. pp. 486-493. ACM DL or see this html summary.
    Alice was informed by many user studies over the years.
  • Ko A.J. and Myers B.A. (2009). "Finding Causes of Program Output with the Java Whyline." ACM Conference on Human Factors in Computing Systems (CHI '09), Boston, MA, to appear. local pdf

Start on Homework 1

Fri,
Jan 16, 2009
Brad away at NSF Creative-IT meeting
Wed,
Jan 21, 2009
NSH 3501
In-class presentation of UI Evaluations from HW1 -- each student gets 8 minutes
  Student Tool Evaluation Technique Presentation
1 Jeffrey Wong iPhone programming CD ppt
2 Kyungmin Kim Flash interactive environment CD pptx
3 Joon Cho Java Swing HE ppt
4 Joshua Sunshine Ruby on Rails CD pptx
5 Tobias Freudenreich ActionScript CD pptx
6 Stephen Oney Java FX (RIA from Sun) CD pptx
7 Philip Sarin Django (python) CD pdf
8 Benjamin Feigin Cappucino CD pptx

Homework 1 Due
Start on Homework 2

Fri,
Jan 23, 2009
NSH 2507
Why are user interfaces hard to design and implement? and Types of User Interfaces

PowerPoint Slides for Lecture

Required Readings:
  • Brad A. Myers. "Challenges of HCI Design and Implementation," ACM Interactions. vol. 1, no. 1. January, 1994. pp. 73-83. ACM DL
    Discusses why user interfaces are important, and why they are hard to design and implement.
  • Brad A. Myers. "A Brief History of Human Computer Interaction Technology." ACM interactions. Vol. 5, no. 2, March, 1998. pp. 44-54. ACM DL
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.
Wed,
Jan 28, 2009
NSH 1507
**NOTE special room**
Overview of UI Software and Tools

PowerPoint Slides for Lecture
PowerPoint Slides for "extra" lecture: Updated HCIC Talk on Past Present and Future of User Interface Software Tools

Required Readings:
  • Brad A. Myers. "Graphical User Interface Programming," chapter 48 of Computer Science Handbook -- Second Edition. Allen B. Tucker, editor in chief. Boca Raton, FL: Chapman & Hall/CRC Press, Inc., 2004. pp. 48-1 - 48-29. 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.
Fri,
Jan 30, 2009
NSH 2507

Basic Computer Graphics

PowerPoint Slides for Lecture

Required Readings:
  • New Foley & van Dam, pp. 25-40, 52-60
  • old Foley & van Dam, pp. 132-134 (color maps)
  • (These are combined into this pdf, but it is not generally available on the web)
Wed,
Feb 4, 2009
NSH 3501
Other Output Models: Structured Graphics; Object-Oriented Techniques

PowerPoint Slides for Lecture

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 pdf or IEEE Explore Ref or
    Abstract in html.
  • 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:
  • 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
Fri,
Feb 6, 2009
Brad away: HCIC Conference
Wed,
Feb 11, 2009
NSH 3501
Software Organization: Lexical-Syntax-Semantics, Seeheim Model, MVC

PowerPoint Slides for Lecture

Required Readings:
  • William Buxton, "Lexical and Pragmatic Considerations of Input Structures," Computer Graphics, January, 1983, (17)1, pp. 31-37. (lexical, syntactic, semantic, etc.). html
Optional Readings:
  • Mark Green, "Report on Dialogue Specification Tools," User Interface Management Systems, G. Pfaff, ed. Berlin: Springer-Verlag, 1985. pp. 9-20. (Seeheim model)
    (Here is a pdf scan of the book chapter, but it is not generally available on the web)
  • 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. pdf scan at UCI
Other Readings:
  • Bass, R. Faneuf, R. Little, N. Mayer, B. Pellegrino, S. Reed, R. Seacord, S. Sheppard, and M. Szczur, 1992. “A metamodel for the runtime architecture of an interactive system: the UIMS tool developers workshop”, ACM SIGCHI Bulletin. 24 (1), 32–37. Jan, 1992. ACM DL ref
Fri,
Feb 13, 2009
NSH 2507
Window Manager Input Models

PowerPoint Slides for Lecture

Wed,
Feb 18, 2009
NSH 3501
New toolkit input models: Garnet & Amulet

PowerPoint Slides for Lecture

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
Optional Readings:
  • Brad Myers, David A. Weitzman, Andrew J. Ko, and Duen Horng Chau, "Answering Why and Why Not Questions in User Interfaces," Proceedings CHI'2006: Human Factors in Computing Systems. Montreal, Canada, April 22-27, 2006. pp. 397-406. pdf and video 

Homework 2 Due
Start on Homework 3

Fri,
Feb 20, 2009
NSH 2507
SubArctic and its input models
Guest Lecture by Scott Hudson and Jennifer Mankoff

PowerPoint Slides for Lecture

Required Readings:
  • Scott E. Hudson, Jennifer Mankoff, Ian Smith. "Extensible Input Handling in the subArctic Toolkit", CHI'2005. pp. 381 - 390. ACM DL Reference.
  • Jennifer Mankoff, Scott E. Hudson, Gregory D. Abowd. "Providing integrated toolkit-level support for ambiguity in recognition-based interfaces". CHI'2000. pp. 368 - 375. ACM DL Reference.
Optional Readings. The subArctic papers (which cover various specific topics) are:
Wed,
Feb 25, 2009
NSH 3501
Toolkits: intrinsics, callbacks, resources, widget hierarchies, geometry management

PowerPoint Slides for Lecture

Optional Readings. The subArctic papers (which cover various specific topics) are:
Fri,
Feb 27, 2009
NSH 2507
Constraints

PowerPoint Slides for Lecture

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
Wed,
Mar 4, 2009
NSH 3501
Brad away: IS-EUD Conference

Guest Lecture by Scott Hudson -- Advanced Constraints

PowerPoint Slides for Lecture

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
Optional Readings:
  • Scott E. Hudson, Ian Smith, "Ultra-lightweight constraints", UIST'1996. pp. 147 - 155. ACM DL Reference
Fri,
Mar 6, 2009
CMU Holiday - Mid-Semester Break, no classes
Wed,
Mar 11, 2009
CMU Holiday - Spring Break, no classes
Fri,
Mar 13, 2009
CMU Holiday - Spring Break, no classes
Wed,
Mar 18, 2009
NSH 3501

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

PowerPoint Slides for Lecture

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". User Interface Management Systems: Models and Algorithms. Morgan Kaufmann; (November 1991) (pdf of the chapter, but this is not generally available on the web), or Amazon listing for bookk,
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

Fri,
Mar 20, 2009
NSH 2507
Model-based tools: Creating the UI Automatically

PowerPoint Slides for Lecture

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
  • 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.
Wed,
Mar 25, 2009
NSH 3501
Advanced Model-Based Approaches: XWeb, XIML, iCrafter, Fabio Paterno's, SUPPLE, Pebbles PUC

PowerPoint Slides for 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
  • Angel Puerta, "A Model-Based Interface Development Environment", IEEE Software, 14(4), July/August 1997, pp. 41-47. pdf
Optional Readings:
  • 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
  • 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
  • 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
  • K. Gajos, Weld, D. “SUPPLE: Automatically Generating User Interfaces,”
    IUI'04: Intelligent User Interfaces, Funchal, Portugal, 2004. pp. 93-100. pdf. See also the video.
  • Jeffrey Nichols, Duen Horng Chau, Brad A. Myers, "Demonstrating the Viability of Automatically Generated User Interfaces" Proceedings CHI'2007: Human Factors in Computing Systems. San Jose, CA, April 28 - May 3, 2007. pp. 1283-1292. pdf
Fri,
Mar 27, 2009
NSH 2507
Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders, Sketching Tools

PowerPoint Slides for Lecture

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) or ACM DL Ref
  • 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 (better version of video in a temporary place), (longer video, no sound)
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
  • 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
Wed,
Apr 1, 2009
NSH 3501
Demonstrational Tools

PowerPoint Slides for Lecture

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. (pdf)
  • 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. (pdf)
  • 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. (pdf)
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. (see also the video excerpt)
Fri,
Apr 3, 2009
NSH 2507
Component Techniques: Andrew, OLE, OpenDoc, Java Beans, Service-Oriented Architecture (SOA)

PowerPoint Slides for Lecture

Required 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. Reproduced as ITC Technical Report 061. pdf
  • Chad Vawter and Ed Roman, "J2EE vs. Microsoft.NET: A comparison of building XML-based web services," June 2001. http://www.theserverside.com/tt/articles/article.tss?l=J2EE-vs-DOTNET
Optional Readings:
Wed,
Apr 8, 2009
No class -- During CHI'2009
Fri,
Apr 10, 2009
No class -- Day after CHI'2009
Mon,
Apr 13, 2009
NSH 3501
NOTE: Special day and room

Special Topic Presentation 1

Joon Cho: games & 3d tools

PowerPoint Slides for Lecture

Required Readings:
Optional Readings:
Other Readings:
  • J. Neider, T. Davis, Mason Woo. OpenGL Programming Guide. Addison-Wesley, 1993. link

  • J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen. Object-Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs, New Jersey, 1991. Amazon

In-class grade sheet for student presenters

Wed,
Apr 15, 2009
NSH 3501

Special Topic Presentation 2

Philip Sarin: HTML-based frameworks: “Can you write REAL applications with AJAX?”

PowerPoint Slides for Lecture

Required Readings:
Optional Readings:

Homework 4 Due
Start on Homework 5

Fri,
Apr 17, 2009
CMU Holiday -- No class -- Spring Carnival
Wed,
Apr 22, 2009
NSH 3501
Brad away, no class
Fri,
Apr 24, 2009
NSH 2507

Special Topic Presentation 3

Tobias Freudenreich: Plug-In architectures (Photoshop, Illustrator?, Mozilla, Office, Eclipse, COM, etc.)

PowerPoint Slides for Lecture

Required Readings:
  • Johannes Mayer, Ingo Melzer, Franz Schweiggert, "Lightweight Plug-in-Based Application Development". Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World. pp. 87 - 102, 2002. pdf
  • Brad A. Myers. The Case for an Open Data Model. Carnegie Mellon University School of Computer Science Technical Report, no. CMU-CS-98-153 and Human Computer Interaction Institute Technical Report CMU-HCII-98-101. August, 1998. pdf
  • Birsan, D. 2005. On Plug-ins and Extensible Architectures. Queue 3, 2 (Mar. 2005), 40-46. (this one is less researchy), ACM DL Ref
Optional Readings:
  • Rubel, D. 2006. The Heart of Eclipse. Queue 4, 8 (Oct. 2006), 36-44. ACM DL Ref
Other Readings (for those interested in details about the eclipse plug-in architecture and development):
Mon,
Apr 27, 2009
1:30-2:50
NSH 3501
NOTE: Special day and room

Special Topic Presentation 4

Benjamin Feigin: mobile application Frameworks / SDK's starting with legacy devices and then focusing on iPhone and Android development

PowerPoint Slides for Lecture

Required Readings:
  • iphone vs. Symbian vs. Android vs. Limo vs. Ovi : We cannot compare an ecosystem with an operating system. June 27, 2008. html
  • Jesse Burns. "Developing Secure Mobile Applications for Android." ISEC Partners report. October, 2008. 28 pages. pdf
Optional Readings:
  • Mikko Kontio, Production Manager, Softera, "Architectural manifesto: How to choose a mobile platform." IBM developerWorks article. html
  • AdMob Mobile Metrics Report. March 2009. pdf
Additional Readings:
  • What is Android? (Android 1.1 r1 - 13 Apr 2009). html
  • Overview of LiMo. February, 2009. pdf
  • iPhone Application Programming Guide: The Core Application. (official Apple iPhone documentation - updated: 2009-01-06). html
  • "Using Symbian OS: Getting Started." 4th edition, 10/08, Published by: Symbian Software Limited, 2-6 Boundary Row, Southwark, London SE1 8HP, UK. www.symbian.com. pdf
Wed,,
Apr 29, 2009
NSH 3501
Special Topic Presentation 5

NOTE, Lecture Cancelled: Jeffrey Wong: toolkits for vision

Required Readings:
  • Maynes-Aminzade, D., T. Winograd, and T. Igarashi. Eyepatch: Prototyping Camera-based Interaction through Examples. UIST: ACM Symposium on User Interface Software and Technology, 2007. pdf. Also, see video and try software here.
  • Turk, M. 2004. Computer vision in the interface. Commun. ACM 47, 1 (Jan. 2004), 60-67. ACM DL Ref
Optional Readings:
  • Fails, J. and Olsen, D. 2003. A design tool for camera-based interaction. In Proceedings of the SIGCHI 2003. CHI '03. ACM, New York, NY, 449-456. (The Crayon System). ACM DL Ref
  • Kato, H. and Billinghurst, M. 1999. Marker Tracking and HMD Calibration for a Video-Based Augmented Reality Conferencing System. ACM international Workshop on Augmented Reality. IWAR. IEEE Computer Society, Washington, DC, 85. (ARToolkit). pdf
Fri,
May 1, 2009
NSH 1505

12-1:30

Note: special time and room

Special Topic Presentation 6

Joshua Sunshine: 2D, 3D and Multi-Touch Gestures Made Easier

PowerPoint Slides for Lecture

Required Readings:
  • Chia Shen, Frédéric D. Vernier, Clifton Forlines, Meredith Ringel. "DiamondSpin: an extensible toolkit for around-the-table interaction", In CHI '04, p. 167-174. ACM DL Ref
  • JO Wobbrock, AD Wilson, Y Li. "Gestures without libraries, toolkits or training: a $1 recognizer for user interface prototypes", In UIST '07, p. 159-168. ACM DL Ref
  • Dean Rubine, "Specifying Gestures by Example", Computer Graphics, Volume 25, Number 4, July 1991, p. 329-337. ACM DL Ref
Recommended Readings:
  • James A. Landay, Brad A. Myers. "Extending an existing user interface toolkit to support gesture recognition." CHI'93 extended abstracts, Pages: 91 - 92. ACM DL Ref
  • T. Westeyn, H. Brashear, A. Atrash, and T. Starner. "Georgia tech gesture toolkit: supporting experiments in gesture recognition." In Proceedings of the 5th international conference on Multimodal interfaces, pages 85-92. ACM DL Ref
  • Kent Lyons, Helene Brashear, Tracy Westeyn, Jung Soo Kim, and Thad Starner. "GART: The Gesture and Activity Recognition Toolkit." In Proceedings of HCI International, 2007. Springer Ref
Additional Readings:
  • Jason I. Hong, James A. Landay. "SATIN: a toolkit for informal ink-based applications." In UIST '00: CHI Letters, vol 2, issue 2, p. 63-72. ACM DL Ref
  • J. Allan Christian Long, J. A. Landay, and L. A. Rowe. " Implications for a gesture design tool." In CHI '99, pages 40-47. ACM Press, 1999. ACM DL Ref
  • Jun Rekimoto, "SmartSkin: an infrastructure for freehand manipulation on interactive surfaces", In SIGCHI '02, p. 113-120. (Note: this introduces multi-touch hardware support.) ACM DL Ref
  • B MacIntyre, M Gandy, S Dow, JD Bolter. "DART: a toolkit for rapid design exploration of augmented reality experiences." ACM DL Ref
  • RC Zeleznik, KP Herndon, JF Hughes. "SKETCH: An interface for sketching 3D scenes." In SIGGRAPH 96, p. 163-170. (Note: this is an example of using 3D widgets, not creating them). ACM DL Ref
Fri,
May 1, 2009
NSH 1505

Last day of class

Note: special room

Special Topic Presentation 7

Stephen Oney: Overview of the Adobe Flex/2 architecture

PowerPoint Slides for Lecture

Required Readings:
  • Waldron, R., "The Flash History", 2000. html
  • Adobe, "Comparing Flash, Flex, Flash Player and Adobe AIR" (VIDEO)
Skim the following:
  • Hager, C., Wolf, D., "Building RIAs from front to back - Part 1: Understanding the approach", 2008, html
  • Hager, C., Wolf, D., "Building RIAs from front to back - Part 2: Layout beyond the standard container in Flex 2", 2008, html
Optional:
  • Nielson, J "Flash: 99% Bad", 2000. html
  • Byrne, T. "The case against Flex-based application UIs" 2009. html
  • Gay, J. "The history of Flash", 2001. html
  • Rose, J. "Top 10 Adobe Flex Misconceptions", 2007. html

Homework 5 Due

Final Questionnaire. Please also fill out the University's Assessment.

Official Spring, 2009 schedule:

January 12 M Semester & Mini-3 Classes Begin
January 19 M Martin Luther King Day;  No Classes after 12:30 p.m. (all colleges, all courses; including evening classes)
January 23 F Semester Course Add Deadline without Dean's Permission
January 23 F Semester Course Audit Grade Option Deadline
March 6 F Mid-Semester Break;  No Classes
March 9 M Mid-Semester Grades Due by 9 p.m.
March 9-13 M-F Spring Break;  No Classes
March 30 M Semester Course Drop and Pass/Fail Grade Option Deadline;  Assign Withdrawal Grade for Course Dropping After This Date
April 13 M Summer 2009 Registration begins
April 16 Th No Classes (except TSB & HNZ/ISM)
Apr. 17-18 F-Sa Spring Carnival; No Classes (except TSB & HNZ/ISM)
April 20-24 M-F Fall 2009 Registration Week
Apr. 20-May 4 M-M Semester & Mini-4 University Course Assessment
May 1 F Semester & Mini-4 Last Day of Classes
May 2 Sa Reading Day (except TSB)
May 4-5 M-T Final Examinations (except TSB)
May 6 W Reading Day (except TSB & HNZ/ISM eve classes))
May 7-8 Th-F Final Examinations (except TSB)
May 11-12 M-T Final Examinations (except TSB & HNZ/ISM)
May 14 Th Final Grades for graduating students due by 6 p.m.
May 17 Su Commencement
May 20 W Final Grades for non-graduating students due by 4 p.m.

 

Possible topics for student presentations (in no particular order):

  1. Overview of the Adobe Flex/2 architecture
  2. Overview of the current Microsoft architecture: WinForms, WPF, Silverlight, Windows Mobile, Live Mesh, etc.
  3. Toolkits for Ubiquitous Computing, Context Awareness (and CSCW?)
  4. Toolkits for CSCW
  5. Toolkits for Phones, PDAs, Toys and Other Devices
  6. Simple User Interface Toolkits: SUIT to Alice
  7. Toolkit support for Gestural Input Techniques, Handwriting
  8. Toolkits for supporting sound and speech recognition and generation
  9. Toolkit support for games and 3D programming
  10. Tool support for Web programming: jsp, asp, css, database access, flash, javascript, vbscript, etc.
  11. Programming for Web Services, Service Oriented Architecture (SOA): SOAP vs. REST
  12. Toolkits for supporting vision, image recognition, pattern recognition from cameras as part of a user interface
  13. Toolkits for physical objects: Saul Greenberg's Phidgets, Klemmer's Papier-Mache, Johnny Lee's Calder, etc.
  14. Plug-In architectures (Photoshop, Illustrator?, Mozilla, Office, Eclipse, COM, etc.)
  15. Toolkits for intelligent and adaptive interfaces
  16. Toolkit support for Usability Evaluation

 

Topics covered in previous years (with the old reading list):

From 2004:

  Gestural Input Techniques, Handwriting
Required Readings:
  • Dean Rubine, "Specifying Gestures by Example", Computer Graphics, Volume 25, Number 4, July 1991, p. 329-337. ACM DL Ref
  • J. Allan Christian Long, J. A. Landay, and L. A. Rowe. " Implications for a gesture design tool." In Proceedings of the SIGCHI conference on Human factors in computing systems, pages 40-47. ACM Press, 1999. ACM DL Ref
  • T. Westeyn, H. Brashear, A. Atrash, and T. Starner. "Georgia tech gesture toolkit: supporting experiments in gesture recognition." In Proceedings of the 5th international conference on Multimodal interfaces, pages 85-92. ACM Press, 2003. ACM DL Ref

Optional Readings:
  • J. A. Landay and B. A. Myers. "Extending an existing user interface toolkit to support gesture recognition." In INTERACT ’93 and CHI ’93 conference companion on Human factors in computing systems, pages 91-92. ACM Press, 1993. ACM DL Ref
Topics:
  • Note: not gestural interfaces, but tools available to programmers who want to create interfaces that use gestures and handwriting.
  • "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
  • 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?
  Toolkits for Ubiquitous Computing, Context Awareness and CSCW
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)
  • Winograd, Terry. "Architectures for Context." HCI Journal, 2001. pdf
  • Ballagas, R., Ringel, M., Stone, M., Borchers, J. iStuff: "A Physical User Interface Toolkit for Ubiquitous Computing Environments." CHI'2003. pp. 537-544. ACM DL Ref
Possible Topics
  • 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
  • Anind Dey's PhD thesis system
    • 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
  • Peter Tandler's system
  • Oxygen? (MIT)
  • EasyLiving? (Microsoft) -- geometry model as fundamental core
Wed,
Apr 29
Simple User Interface Toolkits: SUIT to Alice

Presented by Peter Centgraf

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
Optional Readings:
  • Morch, A., Stevens, G., et al. (2004) Component-based technologies for end-user development. Communications of the ACM, 47(9), pp. 59-62. ACM DL Ref
  • Repenning, A & Ioannidou, A. (2004) Agent-based end-user development. Communications of the ACM, 47(9), pp. 43-46. ACM DL Ref
  • Brad A. Myers, John F. Pane and Andy Ko, "Natural Programming Languages and Environments". Communications of the ACM. 47(9), pp. 47-52. ACM DL Ref
Topics:
  • Tcl/Tk
  • SUIT
  • Visual Basic
  • Cocoa
  • Alice
  • End-User Programming for UIs.
  Toolkits for physical objects
Required Readings:
  • Saul Greenberg, Chester Fitchett. "Phidgets: easy development of physical interfaces through physical widgets," Proceedings of the 14th annual ACM symposium on User interface software and technology, November 11-14, 2001, Orlando, Florida. ACM DL Ref
  • Scott R. Klemmer, Jack Li, James Lin, James A. Landay. "Papier-Mache: toolkit support for tangible input," Proceedings of the 2004 conference on Human factors in computing systems, p.399-406, April 24-29, 2004, Vienna, Austria. ACM DL Ref
  • Lee, J.C.; Avrahami, D.; Hudson, S.E.; Forlizzi, J.; Dietz, P.H.; Leigh, D.L., "The Calder Toolkit: Wired and Wireless Components for Rapidly Prototyping Interactive Devices", Designing Interactive Systems (DIS), ISBN: 1-58113-787-7, pp. 167-175, August 2004. ACM DL Ref
Optional Readings:
  • Saul Greenberg, Michael Boyle. "Customizable physical interfaces for interacting with conventional applications," Proceedings of the 15th annual ACM symposium on User interface software and technology, October 27-30, 2002, Paris, France. pp. 31 - 40. ACM DL Ref
  • Saul Greenberg, "Physical user interfaces: what they are and how to build them". UIST'04 invited survey. Abstract available as ACM DL Ref.   Full PowerPoint presentation as PDF file.
  • Tangible Media Group at MIT's web page: http://tangible.media.mit.edu/. There are a lot of cool videos under their projects page. See especially: Topobo, I/O Brush, and mediaBlocks.
Possible Topics:
  • Any tools to create the Tangible UIs (TUIs) from MIT Media Lab
  • Saul Greenberg's Phidgets
  • Smart-Its for wireless computation for "everyday artefacts"
  • Klemmer's Papier-Mache
  • Johnny Lee's Calder, etc.
  Toolkit support for Games
Readings:
  • "As for reading materials, there's a website "gamasutra.com" which is fantastic reading for any game developer or would-be game developer. I really like the articles by Ernest Adams, and the postmortems. But my talk will be easily understood regardless of whether you've done any advance reading. I recommend the website only because it's very enjoyable reading. Free registration is required."
Possible Topics:
  • programming for PCs
  • programming for game consoles like Xbox, Playstation, GameBoy
  • 3D programming tools
  Toolkits for Web Programming
Readings:
  • Mike Morrison, Joline Morrison and Anthony Keys, "Integrating web sites and databases," Commun. ACM, 45(9), September 2002, pp. 81-86. ACM DL Ref
Topics:
  • Static web displays
    • Base forms: HTML, XML, XHTML
    • Parameterized display: CSS, XSL
    • Special purpose static forms: VRML, GML
  • Programmatically creating web pages
    • Protocols: CGI
    • Languages: Perl, PHP
    • Server pages: JSP and Servlets, ASP
  • Interactive web pages
    • Scripting languages: JavaScript, VBScript
    • Embedded applications: Java applets, ActiveX
    • Flash
  • Enterprise web applications
Other Possible Topics:
  Plug-In architectures
Readings:
  • Johannes Mayer, Ingo Melzer, Franz Schweiggert, "Lightweight Plug-in-Based Application Development". Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World. pp. 87 - 102, 2002. html or pdf.
  • John Grundy, Mark Apperley, Rick Mugridge, John Hosking. "Tool Integration, Collaboration and User Interaction Issues in Component-Based Software Architectures," Technology of Object-Oriented Languages and Systems,, November 23 - 26, 1998, ACM DL Ref or Local PDF.
  • Brad A. Myers. The Case for an Open Data Model. Carnegie Mellon University School of Computer Science Technical Report, no. CMU-CS-98-153 and Human Computer Interaction Institute Technical Report CMU-HCII-98-101. August, 1998.  pdf
Recommended Reading (less researchy):
Other possible topics:
  • Plug-ins for applications like Illustrator, Director, Photoshop, etc.
  • Plug-ins for web pages: Flash, VRML, Alice player, Shockwave player, etc.
  • Plug-ins for Office (COM, etc.)
  • Plug-ins for Apple applications: AppleScript, etc.

From 2003:

  Toolkits for Phones, PDAs, Toys and Other Devices
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.
  Sound and Speech Input and Output, Multi-Modal architectures
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