Bonnie John, John “Scooter” Morris
Contact us: email@example.com
The concept of communities within the HCI discipline grew out of the recognition that Human-Computer Interaction involves many diverse groups in its research and practice: behavioral scientists, computer scientists, designers, educators, usability and user experience practitioners, managers, software developers, software architects, and software engineers, to name a few. The engineering community encompasses those within our field who apply, or research, engineering principles and practice to the development of interactive computing systems, as well as those actively engaged in the building of interactive software systems (i.e. software developers, designers, and architects as well as software engineers).
An accepted definition of engineering is:
"[T]he creative application of scientific principles to design or develop structures, machines, apparatus, or manufacturing processes... or to forecast their behavior under specific operating conditions; all as respects an intended function, economics of operation and safety to life and property."
If we redefine this in terms of HCI, we think of HCI Engineering as the application of scientific principles to design, develop, or build interactive computing systems or to forecast the behavior of those systems under specific operating conditions or with defined groups of users, taking into account the system and user tasks as well as the performance and operational criteria. In practice, this amounts to the development of tools and methodologies that help us build and evaluate interactive computing systems with the ultimate goal of being able to predict whether a particular system will meet its specified operational and performance criteria.
Research topics closely associated with HCI Engineering are those that use mathematics and/or modeling to predict a user’s interaction with a system, create new methods or tools to support the construction of more usable systems with more predictability (of schedule, budget and/or quality), or rigorously study practical experience with existing models, methods or tools to feed back into HCI research. This are of research overlaps with other communities (design, usability, and management), differentiated not by its goal of producing better interactive systems, but with its emphasis on quantifiable improvements in process or product.
In terms of practice, the focus for HCI engineering is on the software development process and how the concerns of users vie for attention and resources with other quality attributes (e.g., reliability, maintainability, performance, and security). The audience for HCI engineering venues includes the software developer who wishes to develop more usable software and the software team who wants to improve their development process to increase software usefulness and usability in a reliable fashion – understanding the functional, performance and operational trade-offs in advance. As with HCI engineering research, HCI engineering practice overlaps with several other disciplines and communities, including design, usability, and management. The practice of HCI engineering is where real world experiences, tools, techniques, and insights of HCI communities come together for the software developer who might not have in-house access to specialists, for the design or usability professional who needs to speak the language of software development, or for the manager who must inspire these groups to more productive collaboration.