Schedule for 05-830, Advanced User Interface Software, Spring, 2017


Tuesday,
Jan. 17, 2017

1. Course organization; Evaluating Tools

See slides for lecture 1

Required Readings:

  • Brad A. Myers, Andrew J. Ko, Thomas D. LaToza, and YoungSeok Yoon. "Programmers Are Users Too: Human-Centered Methods for Improving Programming Tools," IEEE Computer, Special issue on UI Design, 49, issue 7, July, 2016, pp. 44-52. IEEE DL or local pdf.
  • Brad A. Myers and Jeffrey Stylos, "Improving API Usability", Communications of the ACM, vol 59, No. 6, June, 2016, pp. 62-69, ACM DL Author-ize serviceOfficial ACM DL entryhtml or local pdf.
  • Jakob Nielsen, Heuristic Evaluation. On line in html format. Includes list of 10 heuristics.
  • 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

Recommended Readings:

  • 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
  • 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
  • Clarke, Steve, “Measuring API Usability.Dr. Dobb's Journal; Special Windows/.NET Supplement, May, 2004. pp. S6-S9. html
  • Nielsen Text: Chapter 5 (Heuristic Evaluation)
  • 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
  • T.R.G. Green, Cognitive Dimensions of Notations. Cognitive Dimensions of Notations Resource Site
  • 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.
  • Andrew J. Ko and Brad A. Myers. "Finding Causes of Program Output with the Java Whyline", Proceedings CHI'2009: Human Factors in Computing Systems. Boston, MA, April 4-9, 2009. pp. 1569-1578. pdf and video

Start on Homework 1

Thursday,
Jan. 19, 2017

2. Basic Computer Graphics

See slides for lecture 2

Required Readings:

  • New Foley & van Dam, pp. 25-40, 52-60
  • old Foley & van Dam, pp. 132-134 (color maps)
  • These are combined into one pdf (link only works from CMU or with VPN, but also available on Blackboard under Course Content)
Tuesday,
Jan. 24, 2017

3. Other Output Models: Structured Graphics; Object-Oriented Techniques; Hints for HW2

See slides for lecture 3

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. local pdf or IEEE Explore Ref.
  • David S. Kosbie, Brad Vander Zanden, Brad A. Myers, Dario Giuse. "Automatic Graphical Output Management", in Brad A. Myers, editor. The Garnet Compendium: Collected Papers, 1989-1990. Carnegie Mellon University School of Computer Science Technical Report, no. CMU-CS-90-154, August, 1990. pp. 30-43. pdf.
Optional 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.
  • 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
Thursday,
Jan. 26, 2017

In-class presentation of UI Evaluations from HW1 -- each student gets 7 minutes

Homework 1 Due
Start on Homework 2

Tuesday,
Jan. 31, 2017

Brad away - no class

Thursday,
Feb 2, 2017

4. Why are user interfaces hard to design and implement? and Types of User Interfaces

See slides for lecture 4

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 or local copy
    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 or local copy.
Tuesday,
Feb. 7, 2017

5. Conventional Input Models for Window Managers and Toolkits

See slides for lecture 5

Required Readings:

  • Unfortunately, there are no particularly good readings for this topic, so nothing is "required".
Recommended Readings:
Thursday,
Feb. 9, 2017

6. Garnet & Amulet input models: "Interactor" and "Command" Objects

See slides for lecture 6

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 and local pdf and video. (Topaz)
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 
Tuesday,
Feb. 14, 2017

7. SubArctic and its input models:
(Guest Lecture by Scott Hudson)

See slides for lecture 7

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:

Homework 2 Due
Start on Homework 3

Thursday,
Feb. 16, 2017

8. Overview of UI Software and Tools; and Hints for HW3

See slides for lecture 8

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.
Tuesday,
Feb. 21, 2017

9. Software Organization: Lexical-Syntax-Semantics, Seeheim Model, MVC

See slides for lecture 9

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
  • 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
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)
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
Thursday,
Feb. 23, 2017

Brad away - guest lecture

10. ConstraintJS and InterState - Guest Lecture by Stephen Oney (by Skype)

See slides for lecture 10

Stephen Oney is a Assistant Professor in the University of Michigan School of Information. He received his PhD from the HCII at CMU in 2015, advised by Brad Myers. This thesis topics included the ConstraintJS and InterState user interface development tools.. His current research focuses on enabling and encouraging more people to write and customize computer programs by creating new programming tools and exploring usability issues in programming environments.

Required Readings:

  • Stephen Oney, Brad A. Myers, Joel Brandt, "ConstraintJS: Programming Interactive Behaviors for the Web by Integrating Constraints and States", UIST'2012: ACM Symposium on User Interface Software and Technology, October 7-10, 2012. Cambridge, MA. pp. 229-238. ACM DL or local pdf
  • Stephen Oney, Brad A. Myers, and Joel Brandt, "InterState: A Language and Environment for Expressing Interface Behavior", ACM Symposium on User Interface Software and Technology, UIST'14, October 5-8, 2014, Honolulu, Hawaii. pp. 263-272. ACM DL, pdf, video, project Page.
Tuesday,
Feb. 28, 2017

11. Toolkits: intrinsics, callbacks, resources, widget hierarchies, geometry management

See slides for lecture 11

Optional Readings.

Thursday,
Mar 2, 2017

12. UIMS Techniques: Menu trees, Transition Networks, Grammars, Event Languages, HyperTalk, Declarative Languages

See slides for lecture 12

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 book.
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
Tuesday,
Mar. 7, 2017
Brad Away - Dagstuhl

13. Guest Lecture by Scott Hudson -- Advanced Constraints

See slides for lecture 13

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
Thursday,
Mar. 9, 2017

14. Other kinds of Constraints; and hints for HW4

See slides for lecture 14

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

Homework 3 Due
Start on Homework 4

Monday, March 13, 2017: Mid-Semester Grades Due by 4 p.m.
Tuesday,
Mar. 14, 2017

CMU Holiday - Spring Break, no classes

Thursday,
Mar. 16, 2017

CMU Holiday - Spring Break, no classes

Tuesday,
Mar. 21, 2017

15. Model-based tools: Creating the UI Automatically

See slides for lecture 15

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
  • 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:
  • 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.
  • 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
Thursday,
Mar. 23, 2017

16. Interactive Tools: Prototypers (HyperCard, Director, Visual Basic), Interface Builders, Sketching Tools

See slides for lecture 16

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
Tuesday,
Mar. 28, 2017

17. Demonstrational Tools

See slides for lecture 17

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)

Choice of topic for in-class presentations due

Thursday,
Mar. 30, 2017

Demonstrational tools, continued

Tuesday,
Apr. 4, 2017

18. Component Techniques: Andrew, OLE, OpenDoc, Java Beans, Service-Oriented Architecture (SOA)

See slides for lecture 18

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:

Homework 4 Due
Start on Homework 5

Thursday,
Apr. 6, 2017

19. Simple User Interface Toolkits and EUP for UIs

See slides for lecture 19

Required Readings:

  • 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
  • J.F. Pane, B.A. Myers, and L.B. Miller, "Using HCI Techniques to Design a More Usable Programming System," 2002 IEEE Symposia on Human Centric Computing Languages and Environments (HCC'2002). Arlington, VA, September 3-6, 2002. pp. 198-206. local pdf. (Winner Most Influential Paper Award for important influences on VL/HCC research or commerce over the last 10+/-1 years in 2012.)
Optional Readings:
  • Repenning, A & Ioannidou, A. (2004) Agent-based end-user development. Communications of the ACM, 47(9), pp. 43-46. ACM DL Ref
  • Anders I. Mørch., Stevens, G., et al. (2004) Component-based technologies for end-user development. Communications of the ACM, 47(9), pp. 59-62. ACM DL Ref
  • Anders I. Mørch: Application Units: Basic Building Blocks of Tailorable Applications. EWHCI 1995: 45-62 Springer Link
  • F.H. Post and W. Barth, Construction Techniques of Graphic, Direct-Manipulation User Interfaces, EUROGRAPHICS ’91 / Elsevier Science Publishers B.V. Eurographics Association, 1991. Cite seer link
  • Scratch, Yahoo! pipes, Vegemite
  • 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
  • Fabio Casati: How End-User Development Will Save Composition Technologies from Their Continuing Failures. IS-EUD 2011: 4-6.  SpringerLink
Tuesday,
Apr. 11, 2017

20. API Usability

See slides for lecture 20

Required Readings:

  • Brad A. Myers and Jeffrey Stylos, "Improving API Usability", Communications of the ACM, vol 59, No. 6, June, 2016, pp. 62-69, ACM DL Author-ize serviceOfficial ACM DL entryhtml or local pdf.
  • Ellis, B., Stylos, J., and Myers, B.A. The factory pattern in API design: A usability evaluation. In Proceedings of the International Conference on Software Engineering (Minneapolis, MN, May 20–26). IEEE Computer Society Press, Washington, D.C., 2007, 302–312.
  • Ko, A.J., Myers, B.A., and Aung, H.H. Six learning barriers in end-user programming systems. In Proceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing (Rome, Italy, Sept. 26–29). IEEE Computer Society Press, Washington, D.C., 2004, 199–206.
Optional Readings:
Thursday,
Apr. 13, 2017

21. Human-Centered Methods for Improving Programming Tools

See slides for lecture 21

Required Readings:

  • Brad A. Myers, Andrew J. Ko, Thomas D. LaToza, and YoungSeok Yoon. "Programmers Are Users Too: Human-Centered Methods for Improving Programming Tools," IEEE Computer, Special issue on UI Design, 49, issue 7, July, 2016, pp. 44-52. IEEE DL or local pdf.
Tuesday,
Apr. 18, 2017

1. Two Students Present:
(Evaluate the presenters using this form)

Mary Beth Kery: Toolkit support for games, graphics and 3D programming - slides

Required Readings:

  • J. Blow, “Game development: Harder Than You Think”, ACM Queue, ACM, New York, 2004, pp. 29-37. ACM DL REF

  • Game Engine Architecture by Jason Gregory (book) "Introduction". pg 1-22 (see Blackboard)

Optional readings:

  • Take a look at standard game engines of today: Unity Game Engine, Unreal Engine, and (non-programmers) GameMaker. There are dozens of other game engines available.
  • OpenGL is the graphics library standard, and it is open source. However, it is highly complex. For a gentler introduction and some videos demonstrating its capability, look at a javascript-based wrapper for OpenGL called three.js
Scott Donaldson: Toolkits for Visualization - slides

Required Readings:

Optional Readings:

Thursday,
Apr. 20, 2017

CMU Holiday -- No class -- Spring Carnival

Tuesday,
Apr. 25, 2017
Brad Probably Away

Guest lecture: Jeff Nichols, Model-based creation of UIs

See slides for guest lecture.

Thursday,
Apr. 27, 2017

2. Two Students Present

Yutong Xie: Toolkits for Mobile Devices & SmartPhones - slides

Required Readings:

  • IBM, Native,web or hybrid mobile app development, 2012. IBM Software Thought Leadership White Paper, pdf
  • Dalmasso, Isabelle, et al. "Survey, comparison and evaluation of cross platform mobile application development tools." Wireless Communications and Mobile Computing Conference (IWCMC), 2013 9th International. IEEE, 2013. http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6583580

Optional Readings:

Lu Han: Toolkit support for Gestural Input Techniques, Handwriting - slides

Required Readings:

  • J.O. 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
  • B MacIntyre, M Gandy, S Dow, JD Bolter. "DART: a toolkit for rapid design exploration of augmented reality experiences." ACM DL Ref

Optional Readings:

Tuesday,
May 2, 2017

3. Two Students Present

Gus Henry: Toolkits for Ubiquitous Computing, Context Awareness and CSCW - slides

Required Readings:

Recommended Readings:

Qiufeng Zhu: Tools to support for Web programming - slides

Required Readings:

  • Matti Anttonen, Arto Salminen, Tommi Mikkonen, and Antero Taivalsaari. 2011. Transforming the web into a real application platform: new technologies, emerging trends and missing pieces. In Proceedings of the 2011 ACM Symposium on Applied Computing (SAC '11). ACM, New York, NY, USA, 800-807. ACM DL Ref
  • An introduction to html 5. https://robertnyman.com/2009/10/14/an-introduction-to-html5/

Optional Readings:

  • Useful link about JavaScript : http://jstherightway.org/
  • Nordin, Mathias. "An optimal solution for implementing a specific 3D web application." (August, 2016). Department of Information Technology, Uppsala University, Thesis. 47 pages. online pdf
Thursday,
May 4, 2017

4. One student presents

Toby Li: Toolkits for building speech/conversational user interfaces - slides

Required Readings:

  • Licklider, Joseph CR. "Man-computer symbiosis." IRE transactions on human factors in electronics 1 (1960): 4-11.
  • Zue, Victor W., and James R. Glass. "Conversational interfaces: Advances and challenges." Proceedings of the IEEE 88.8 (2000): 1166-1180.
  • Allen, James F., et al. "Toward conversational human-computer interaction." AI magazine 22.4 (2001): 27.
  • Norman, Michael, and Peter Thomas. "The very idea: Informing HCI design from conversation analysis." Computers and conversation (1990): 51-65.

Optional Readings:

  • Lee, K-F., H-W. Hon, and Raj Reddy. "An overview of the SPHINX speech recognition system." IEEE Transactions on Acoustics, Speech, and Signal Processing 38.1 (1990): 35-45.
  • Bohus, Dan, and Alexander I. Rudnicky. "RavenClaw: Dialog management using hierarchical task decomposition and an expectation agenda." (2003).
  • Zue, Victor, et al. "JUPlTER: a telephone-based conversational interface for weather information." IEEE Transactions on speech and audio processing 8.1 (2000): 85-96.
  • Kopp, Stefan, et al. "A conversational agent as museum guide–design and evaluation of a real-world application." International Workshop on Intelligent Virtual Agents. Springer Berlin Heidelberg, 2005.
  • Moore, Robert J. et al. “Conversational UX Design” CHI ‘17 Extended Abstracts. 2017.
  • Alexa Skills Kit Voice Design Best Practices https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/alexa-skills-kit-voice-design-best-practices
  • IBM Conversational UX Guidelines https://conversational-ux.mybluemix.net/design/conversational-ux/
  • Cassell, Justine, et al. "Embodiment in conversational interfaces: Rea." Proceedings of the SIGCHI conference on Human Factors in Computing Systems. ACM, 1999.
  • Bickmore, Timothy, and Justine Cassell. "Social dialogue with embodied conversational agents." Advances in natural multimodal dialogue systems. Springer Netherlands, 2005. 23-54.
  • Azaria, Amos, Jayant Krishnamurthy, and Tom M. Mitchell. "Instructable Intelligent Personal Agent." AAAI. 2016.
  • Le, Vu, Sumit Gulwani, and Zhendong Su. "Smartsynth: Synthesizing smartphone automation scripts from natural language." Proceeding of the 11th annual international conference on Mobile systems, applications, and services. ACM, 2013.
  • Oviatt, Sharon. "Ten myths of multimodal interaction." Communications of the ACM 42.11 (1999): 74-81.
  • Bolt, Richard A. “Put-that-there”: Voice and gesture at the graphics interface. Vol. 14. No. 3. ACM, 1980.
  • Amazon Lex https://aws.amazon.com/lex/
  • IBM Watson Conservation Service https://www.ibm.com/watson/developercloud/conversation.html
  • API.ai https://api.ai/
  • Google Speech API https://cloud.google.com/speech/
  • Facebook Chatbot Platform https://messenger.fb.com/

Homework 5 Due

Monday, March 13, 2017: Mid-Semester Grades Due by 4 p.m.
Friday, May 5, 2017: Last day of classes.
CHI Conference: May 6-11, 2017 in Denver
Thursday, May 18, 2017: Final Grades Due by 4 p.m.