"Designing with the mind in mind is" a must to read book for UI designers. After reading it I understood how design guidelines and design decisions are based on human psychology. In this post I am describing some principles explained in the book.
UX designers follow the general principle of
"Don't make me think". But how can we achieve this? In this article I am going to describe some practical tips to automate user behaviour and hence avoiding the user having to think about how to reach their goals.
In general terms users can perform tasks in 2 different ways: automatically or controlled cognition.
Automatic: Automatic tasks are those that a person performs with minimum attention, cognition and short memory usage. They allow us to perform these tasks in conjunction with other tasks. These tasks are learned by experience. For example walk to work is an automatic action and a person can listen to a podcast or have a conversation at the same time. But walking to work for the first time, the person has to control the action more consciously which requires mental focus in this particular task. After walking to work for the first time this action becomes automatic and unconscious by experience and repetition and I can walk to work paying very little attention to the way that I am going or to the road and therefore focusing on other tasks.
Controlled: These tasks require short term memory usage and broadly speaking more concentration and cognition usage. They are used to solve problems and to learn new skills. For example: using sketch app during the first few days, learning to play the piano, using your TV settings for first time, etc....
Myself as a designer, I am very interested in finding out how to boost the transition between controlled and automatic tasks. Why? Because this will encourage people to use a particular product, it will required less effort and it will let the user achieve their goal easier and faster.
How to optimise the transition between "deeply thinking about the task" while performing this task and "making the actions automatic"?
1. Create your designs based on user expectations and task analysis. We optimize the learning process by closing the gap between user goals, product calculations and methods to achieve these user goals. An example of this is saving user data to avoid the user having to remember or search for this data, for example setting payees in online banking to make the user task of making a transfer easier, after the system saves the recipient data the user only has to choose the payee by selecting the payee and enter the quantity he desires to transfer. This way the users task becomes faster, easy and automatic.
2. Don't distract the users with information about the software or app that is not required to complete their task. Information about the internal process running is not relevant and it would slow the user learning process with something that is not directly related to the task. For example a message about a server connection failure would make the user focus their attention on technical software issues that they are not interested in or don't need to know to complete their task. A better way to approach this would be to inform the user of "how to proceed" or when the error will be solved rather than giving detailed information about a technical issue with no meaning to the user.
3. As with print design in UX design less is more. Additional options and features increase complexity in products, add the minimum options required to perform tasks, and don't fall into the error of adding something cool in case the user needs it.
4. Making the vocabulary and terms used task focused, by task focused I mean tasks aligned with the user tasks not with the technology itself. Terminology that is unfamiliar to the user will slow the learning process and this will be frustrate the user.
Consistency with the terms used are also important to avoid confusing the user. For example, if you use the term 'book' to buy a ticket for a concert do not use the term 'purchase' for the same task. Use the same terms for the same actions throughout the app.
5. Low risk products encourage the user to explore product functionality and boost the learning process. The way to design low risk products is by managing errors:
Letting the user reverse actions easily, minimising errors, and giving clear information about the error when the user encounters them in a clear way with detailed information about how to proceed as easy and fast as possible.
All these principles have been extracted from this interesting book "Design with the mind in mind" from Jeff Johnson.[Full Disclosure: As an affiliate, I receive compensation if you purchase through this link.] I highly recommend this book for UX designers or aspiring designers. Taking the principles explained in this book and applying them to your own work can considerably improve the products you are working on.