Teaching User Interface Development to Software Engineers

Gary Perlman
Computer & Information Science
Ohio State University
Columbus, Ohio 43210 USA
+1-614-292-2566
perlman@acm.org

Table of Contents

ABSTRACT

Teaching User Interface Development to Software Engineers is an overview of the analysis, design, implementation and evaluation topics to teach and the resources to teach them to software engineers, the people who make most of the user interface design decisions. The goal is to improve the quality of user interface development instruction for software engineers and in turn improve the quality of the user interfaces they build.

KEYWORDS

[K.3.2] Computer and Information Science Education, Curriculum; [K.6.1] Project and People Management; Staffing, Training, Human Factors, Management, Education, Software Engineering, User Interface

INTRODUCTION

There are not many specialists in user interface development, so most software user interfaces are designed and built by software engineers. These engineers need training about how to build usable and useful user interfaces, but the scarcity of user interface specialists is correlated with the lack of educators ready to train user interface developers. The materials presented here are designed to improve the quality of user interface development training. A software engineer who has been trained in user interface development should have gained perspective, learned about methods and tools, and gained an appreciation of their limits. Their perspective should include: the importance of the user interface, the impact of good and bad user interfaces, and the diversity of users and applications. About methods and tools they should know: the tradeoffs of design decisions involving different dialogue types and input/output devices, the information resources available for design, the benefits and costs of developing tools for user interface implementation, the need to integrate training materials with the user interface, the need to evaluate system usability, and information about some design and evaluation tools. Finally, software engineers building user interfaces must know the limits of their knowledge: when and how to work with human factors engineers as consultants for design and evaluation, when and how to work with technical writers for implementation of a system of user guidance, when and how to work with a statistical consultant, and the difficulty of measurement and the complexity of making decisions based on data.

CONTENT

The material in the tutorial is organized around the curriculum module developed by the instructor for the Software Engineering Institute at Carnegie-Mellon University. The first computer science course suggested by the ACM SIGCHI report on Curricula for HCI closely matches this organization. The tutorial will stress the content of a first course to be offered to computer science majors and software engineers. The content focuses on an iterative development lifecycle of practical cost-effective methods for the analysis, design, implementation, and evaluation of user interfaces. There will be treatment of lecture material, motivating demonstrations, and reinforcing exercises. Widely available and economical Mac and PC hardware and software will be discussed, with some references to common workstation environments.

OBJECTIVES

AUDIENCE

Different audiences will get different benefits from this tutorial and will view the material at different levels. There are no prerequisites, other than an interest in the topic of educating software developers about user interface development. This tutorial is best viewed as intermediate level because it assumes some general knowledge of the field of HCI. The intended audiences include:

RESOURCES

Much of the tutorial is an overview of resources for HCI education, most of which are in electronic form and freely available on the Internet. The tutorial will cover how to access these materials using FTP (file transfer protocol), electronic mail services, WWW (World-Wide Web) browsers such as Mosaic and Lynx, and even floppy disk distribution. Also covered will be the uses of the SIGCHI mailing list for educators: educators.chi. Several of the resources are listed in the bibliography for this summary, and all the resources can be found in issues of ACM interactions magazine.

TOPICS

BIBLIOGRAPHY

  1. Baecker, R. M. & Buxton W. A. S (Editors) (1987) Readings in Human-Computer Interaction: A Multidisciplinary Approach. Los Altos, CA: Morgan-Kaufmann Publishers.
  2. Baecker, R. M., Grudin, J., Buxton, W. A. S & Greenberg, S. (Editors) (1994) Readings in Human-Computer Interaction: Toward the Year 2000 (Second Edition).
  3. Card, S. K., Moran, T. P. & Newell, A. (1983) The Psychology of Human-Computer Interaction. Hillsdale, NJ: LEA.
  4. Dix, A., Finlay, J., Abowd, G. & Beale, R (1993) Human-Computer Interaction. Hillsdale, NJ: Prentice Hall.
  5. Helander, M. (Editor) (1988) Handbook of Human-Computer Interaction. Amsterdam: North-Holland.
  6. Hewett, T. T. et al (1992) ACM SIGCHI Curricula in HCI. New York: ACM. (online Web version in http://www.acm.org/sigchi/cdg/
  7. Hix, D. & Hartson, H. R. (1993) Developing User Interfaces: Ensuring Usability Through Product and Process. New York, New York: John Wiley & Sons, Inc..
  8. Lewis, C. & Rieman, J. (1993) Task-Centered User Interface Design. (text at ftp.cs.colorado.edu in /pub/cs/distribs/clewis/HCI-Design-Book). (WWW Page).
  9. Mantei, M. M. & Smelcer, J. B (1984) Guidelines for Reading the Human-Computer Interaction Survey Results. SIGCHI Bulletin, 16:2, 9-43.
  10. Matias, E. (1994) "comp.human-factors" Frequently Asked Questions (FAQ) File. First posted May 29, 1994. http://www.dgp.toronto.edu/people/ematias/faq/contents.html).
  11. Perlman, G. (1988) Teaching User Interface Development to Software Engineers. Proceedings HFS 32nd Annual Meeting, 391-394.
  12. Perlman, G. (1989) User Interface Development. Curriculum Module 17, Software Engineering Institute. (text in /pub/hci/SEI at ftp.cis.ohio-state.edu).
  13. Perlman, G. (1990) Teaching User Interface Development to Software Engineering and Computer Science Majors, ACM SIGCHI Bulletin, 22:1, 61-66.
  14. Perlman, G. (1991) The HCI Bibliography Project. SIGCHI Bulletin, 23:3, 15-20 (ASCII refer format. (WWW page at http://www.hcibib.org/).
  15. Perlman, G. (1994) The HCI Bibliography: Past, Present, and Future. CHI'94 Companion, 71-72. New York: ACM.
  16. Perlman, G. (1994) Human-Computer Interaction - A Review of Preece et al, ACM SIGCHI Bulletin, 26:4, 82-85.
  17. Perlman, G. (1984) Electronic Resources for Human Factors and Ergonomics Education: Lessons from HCI, Proceedings HFS 38th Annual Meeting, 399-403.
  18. Perlman, G. (1995) Educational Resources in HCI, ACM interactions, 2:2.
  19. Perlman, G. and Gasen, J. (1994) The ACM SIGCHI Education Survey. CHI'94 Companion, 73-74. New York: ACM. http://www.acm.org/sigchi/educhi/).
  20. Preece, J. et al (1994) Human-Computer Interaction. Wokingham: Addison-Wesley.
  21. SEI Software Engineering Curriculum Project (1991) Software Engineering Education Directory, Technical Report CMU/SEI-91-TR-9 ESD-TR-91-9 183 pp. Pittsburgh, PA: Software Engineering Institute.
  22. Shneiderman, B. (1992) Designing the User Interface: Strategies for Effective Human-Computer Interaction (Second Edition). Reading, MA: Addison-Wesley Publishing Co.
  23. Strong, G. et al (1994) New Directions in HCI Education, Research, and Practice, Washington, DC: National Science Foundation, Advanced Research Projects Agency.

COPYRIGHT NOTICE

Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and the notice is given that copying is by permission of ACM. To copy otherwise, or to republish, requires a fee and/or specific permission.
CHI Companion 95, Denver, Colorado, USA
Copyright © 1995 ACM 0-89791-755-3/95/005...$3.50
Go to Table of Contents