Software Engineering and the CHI & CSCW Communities

The ACM Special Interest Group on Computer and Human Interaction (CHI) has flourished for ten years. The lack of direct interaction between CHI and the discipline of Software Engineering was not entirely an oversight: the two groups have distinct missions. However, a natural bridge is forming from both sides. Considerable work has appeared in CHI conferences and journals that could interest one or another segment of Software Engineering. The potential overlap grew with the emergence in the mid-1980s of a Computer-Supported Cooperative Work (CSCW) focus. CSCW has been dominated by contributors from the CHI community, particularly in the United States. This essay is intended to guide a software engineer into the CHI and CSCW literature. It begins with a CHI perspective on the history of interaction between software engineering and human-computer interaction.

[1]  Allen Cypher,et al.  EAGER: programming repetitive tasks by example , 1991, CHI.

[2]  James D. Foley,et al.  Providing high-level control and expert assistance in the user interface presentation design , 1993, INTERCHI.

[3]  Nuno Correia,et al.  Programming time in multimedia user interfaces , 1992, UIST '92.

[4]  John D. Gould,et al.  How to design usable systems , 1995 .

[5]  Gary M. Olson,et al.  The growth of cognitive modeling in human-computer interaction since GOMS , 1990 .

[6]  Mary Beth Rosson,et al.  Survey on user interface programming , 1992, CHI.

[7]  Simon J. Gibbs,et al.  LIZA: an extensible groupware toolkit , 1989, CHI '89.

[8]  Jock D. Mackinlay,et al.  The cost-of-knowledge characteristic function: display evaluation for direct-walk dynamic information visualizations , 1994, CHI Conference Companion.

[9]  Jonathan Grudin,et al.  Why good engineers (sometimes) create bad interfaces , 1990, CHI '90.

[10]  Richard M. Young,et al.  Programmable user models for predictive evaluation of interface designs , 1989, CHI '89.

[11]  Roberto Moriyón,et al.  Automatic generation of help from interface design models , 1994, CHI '94.

[12]  Jonathan Grudin,et al.  Computer-supported cooperative work: history and focus , 1994, Computer.

[13]  Jakob Nielsen,et al.  Designing usable systems under real-world constraints: a practitioners forum , 1992, CHI.

[14]  James D. Foley,et al.  Building user interfaces interactively using pre- and postconditions , 1992, CHI '92.

[15]  Brad A. Myers Separating application code from toolkits: eliminating the spaghetti of call-backs , 1991, UIST '91.

[16]  Jakob Nielsen,et al.  Teaching experienced developers to design graphical user interfaces , 1992, CHI.

[17]  Kim Halskov,et al.  Participatory design in Britain and North America: responses to the “Scandinavian Challenge” , 1991, CHI '91.

[18]  Judith S. Olson,et al.  Small Group Design Meetings: An Analysis of Collaboration , 1992, Hum. Comput. Interact..

[19]  Robert S. Rist Knowledge Creation and Retrieval in Program Design: A Comparison of Novice and intermediate Student Programmers , 1991, Hum. Comput. Interact..

[20]  Oscar Gutierrez Prototyping techniques for different problem contexts , 1989, CHI '89.

[21]  Jonathan Grudin,et al.  User interface design in large corporations: coordination and communication across disciplines , 1989, CHI '89.

[22]  James Cornford,et al.  Computer Systems Development: History, organization and implementation , 1990 .

[23]  Chris DiGiano,et al.  LogoMedia: a sound-enhanced programming environment for monitoring program behavior , 1993, CHI '93.

[24]  Brigham Bell,et al.  Usability testing of a graphical programming system: things we missed in a programming walkthrough , 1991, CHI '91.

[25]  Saul Greenberg,et al.  GROUPKIT: a groupware toolkit for building real-time conferencing applications , 1992, CSCW '92.

[26]  Jonathan Grudin,et al.  The computer reaches out: the historical continuity of interface design , 1989, CHI '90.

[27]  Jeff A. Johnson Selectors: going beyond user-interface widgets , 1992, CHI '92.

[28]  Mary Beth Rosson,et al.  Comparative usability evaluation: critical incidents and critical threads , 1994, CHI '94.

[29]  Joëlle Coutaz,et al.  Applications: a dimension space for user interface management systems , 1991, CHI '91.

[30]  Marcy Telles,et al.  Updating an older interface , 1990, CHI '90.

[31]  Elliot Soloway Introduction to this Special issue on Novice Programming , 1985, Hum. Comput. Interact..

[32]  Karon Weber,et al.  Marquee: a tool for real-time video logging , 1994, CHI '94.

[33]  William Mark Knowledge-Based User Interface Design , 1985, Hum. Comput. Interact..

[34]  David E. Kieras,et al.  A validation of the GOMS model methodology in the development of a specialized, commercial software application , 1994, CHI '94.

[35]  Joseph M. Ballay Designing Workscape: an interdisciplinary experience , 1994, CHI '94.

[36]  K. C. Burgess Yakemovic,et al.  Report on a development project use of an issue-based information system , 1990, CSCW '90.

[37]  Jakob Nielsen,et al.  Heuristic evaluation of user interfaces , 1990, CHI '90.

[38]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[39]  Alexander Repenning Agentsheets: a tool for building domain-oriented visual programming environments , 1993, CHI '93.

[40]  Ping Luo,et al.  Facilitating the exploration of interface design alternatives: the HUMANOID model of interface design , 1992, CHI.

[41]  Jakob Nielsen,et al.  Enhancing the explanatory power of usability heuristics , 1994, CHI '94.

[42]  Jonathan Grudin,et al.  Organizational obstacles to interface design and development: two participant-observer studies , 1994, TCHI.

[43]  David G. Novick,et al.  Quick: a user-interface design kit for non-programmers , 1990, UIST '90.

[44]  Prasun Dewan,et al.  Access control for collaborative environments , 1992, CSCW '92.

[45]  Dan R. Olsen,et al.  Automatic generation of interactively consistent search dialogs , 1994, CHI '94.

[46]  W. Rouse,et al.  An Architecture for Intelligent Interfaces: Outline of an Approach to Supporting Operators of Complex Systems , 1987, SGCH.

[47]  Scott E. Hudson,et al.  Probabilistic state machines: dialog management for inputs with uncertainty , 1992, UIST '92.

[48]  Jakob Nielsen,et al.  Finding usability problems through heuristic evaluation , 1992, CHI.

[49]  David R. Schwartz,et al.  The use of guidelines in interface design , 1991, CHI.

[50]  David A. Carr,et al.  Specification of interface interaction objects , 1994, CHI '94.

[51]  John Karat,et al.  Facilitating effective HCI design meetings , 1994, CHI '94.

[52]  Ping Luo,et al.  INT { RCHI ’ 93 24-29 April 1993 MANAGEMENT OF INTERFACE DESIGN IN HUMANOlD , 1997 .

[53]  Brad Blumenthal,et al.  Strategies for automatically incorporating metaphoric attributes in interface designs , 1990, UIST '90.

[54]  Laurence Brothers,et al.  ICICLE: groupware for code inspection , 1990, CSCW '90.

[55]  David F. Redmiles,et al.  Reducing the variability of programmers' performance through explained examples , 1993, INTERCHI.

[56]  Thomas P. Moran,et al.  Design rationale: the argument behind the artifact , 1989, CHI '89.

[57]  Alan L. Rector,et al.  User centered development of a general practice medical workstation: the PEN&PAD experience , 1992, CHI '92.

[58]  John Bowers,et al.  Talking through design: requirements and resistance in cooperative prototyping , 1994, CHI.

[59]  Robert M. Mulligan,et al.  User interface design in the trenches: some tips on shooting from the hip , 1991, CHI.

[60]  Gregg Skip Bailey,et al.  Iterative methodology and designer training in human-computer interface design , 1993, INTERCHI.

[61]  Lawrence A. Rowe,et al.  The Picasso Application Framework , 1990 .

[62]  Charles Wiecha,et al.  Generating highly interactive user interfaces , 1989, CHI '89.

[63]  Prasun Dewan,et al.  Primitives for programming multi-user interfaces , 1991, UIST '91.

[64]  Deborah Mrazek,et al.  Integrating human factors on a large scale: product usability champions , 1992, CHI.

[65]  David E. Rowley Usability testing in the field: bringing the laboratory to the user , 1994, CHI '94.

[66]  Sherman W. Tyler,et al.  Interface support for Comet: a knowledge-based software reuse environment , 1992, CHI '92.

[67]  Robert DeLine,et al.  SUIT: the Pascal of user interface toolkits , 1991, UIST '91.

[68]  Philip M. Johnson,et al.  Improving Software Quality through Computer Supported Collaborative Review , 1993, ECSCW.

[69]  Harold H. Miller-Jacobs,et al.  In search of the ideal prototype , 1992, CHI '92.

[70]  James D. Foley,et al.  A second generation user interface design environment: the model and the runtime architecture , 1993, INTERCHI.

[71]  Dan R. Olsen,et al.  Workspaces: an architecture for editing collections of objects , 1992, CHI '92.

[72]  Karen Holtzblatt,et al.  Contextual design: an emergent view of system design , 1990, CHI '90.

[73]  Scott P. Robertson,et al.  Expert problem solving strategies for program comprehension , 1991, CHI.

[74]  F. Javier Lerch,et al.  Towards a model of cognitive process in logical design: comparing object-oriented and traditional functional decomposition software methodologies , 1992, CHI.

[75]  Jonas Löwgren,et al.  Knowledge-based evaluation as design support for graphical user interfaces , 1992, CHI.

[76]  Raymonde Guindon Designing the design process: exploiting opportunistic thoughts , 1990 .

[77]  Michael Good,et al.  Participatory design of a portable torque-feedback device , 1992, CHI.

[78]  Roger Kenton Took Surface interaction: a paradigm and model for separating application and interface , 1990, CHI '90.

[79]  Richard N. Taylor,et al.  Separations of concerns in the Chiron-1 user interface development and management system , 1993, INTERCHI.

[80]  Dan Shapiro,et al.  Faltering from ethnography to design , 1992, CSCW '92.

[81]  Jakob Nielsen,et al.  Assessing the usability of a user interface standard , 1991, CHI.

[82]  Prasun Dewan,et al.  A tour of suite user interface software , 1990, UIST '90.

[83]  Steve Freeman,et al.  MMM: a user interface architecture for shared editors on a single screen , 1991, UIST '91.

[84]  Judith S. Olson,et al.  How a group-editor changes the character of a design meeting as well as its outcome , 1992, CSCW '92.

[85]  Kee Yong Lim,et al.  A method for (recruiting) methods: facilitating human factors input to system design , 1992, CHI.

[86]  Darold Hemphill,et al.  The value of a baseline in determining design success , 1994, CHI '94.

[87]  Tyson R. Henry,et al.  Integrating gesture and snapping into a user interface toolkit , 1990, UIST '90.

[88]  James D. Foley,et al.  DON: user interface presentation design assistant , 1990, UIST '90.

[89]  Bonnie E. John,et al.  Browser-Soar: a computational model of a highly interactive task , 1992, CHI.

[90]  Paul R. Calder,et al.  Glyphs: flyweight objects for user interfaces , 1990, UIST '90.

[91]  Frank M. Shipman,et al.  Supporting knowledge-base evolution with incremental formalization , 1994, CHI '94.

[92]  John R. Anderson,et al.  Debugging: An Analysis of Bug-Location Strategies , 1987, Hum. Comput. Interact..

[93]  Morten Kyng Scandanavian design: users in product development , 1994, CHI Conference Companion.

[94]  Jonathan Grudin,et al.  Systematic Sources of Suboptimal Interface Design in Large Product Development Organizations , 1991, Hum. Comput. Interact..

[95]  Raymond McCall,et al.  Design environments for constructive and argumentative design , 1989, CHI '89.

[96]  James D. Foley,et al.  Controlling user interface objects through pre- and postconditions , 1992, CHI.

[97]  Jonathan Grudin,et al.  Supporting Indirect Collaborative Design With Integrated Knowledge-Based Design Environments , 1992, Hum. Comput. Interact..

[98]  John M. Carroll,et al.  Introduction to This Special issue on Design Rationale , 1991, Hum. Comput. Interact..

[99]  James D. Herbsleb,et al.  Preserving knowledge in design projects: what designers need to know , 1993, INTERCHI.

[100]  Ping Luo,et al.  Beyond interface builders: model-based interface tools , 1993, INTERCHI.

[101]  Mary Beth Rosson,et al.  The Cognitive Consequences of Object-Oriented Design , 1990, Hum. Comput. Interact..

[102]  H. Albert Napier,et al.  Predicting the Skilled Use of Hierarchical Menus With the Keystroke-Level Model , 1993, Hum. Comput. Interact..

[103]  Thomas G. Moher,et al.  Some strategies of reuse in an object-oriented programming environment , 1989, CHI '89.

[104]  Steven E. Poltrock,et al.  Innovation in user interface development: obstacles and opportunities , 1989, CHI '89.

[105]  Harold Ossher,et al.  Coordinating concurrent development , 1990, CSCW '90.

[106]  Morten Kyng,et al.  COMPUTER SUPPORT FOR COOPERATIVE DESIGN , 1988 .

[107]  Terry Winograd A Language/Action Perspective on the Design of Cooperative Work , 1987, Hum. Comput. Interact..

[108]  Ralph D. Hill The abstraction-link-view paradigm: using constraints to connect user interfaces to applications , 1992, CHI '92.

[109]  David E. Kieras,et al.  Automating interface evaluation , 1994, CHI '94.

[110]  James D. Foley,et al.  Coupling application design and user interface design , 1992, CHI.

[111]  Morten Kyng Designing for a Dollar a Day , 1988 .

[112]  Dan R. Olsen,et al.  A Programming Language Basis for User Interface Management , 1989 .

[113]  John R. Anderson,et al.  Learning Flow of Control: Recursive and Iterative Procedures , 1986, Hum. Comput. Interact..

[114]  Richard Bentley,et al.  Ethnographically-informed systems design for air traffic control , 1992, CSCW '92.

[115]  Brad A. Myers,et al.  Automatic, look-and-feel independent dialog creation for graphical user interfaces , 1990, CHI '90.

[116]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[117]  John F. Patterson,et al.  Comparing the programming demands of single-user and multi-user applications , 1991, UIST '91.

[118]  Jürgen Ziegler,et al.  Generating user interfaces from data models and dialogue net specifications , 1993, INTERCHI.

[119]  Dana K. Smith,et al.  Automated Protocol Analysis , 1993, Hum. Comput. Interact..

[120]  Stephanie Houde,et al.  In search of design principles for programming environments , 1994, CHI '94.

[121]  Jonathan Grudin,et al.  Interactive systems: bridging the gaps between developers and users , 1991, Computer.

[122]  Walt Scacchi,et al.  Requirements for an extensible object-oriented tree/graph editor , 1990, UIST '90.

[123]  Raymonde Guindon,et al.  Requirements and design of DesignVision and object-oriented graphical interface to an intelligent software design assistant , 1992, CHI.

[124]  Khaled Narayanaswamy,et al.  “Lazy” consistency: a basis for cooperative software development , 1992, CSCW '92.

[125]  Paul Asente,et al.  X toolkits: the lessons learned , 1990, UIST '90.

[126]  Matthias Ressel,et al.  Progress in building user interface toolkits: the world according to XIT , 1992, UIST '92.

[127]  Clare-Marie Karat,et al.  Comparison of empirical testing and walkthrough methods in user interface evaluation , 1992, CHI.

[128]  Liam J. Bannon,et al.  Questioning Representations , 1991, ECSCW.

[129]  Satoshi Matsuoka,et al.  Declarative programming of graphical interfaces by visual examples , 1992, UIST '92.

[130]  Martha R. Szczur Transportable Applications Environment (TAE) Plus user interface designer WorkBench , 1992, CHI '92.

[131]  Austin Henderson,et al.  Reflections on participatory design: lessons from the trillium experience , 1990, CHI '90.

[132]  Jay Elkerton,et al.  Designing minimal documentation using a GOMS model: a usability evaluation of an engineering approach , 1990, CHI '90.

[133]  Judith S. Olson,et al.  Methods in search of methodology—combining HCI and object orientation , 1994, CHI '94.

[134]  Michael J. Muller PICTIVE—an exploration in participatory design , 1991, CHI.

[135]  Peter Pirolli,et al.  A Cognitive Model and Computer Tutor for Programming Recursion , 1987, SGCH.

[136]  Frank M. Shipman,et al.  Seeding, evolutionary growth and reseeding: supporting the incremental development of design environments , 1994, CHI '94.

[137]  Andrew Dillon,et al.  Usability measurement: its practical value to the computer industry , 1993, CHI '93.

[138]  Douglas J. Gillan,et al.  Designers' models of the human-computer interface , 1990, CHI '90.

[139]  Tamar Bermann,et al.  Can networks make an organization? , 1988, CSCW '88.

[140]  Loren G. Terveen,et al.  From “folklore” to “living design memory” , 1993, INTERCHI.

[141]  Tom Stewart,et al.  Evolving task oriented systems , 1992, CHI '92.

[142]  Cathleen Wharton,et al.  Testing a walkthrough methodology for theory-based design of walk-up-and-use interfaces , 1990, CHI '90.

[143]  T. C. Nicholas Graham,et al.  Relational views as a model for automatic distributed implementation of multi-user applications , 1992, CSCW '92.

[144]  Susanne Bødker A Human Activity Approach to User Interfaces , 1989, Hum. Comput. Interact..

[145]  Jean Vanderdonckt,et al.  Encapsulating knowledge for intelligent automatic interaction objects selection , 1993, INTERCHI.

[146]  Brad A. Myers Graphical techniques in a spreadsheet for specifying user interfaces , 1991, CHI '91.

[147]  Pedro A. Szekely Template-based mapping of application data interactive displays , 1990, UIST '90.