Everyone makes mistakes. And mistakes by users not only have their cause in the users stupidity. Users are not stupid. But where do those mistakes, false assumptions or mistunderstandings come from? And how can they be prevented?
Pay attention and try to attract attention
I can’t say it enough: it is necessary to start with UX right from the beginning. You build for a task not for a product. So analyze your users and try to completely understand the task(s). Pay attention to the context and what the user really needs in his environment. Does the user needs to do something in a stressful situation and has not much time to look for something? Be extra clear and helpful! Does he need a shitload of information for his task? Provide him with all the information he needs and don’t force him to gather them himself… To know and meet the user needs and requirements plays a good part in helping the user. If he has not all he needs, he will either stop using the product or try to find what is missing maybe even in ways we can’t imaging, leading to strange behaviour and mistakes.
On the other hand: Or perhaps it’s the user after all? Sure, mistakes can be caused by the user if he pays not enough attention. But what causes that lack of user attention? If he keeps on putting the wrong format for a date into that textfield, but the information for the right format is there, why does he do that? Is the information not clear or prominent enough? Is the right format hidden in a flyout behind an information-icon? Or do we have missed a user requirement, because users do copy and paste that date for that textfield from somewhere? If a user seems to not paying attention to your product, try to find out why. Perhaps it will solve some of the problems…
A good UI is tidy, clean and clear. Sounds easy, doesn’t it? And good UX needs clearness. If forms a not clear, how can the user know what he has to put into those textfields? He will try something and makes mistakes… Have you ever sit in front of a login form of a website you only log into maybe once a month? And the form has two input fields saying “user name” and “password”? Do you remember what your user name was? Was it the email-adress you’ve registered with? Or did you had to choose a username? You have not only to remember the user name itself, you have to keep in mind which format your “username” requires (email, name…). That second information is a thing the system could simply tell you!
Do not force the user
Mhh, yeah well. The user interviews show that they do this task this way. But their company guidelines say they have to do it that way… Let’s just force them to do it the guideline way! It may not surprise you that that’s not always the best way. Usually users perform something in a certain way, because it seems to be the best for them. It’s not always the “easiest” (if you ask them they’ll say it is…). But often they’ve found a certain path and kept it. It’s like the saying “water will find a way”. I think the best would be again to analyze the reasons why. There has to be a reason why users fulfill a task in a different way than their company says they should. And there has to be a reason they even can do that (if it’s the same result, why does the company has guidelines for that? Why are they important?). And if you really have to force the user to do something a certain way or according to a specific sequence, it would help to be clear and tell them why!
The magical Undo button and other powerful spells
Users change their minds. “Oh, yeah, now I know what my password was, I don’t need the “forgot password” form anymore” or “Well, maybe the red I’ve chosen is not the right colour for the birthday card I’m about to order”.
And users do not always complete something in one session. “Oh my, I’m out of coffee. Better get a new cup. I wonder, if my coworker is in the kitchen too? I have to ask him something. Seems like I’ll have to finish this task later…”
And sometimes it’s necessary for them to know where they came from. “Erm, I know I did approve that one request earlier today, but what did it say exactly?” and “Now I have had lunch and can continue my work, but, wow, I don’t remember that site. What did I do before lunch?”
We all know that situations. And we all know how much it sucks if that moments lead to errors and work we have to do all over again. The solutions are quite simple to identify:
- Changes, especially those that have big impact like “delete”, need an “Undo”. If that’s not possible, there has to be a confirmation dialogue that makes clear the action would be irreversible.
- Always make clear 1. Where the user is, 2. Where he can go to and 3. Where he came from.
- Give the users a possibility to look up earlier actions or tell him where later he can find the thing he is working on right now.
If a user knows exactly what he has to do, he will make less mistakes. So make specifications clear when needed. If he does something wrong, make clear what did go wrong! Was it the wrong password? Or the wrong user name? (Gosh, I hate those error messages that say “Wrong username or password”… could you just tell me which one? If no, why not?) And even more important: let him go back on track! Lead him back to the form where the wrong input is with everything he did still there, maybe highlight the mistake and let him try again. The worst that can happen is that the user loses all his work and has to do everything all over again.
And to prevent mistakes you have to evolve your product. Maybe by analyzing search inputs. Analyze, react and test.
The User is not stupid, and if he does something wrong, forgive him. Perhaps the user will not thank you, maybe some won’t even notice. But like the best design, good UX is invisible. It just lets the user focus on his task and if we are lucky gives them a good feeling.