Engineering Works: What is (and is not) “Engineering” for Interactive Computer Systems – Ann Blandford (2013)

Introduction

I have known Ann for many years. Our paths have crossed and even at times overlapped. For example, I left the MRC Applied Psychology Unit, Cambridge, in 1979 to direct the Ergonomics Unit at UCL. Ann joined the APU in 1991 to work on the Amodeus Project with Phil Barnard,  Michael Harrison and others, with whom I continued to keep in contact. Along with Steve Cummaford, Ann and I presented a joint tutorial entitled: ‘Introduction to HCI Structured Engineering Design Methods’ at HCI ’02, which signaled a common interest in HCI Engineering.

I retired in 2001, to be replaced by Harold Thimbleby, who wisely brought Ann with him from Middlesex University. Ann, in turn, replaced Harold and directed UCLIC from 2004 to 2011. She and Alistair Sutcliffe endeared themselves to me for ever by editing the John Long Festschrift, even allowing me to contribute, which is unusual in festschrift circles. Indeed, it was the Festschrift, which gave me the idea for setting up <hciengineering.net>.

To complete the circle, I invited Ann to contribute to the Papers Section here and she kindly agreed. Even better, her paper continues the engineering theme of HCI, making an important contribution to the website. Indeed, the issues raised are so relevant, that, with Ann’s agreement, I have added a commentary of my own, in an attempt to bring the issues together and to take them forward by means of a listing of Requirements for engineering interactive computer systems. Thank you Ann – much appreciated.

Engineering works: what is (and is not) “engineering” for interactive computer systems?

Ann Blandford University College LondonDept. of Computer Science, Gower Street, London WC1E 6BTA.Blandford@ucl.ac.uk

 


ABSTRACT

What does it mean to “engineer” an interactive computer system? Is it about the team doing the work (that they are engineers), about the process being followed, about the application domain, or what? Is engineering about managing complexity, safety or reliability? For physical artifacts, it may be possible to achieve consensus on how well engineered a product is, but this is more difficult for digital artifacts. In this talk, I will offer some perspectives, both positive and negative, on the nature of engineering for interactive computer systems and, at least implicitly, the nature and future of the EICS conference series.

Comment 1

Blandford’s paper is entirely concerned with Engineering. It is an important paper, as it raises critical issues, concerning ‘the nature of engineering for interactive computer systems’. The aim of this commentary is to suggest how these issues might be carried forward both generally and particularly in the form of Requirements for Engineering Interactive Computer Systems. The needs for such Requirements are identified in the comments and then listed separately.

Author Keywords

Engineering; HCI; safety; reliability; professionalism.

ACM Classification Keywords

H.5.2 [Information Interfaces and Presentation]: User Interfaces – Interaction styles.

General Terms

Human Factors; Design; Reliability; Verification.

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

EICS’13, June 24–27, 2013, London, United Kingdom.Copyright © 2013 ACM  978-1-4503-2138-9/13/06…$15.00.

INTRODUCTION

The aim of this short paper is to facilitate discussion on the role and value of engineering in relation to interactive computer systems.

Comment 2

Engineering, here, is presumably in contrast to the arts and to the sciences, which have their own different roles and values, if and when, relevant to interactive computer systems. The contrast is instructive for distinguishing engineering approaches from those of other disciplines or types of knowledge more generally.

 

 

It arises, in part, from an activity at the most recent IFIP WG2.7 / 13.4 (User Interface Engineering) working meeting: to develop a short video to communicate the value of engineering for user interfaces. It also arises from discussions I have had with various people on the nature and scope of the EICS conference. Both activities have generated more heat than light. It is, intentionally, not a well engineered argument for a particular position, but a series of vignettes putting forward different cases, for and against particular views of engineering in relation to interactive computer systems (ICS).

 

Comment 3

Blandford, indeed, achieves the aim of ‘putting forward different cases for and against particular views of engineering in relation to interactive computer systems’. The question now arises as to how to bring these views together and how to take them forward. The listing of Requirements for engineering interactive computer systems, as proposed here, is one such way.

 

My intention, which may or may not be realized, is that the community should establish a better shared understanding of the nature, value and role of engineering in the ICS context.

If it’s done by engineers then it is engineering

I am a Chartered Engineer. I started my career as a Graduate Trainee Engineer, at about the time the Finniston report [7] was published. That report emphasized the importance of engineering to the future of the economy, and also argued strongly for the status of professional engineers. Within the UK, that is a battle which has now been lost: “anyone in the UK may describe themselves as an engineer. Seeking to regulate or legislate on the use of a now common term is recognized by the Engineering Council as totally impractical.” [6] So, at least in the UK, anyone can call themselves an engineer, and – by extension – claim that what they are doing is engineering.

 

Comment 4

The reverse is presumably also the case, that anyone, who claims to be doing engineering, at the same time  claims to be an engineer. The latter case would seem to be more suited to the current engineering claims with respect to interactive computer systems.

 

A subset can make a stronger claim: that we are accredited as professional engineers. But is what any of us do “engineering”? Let us consider definitions of engineering.

Engineering: definitions

A dictionary definition of engineering is: “The application of scientific and mathematical principles (…. to practical ends”.)

 

Comment 5

No-one would question engineering’s application of scientific and mathematical principles, where the latter already exist and are appropriate. However, in their absence, or if they are not relevant, ‘practical knowledge’ can also be claimed to support engineering practices (Wikipedia, 2015), as in ‘craft engineering’. The latter can also be claimed to be ‘rigorous’, in that one craft engineer, or one type of craft engineering, might be said to be more rigorous than another.

 

Requirement 1

Any approach to engineering interactive computer systems is required to specify the relationship between the explicit and the implicit knowledge used to support its practices.

(…. A dictionary definition of engineering is: “The application of scientific and mathematical principles)……. to practical ends” [14].

Comment 6

Most definitions of engineering, following Blandford, suppose it to be used for ‘practical ends’ and to solve practical problems. Confirmation is also to be found elsewhere: ‘to find suitable solutions to problems’; ‘to make improvements to the status quo’ etc. (Wikipedia, 2015). Solving practical problems , then, is central to engineering, including diagnosis of the problem in the first place. In the absence of the diagnosis of a problem, it is unclear what can be meant by a solution (see also Comment 5 and Requirement 1).

 

Requirement 2

Any approach to engineering interactive computer systems is required to specify the implicit and explicit engineering knowledge and practices used in the diagnosis of (engineering) problems and the prescription of (engineering) solutions.

The emphasis in the Engineering HCI Community of ACM is on “the application of scientific knowledge and rigorous design methodology…..

Comment 7

Blandford is, of course, quite right to identify the importance of design for engineering interactive computer systems. However, other definitions suggest the need to include implementation/build/use/research/improve/ maintain or some such (Wikipedia, 2015). Here, engineering is considered to include at least both design and implementation – the latter term being adopted as already in general use, as concerns the development of interactive computer systems.

 

Requirement 3

Any approach to engineering interactive computer systems is required to decompose engineering into its component practices, at least to a level commensurate with that of ‘design’.

….. to reliably predict and, thus, help improve the consistency, usability, economy and safety of solutions to practical problems” [1].

Comment 8

The engineering criteria, cited by Blandford for the successful address of practical problems – that is, ‘consistency, usability, economy, and safety’ are uncontroversial. Additional criteria to be found in the literature are no more controversial: intended function; improvement of structures; economics of operation; performance as expected; efficiency etc. (Wikipedia, 2015). No limit appears to be placed on the criteria, although they are related, directly or indirectly, to the knowledge and practices of engineering. The criteria can be both absolute (units of interactive work performed within some time limit) or relative (more units of work performed than at present).

 

Requirement 4

Any approach to engineering interactive computer systems is required to specify the performance  criteria, by which the developed system is to be judged (and validated – see also Comment 17 and Requirement 9). Engineering for performance  is central to any approach and implicates both design and implementation (see also Requirement 7).

 

Both of these definitions focus on principles and rigor for addressing practical problems. Clearly, these principles should apply in the design of complex, safety-critical systems [10]. It is much less clear what it means to engineer the user experience, in terms of fun or affect (a theme in this year’s call for papers).

Comment 9

There are many obvious differences , as pointed out by Blandford, between safety-critical systems and fun-, affect-, experience-systems. Both concern the issues of principles (or more generally knowledge and practices) and rigour (or more generally formality). Both these issues deserve more detailed development by the different approaches to engineering interactive computer systems.

 

Requirement 5

Any approach to engineering interactive computer systems is required to specify the formal and the empirical nature of its knowledge and practices (and indeed, the type of problem they are able to diagnose and the type of solution they are able to prescribe) – see also Requirement 4.

The science of fun is poorly developed, the mathematics of fun even more so. User experience is not so well understood that it can be reliably predicted or delivered consistently without extensive iterative testing, which is standard ICS development practice, and not particular to an engineering approach.

Comment 10

Blandford correctly asserts that iterative testing is not particular to an engineering approach to developing interactive computer systems. However, iterative testing  currently makes an important contribution to the development of such systems.  Iterative testing may be an empirical means of making good some of the current deficit in formal engineering knowledge and practices. Empirical (and so rigour) might be usefully contrasted with formality. See also Comment 9.

 

Requirement 6

Any approach to engineering interactive computer systems is required to specify the relationship between the formal and the empirical nature of its knowledge and practices (and, indeed, the type of problem they are able to diagnose and the type of solution they are able to prescribe). See also Comment 10.

The importance of iteration in iCS

Most HCI text books assert that iteration is essential in the design of ICS.

 

Comment 11

Engineering involves not only design components of the development of interactive computer systems; but also implementation ones ( see also Comment 7 and Requirement 3).

Rogers et al [12] focus on four main phases of developing interactive systems: establish requirements; design alternatives; prototype; and evaluate. Iteratively.

Comment 12

Iteration, as identified by Blandford,  is indeed currently essential to the development of interactive computer systems (although not necessarily as a matter of principle). Empirical iterative knowledge and methods may be making good some of the deficit of formal (analytic) knowledge and methods. See also Comment 10.

Best practice in the development of ICS includes requirements gathering and user testing, neither of which is particularly amenable to the application of scientific or mathematical principles, although both can be done rigorously and are essential to the delivery of systems that are safe and usable.

Comment 13

The four main phases of interactive computer systems development, identified by Blandford and generally agreed within HCI are: requirements; design alternatives; prototype; and evaluation. Blandford considers that neither requirements gathering nor user testing are ‘particularly amenable to the application of scientific and mathematical principles, although both can be performed rigorously’. This is certainly the case at present and may indeed be the case in the longer term and even ultimately; but until the notion of principles is more clearly specified and developed, including its formality, it may be better to leave the matter open at this time. Perhaps that is the thrust of Blandford’s ‘ not particularly amenable’.

 

Requirement 7

Any approach to engineering interactive systems is required to specify the different types of knowledge (for example: principles (both substantive and methodological)); guidelines; models etc), which support different sorts of design and implementation practices (for example: trial and error; specify then implement; prototype, test and iterate etc).

 

 

Tools such as CogTool [13] bring an engineering rigor and prediction to important aspects of user interaction with interactive devices, based on task performance.

Comment 14

See Comment 8.

Similarly, model-based approaches to system development [9] support the task-based development of ICS. However, none of these “engineering” approaches take account of the softer, but equally important, aspects of the use of ICS, including the full user experience, how the ICS fits within its broader context of use, and how people conceptualise the activity the ICS is designed to support [2].

Comment 15

Blandford’s notion that certain aspects of interactive computers systems may be ‘softer’ than others (such as full user experience; context of use; and user conceptualisation of computer functionality) is an interesting one. The idea might be carried forward by relating it to engineering knowledge and practices and their problems and solutions. For example, ‘hard’ problems, which can be completely specified (for the purposes in hand), can be prescribed a solution by formal or empirical knowledge and practices. However, ‘soft’ problems, which cannot be completely specified (for the purposes in hand), can only be prescribed by empirical knowledge and practices. The hardness or softness of a problem and solution can only be determined empirically at this time (and maybe sometime into the future too).

 

Requirement 8

Any approach to engineering interactive computer systems is required to specify the types of problem and solution, which it addresses, as well as their relationship with formal and empirical knowledge and practices. This requirement applies to both design and implementation.

 

Without taking such aspects of use into account, the engineering of ICS runs the risk of delivering solutions to the wrong practical problems.

Comment 16

It is worth noting, that following lay language usage, a problem can be said to exist, in the absence of a solution; but a solution can only be said to exist with respect to an actual or a possible problem. In addition, a problem can have many solutions and a solution can resolve many problems. Ignoring ‘softer’ interactive computer system aspects  might indeed produce a ‘a solution to the wrong practical problem’, as suggested by Blandford; but also might produce ‘a wrong solution to the right practical problem’. Neither is the right solution to the right problem, which is the aim of engineering.

A case study: CHI+MED

The CHI+MED programme [5] provides an interesting object of study in terms of engineering ICS. CHI+MED is studying the design and use of interactive medical devices: safety-critical devices such as infusion pumps that are themselves moderately complex, and are used in highly complex settings. There are many aspects of these devices that can be subjected to an engineering approach, including modeling their safety properties [4] and formal verification [8].

Comment 17

Blandford is right to identify the importance of formal verification (although other types of verification may be possible). However, a pre-requisite to verification is derivation (or some such). In order to verify two representations, or whatever, both must be available and in a form, which can indeed be verified. This requirement holds for all products and representations involved in the engineering design and implementation processes. For example, for design (following Blandford): establishing requirements; prototypes; and conducting evaluations.

 

Requirement 9

Any approach to engineering interactive computer systems is required to specify how its products and representations are both derived and verified and how the latter relate to the validation of both design and implementation.

Such approaches are necessary, but not sufficient. There are many aspects of the use of such devices in practice [11] that need to be understood and designed for. Without systematic study of the use of devices in context, and rigorous description of the “problem”, which defines requirements for the next generation of systems, and without careful testing of device prototypes, it is easy to deliver solutions that are verified by not validated [3].

Comment 18

Blandford is quite right to identify the importance of the validation, as well as the verification, of  interactive computer systems. Validation here cannot be less than evaluating to what extent, the interactive computer system , as designed and implemented, meets (or fails to meet) the user requirements, especially those of performance. Such an evaluation would involve the conceptualisation and operationalisation of the user requirements and their test against the interactive computer system, intended (that is, claimed) to meet them.

 

Requirement 10

Any approach to engineering interactive computer systems is required to specify the processes by which the system is validated against its user requirements, especially those of performance, and their relationship with verification of both design and implementation.

 

There is a risk that by separating off “engineering” approaches to ICS, the engineering becomes distanced from the practical problems that it is intended to address.

Conclusion

There is an argument, based on the above, that engineering is the servant of design – that the user needs are identified outside the engineering process, that the engineer’s job is just to make the design as conceived by others work (ensuring that the system performs as intended – traditionally referred to as ‘verification’).

Comment 19

Blandford draws an interesting distinction between a ‘narrower’ and a ‘broader’ view of software development. According to the narrower view, the engineering process makes the design (as conceived by others) ‘work’ and is the object of verification. According to the broader view, software development is iterative and includes usability, utility and user experience and is the object of validation. The question arises, as to the relationship between these two views and how that relationship is to be embodied in an engineering approach to interactive computer system development.

It is tempting to assign the responsibilities, associated with the narrower view, to software engineering, as implementation and the responsibilities, associated with the broader view to HCI, as design. However, the temptation is to be rejected. First, many interfaces, at this time, are designed (as well as implemented) by software engineers. Some of these engineers have had some HCI training; but others have not. Second, the recent development of interface tools  for design include de facto components of implementation. However, how and to whom narrow and broad responsibilities of design and implementation are to be assigned to both practitioners and researchers are critical for both professional and academic education/training matters.

 

Requirement 11

Any approach to engineering interactive computer systems is required to specify the assignment of professional and academic responsibilities for verification (for example, property modelling; verification etc) and validation (for example, user requirements; context of use; user evaluation etc).

 

This seems at odds with the broader view of software development lifecycles that development is iterative [3], and is concerned with considerations of usability, utility and experience (all of which are arguably elements of ‘validation’), which should also be concerns for engineering.

The title of this paper, “Engineering works”, is a play on words. One reading is a claim: that engineering makes things better; that it provides assurance that the proposed solution to a problem (an ICS) is well engineered: that it will not crash or permit the system to get into unsafe states, and will manage complexity well. The second reading is as a noun, “works”, qualified with an adjective, “engineering”; engineering work is needed when things have gone wrong, or need maintenance. In the context of EICS, I suggest that both meanings pertain: that engineering can make complex systems work well, but that the engineering approach needs active maintenance to remain relevant to other aspects of ICS design and to avoid becoming narrow and irrelevant.

ACKNOWLEDGMENTS

This paper has benefitted from discussions with many people, but the viewpoints put forward are my own. CHI+MED is funded by EPSRC EP/059063/01.

REFERENCES

  1. ACM (n.d.) chi2013.acm.org/communities/engineering/ accessed 17/4/13.
  2. Blandford, A., Green, T. R., Furniss, D., & Makri, S. (2008). Evaluating system utility and conceptual fit using CASSM. Int. J. Human-Computer Studies, 66(6), 393-409.
  3. Boehm, B. W. (1988). A spiral model of software development and enhancement. Computer21(5), 61-72.
  4. Bowen, J. & Reeves, S. (in press) Modelling Safety Properties of Interactive Medical Systems. Proc. EICS 2013. To appear.
  5. CHI+MED (n.d.). www.chi-med.ac.uk.
  6. Engineering Council (n.d.). Status of Engineers. www.engc.org.uk/statusofengineers.aspx ac. 17/4/13.
  7. Finniston, H. M. (1980). Engineering our future: report. HM Stationery Off.
  8. Masci, P., Ayoub, A., Curzon, P., Harrison, M., Lee, I., Sokolsky, O. & Thimbleby, H. (in press) Verification of Interactive Software for Medical Devices: PCA Infusion Pumps and FDA Regulation as an Example. Proc. EICS 2013. To appear.
  9. Meixner, G., Paternò, F., & Vanderdonckt, J. (2011). Past, Present, and Future of Model-Based User Interface Development. i-com, 10(3), 2-11.

10. Navarre, D., Palanque, P., Ladry, J. F., & Barboni, E. (2009). ICOs: A model-based user interface description technique dedicated to interactive systems addressing usability, reliability and scalability. ACM Trans. CHI, 16(4), 18.

11. Rajkomar, A., & Blandford, A. (2012). Understanding infusion administration in the ICU through Distributed Cognition. J. biomedical informatics, 45(3), 580-590.

12. Rogers, Y., Sharp, H., & Preece, J. (2011). Interaction design: beyond human-computer interaction. Wiley.

13. Teo, L. H., John, B., & Blackmon, M. (2012). CogTool-Explorer: a model of goal-directed user exploration that considers information layout. Proc CHI. 2479-2488.

14. The Free Dictionary (n.d.) www.thefreedictionary.com/engineering accessed 17/4/13.