Working day-to-day in UX design, we can sometimes lose sight of the big picture. As a discipline, what is our collective goal, our grand design? What are we, as a group, trying to achieve, and for what will history remember us? Douglas Engelbart, the inventor of the mouse and one of the pioneers of human?computer interaction (HCI), became inspired to work in the field we now call user experience in 1951:
“He suddenly envisioned intellectual workers sitting at display ‘working stations,’ flying through information space, harnessing their collective intellectual capacity to solve important problems together in much more powerful ways. Harnessing collective intellect, facilitated by interactive computers, became his life’s mission at a time when computers were viewed as number-crunching tools.“—Wikipedia
As UX designers, our vision is to optimize the overall human?computer system, improve the ability of humanity to solve important problems, and help people to gain insights more effectively. In this column, I’ll look at what optimization means, as well as some of the ways in which we can optimize user experience.
The Dangers of Optimization
Any optimization involves compromise. For example, we can make a system more secure and robust, but at the cost of speed. We can optimize code, but in the process, make it harder to read—thus, more difficult to change in the future.
We can look at optimization of the human component of the human-computer system from several different levels. At the most basic level is our understanding of fundamental human capabilities and limitations—such as perception, memory, and cognitive abilities. These characteristics are subject to a normal distribution across any given population. While there are differences between individuals, we understand them to a sufficient degree to be able to design systems that work within people’s capabilities. We also understand that people’s performance may degrade under stress, so designing for lower abilities can help all users.
At a higher level are the fundamental principles upon which we design and build computer systems, which derive from our basic human capabilities. From these principles, we have devised conceptual models like the basic windowing model of a graphic user interface (GUI). Today’s children and young adults have likely been introduced to computing using a GUI. But GUIs and the command line interfaces that were prevalent in the past are fundamentally different in how they condition users’ thinking about how they can manipulate the underlying machine.
At a finer-grained, conceptual level are the metaphors a GUI uses—such as the Clipboard, file system, and desktop. These metaphors are typically far removed from their real?world equivalents, but in a sense, the computer has become a metaphor itself now. Concepts to which people would once have had exposure in the form of physical artifacts—such as a spreadsheet—are now familiar primarily through a computer.
The highest level at which we can optimize human capabilities for using computing power is the specialist knowledge level—the knowledge users require and employ in using a specific application we’re designing. This is the level at which much optimization of the user experience takes place—through understanding the background, goals, and knowledge of the user population. The creators of many of the tools we use in designing user experiences devised them to support our efforts to achieve this level of optimization. For example, personas, user journeys, and task analyses all focus on understanding users and their tasks—allowing us to optimize our designs for them.
Today, we rarely—if ever—focus on or challenge the lower levels at which optimization might potentially occur. To a certain extent, this is understandable. because optimization is about compromise. Because users have now become habituated to existing interaction models, requiring them to learn new concepts before they could even start to use a new computing system might represent an unwanted workload for them. So, most of our UX design projects employ standard interaction models. Optimization also suffers from the law of diminishing returns. We can put more and more effort into optimizing a computer system for less and less real return. Unfortunately, some projects have disappeared down a rabbit hole, because they’ve attempted to understand users at a high level when increasing their understanding of users’ low-level capabilities or changing the fundamental concepts of computer systems might have potentially provided much more benefit.