If you want to build a ship, don’t drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea.
Antoine de Saint-Exupéry (1900—1944 writer and aviator) “The Wisdom of the Sands” 1948
This site contains my teaching notes for courses in the design of human interaction with software. They are here for two reasons: firstly I am indebted to others who have made notes and information on interaction design freely available on the web; I’m repaying in kind. Secondly, I’d like to improve my notes; if you find them useful (and perhaps especially if you don’t) please let me know with suggestions for improvement.
I’m a lecturer in the School of Computing, Mathematics and Engineering at the University of Brighton, UK, where I teach on undergraduate and postgraduate courses, I manage the Postgraduate Programme in Interactive Technologies and I supervise interaction design-research doctoral programmes. I also run a usability-lab for commercial and academic research.
My take on designing human interaction with software, which encompasses human-computer interaction (HCI or CHI), interaction, usability and accessibility design, and a few other discipline titles, is that:
- it’s not just about designing the software interface; it encompasses the design of the human context in which the activity supported by the software is carried out
- it’s a branch of software engineering, i.e. an attempt to apply a rational systematic approach to the analysis, design, implementation, evaluation and maintenance of software
With regard to 1. the design of the human context: this includes the design of the activity (usually task) that the software user is engaged in, their training, and the allocation of responsibility between human and system. This overlaps with the professional specialisms of systems analysis, technical authorship, human-factors and product design, and may draw on the academic domains of sociology, anthropology, social psychology, psychology (especially cognitive psychology), semiology, ergonomics and computer science.
With regard to 2. software engineering: this makes me emphasize principled methods and techniques, and the following of accountable trails between the products of each phase of the overall process. I would not claim anything like complete mastery of a principled progression between the identification of a need for the development of software and its introduction into use. However even if never completely obtainable, I think it is something worth striving for. (This appears to put me in head-on conflict with proponents of Agile development and the incorporation of the design of human interaction with software into it. I don’t believe this is necessarily true, so explore this in the introduction sub-section ‘Relevance to Agile Development‘.)
Thus I make a distinction between the skill sets of the interaction designer and of the other disciplines and professions that may contribute to the designed interface, most notably graphic and information design, technical authorship and copy-writing. The distinction is akin to that between interior designer and structural engineer (we are the ‘structural engineers’ here) whilst the ‘architect’ in this metaphor is the agent guiding the project, out of commercial, educational, public-service, etc. motives (perhaps the user experience designer?). Of course all three roles may be played by the same person and much web content has been so produced. However, demarcating the responsibilities and skills of each role so that due respect can be paid to each contributing professional is, it seems to me, likely to produce better software, that looks good and stays up. This is a particular issue for the design of systems that we are increasingly relying on to manage our society: e-government, medical, legal, commercial, etc.
I just want to be able to use the stuff my students will be producing.
So what’s with the quote from Saint-Exupéry? Isn’t this blog nothing more than drumming up the men to gather wood, divide the work and give orders? Where’s the yearning for the vast and endless sea? Surely this blog is the antithesis of Saint-Exupéry’s precept!
Well, no: The metaphorical sea here is the ideal of a rational design process, where the individual steps are considered and accountable. It is what can too easily be forgotten or dismissed in the hurly-burly of a real design project.
But a further objection could be that yearning for the quality of a process misses the point; its the quality of the product that matters!
True, the whole point of the process is to improve the quality of the resulting product, just as for Saint-Exupéry’s sailors, a safe and efficient boat is important. But the boat builders don’t finish there; they go on to build bigger, faster, safer boats. They refine and develop their process, a journey unlike that undertaken by the sailors, being without end.
How do you become good at user experience? How do you get a glorious UX career? By doing UX. Experience is the way to grow UX expertise. There is not that much theory that’s really important for UX practitioners. It’s a valuable contribution to society to teach people the necessary UX background info, because you can’t learn the rest without building on a solid conceptual foundation. But those foundational 10% of UX skills are as much as you can learn in classrooms. 90% of UX skills sit on top of the foundation and come from on-the-job learning.