HCI is one of the most important aspects of computer science and application development, and UX is a mostly applied sub-domain of HCI; this is especially the case when that application development is focused on providing humans with access to the program functionality. But this is not the only concern of UX, indeed for many, it is the augmentation of the interactive processes and behaviours of the human in an attempt to deal with an ever more contemplated world that is the focus. This augmentation does not take the form of artificial intelligence or even cybernetics, but by enabling us to interact with computer systems more effectively, to understand the information that they are processing, and to allow us to focus more completely on the intellectual challenges; as opposed to those which are merely administrative or banal.
For many of you, this will be your first exposure to the wider discipline of Human-Computer Interaction (HCI) and User Experience (UX). Some of you may have already experienced some basic UX work as part of the software engineering lifecycle, however, this text takes a far more in-depth look at the tools, techniques, and knowledge you need to understand the user experience within software engineering.
It is worth noting that while this text is more in-depth than those to which you may already have been exposed, it is by no means intended to teach you everything you need to know about human-facing software engineering. Indeed, entire undergraduate degrees are built around the subject of human factors and ergonomics and you should not confuse this high-level overview of the domain with the knowledge you would acquire in an undergraduate degree programme. This said the aim of this text is to give you, the reader, the tools, techniques, and mindset necessary to competently approach your first user testing and user experience job. The text is designed from a practical perspective and will enable you to take a junior role in a user experience department, or usability company, and will provide you with the overall knowledge to communicate with others and make sensible suggestions regarding UX work. Further, it will give you a basis for future self-study within the UX domain or the broader human factors world.