This book presents computational interaction as an approach to explaining and enhancing the interaction between humans and information technology. Computational interaction applies abstraction, automation, and analysis to inform our understanding of the structure of interaction and also to inform the design of the software that drives new and exciting human-computer interfaces. The methods of computational interaction allow, for example, designers to identify user interfaces that are optimal against some objective criteria. They also allow software engineers to build interactive systems that adapt their behaviour to better suit individual capacities and preferences.
Embedded in an iterative design process, computational interaction has the potential to complement human strengths and provide methods for generating inspiring and elegant designs.
Computational interaction does not exclude the messy and complicated behaviour of humans, rather it embraces it by, for example, using models that are sensitive to uncertainty and that capture subtle variations between individual users. It also promotes the idea that there are many aspects of interaction that can be augmented by algorithms.
This book introduces computational interaction design to the reader by exploring a wide range of computational interaction techniques, strategies and methods. It explains how techniques such as optimisation, economic modelling, machine learning, control theory, formal methods, cognitive models and statistical language processing can be used to model interaction and design more expressive, efficient and versatile interaction.
Computing devices and applications are becoming increasingly pervasive, being components that implement and support functionality in a range of everyday devices such as cars, televisions and white goods, in addition to their traditional role supporting personal and commercial computing applications.
The availability of high-resolution touch screens, accelerometers, GPS and a plethora of other input sensors has significantly increased the scope and complexity of possible interactions between users and technology. However, the design and implementation of user interfaces that exploit these technologies must enable interactions to satisfy a variety of application-dependent criteria, such as efficiency, accuracy and safety.
This book introduces Computational Interaction (CI) which encompasses a variety of approaches which utilise mathematical models and algorithms to represent, explain and evaluate various aspects of the participation of both user and machine in human/computer interaction (HCI) scenarios.
Over the course of its four sections, the book presents fifteen papers, from various authors, which together reflect the state-of-the-art in CI and its application to various aspects of HCI.
The first section considers CI applied to input and interaction techniques. Here HCI is considered in the context of control theory, noting that while such an approach provides useful tools in an HCI context, the adaptive nature of human participation in a control loop requires special consideration. The section also describes statistical methods for optimising text entry in a range of applications and through a variety of input methods including small screens and alternative and augmentative communication (AAC) systems. Machine learning (ML) is discussed in the context of input recognition, again noting the unique challenges posed by an HCI setting where user behaviours adapt and change over time, even when the user interface remains static.
The second section of the book focuses on HCI design. This section contains three papers which describe approaches to different user interface optimisation problems. Here we learn about the application of combinatorial optimisation techniques to find optimal user interface designs with respect to multiple optimisation functions. Other papers describe approaches to optimising virtual keyboard layouts and using crowds to help optimise user interface designs.
The Systems section considers approaches to modelling user interfaces. This includes a description of a Physigrams as models of physical interaction, and Interaction Cooperative Objects (ICO) models of dynamic user interface state. There is also an interesting chapter which discusses issues arising from differences in the semantics of a design and implementation of an interface compared with user expectations.
The final section of the book considers ways in which computational models may be applied to various aspects of human behaviour with regard to HCI. The topics explored include modelling human multitasking in order to predict user performance when faced with various user interfaces in a variety of settings, generating self-learning models of human routine behaviour that can be used to evaluate HCI, and developing economic models of machine interaction.
This a detailed collection of well written papers which explores a wide range of CI techniques and HCI settings. Papers are each extensively referenced, and the entire collection is indexed. There is plenty of thought-provoking material that should be of interest to those involved in user interface design, implementation and assessment