Since April I have a new job and since that I am trying to build a web interface that is meeting the users' expectations.
But there is a sad story. Until now I did not really asked myself the question -
"Where does the user's expectation come from?" and "What does it take to create a great user experience?" .
This post summarizes my first learnings about user interface design.
Beside the fact, you have to be aware of who your users are, you really need to know them.
Usually your focus lies on a specific user group.
Most likely is that group located in an similar environment, having their own routine or rhythm. "But why should I care?" - you might ask yourself. Let's dig in.
For instance a school kid returning from school and doing homework on an e-learning platform.
She or he wants to have an instant overview of what's to do. Spending only as much time as needed. Not trying to explore an interface like in a game, where the school kid wants to spend time.
The routine of usage and approaching is completely different.
E-learning may be only done during week at home. Gaming on the week-ends and in the evenings.
"Derek I told you not to play video games until you finished your homework!"
"But I did everything for tomorrow, mum."
"Ok. At 9 you turn your computer off!"
Derek as many others plays [insert first-person-shooter with online multiplayer in here] in the evenings and tries to spend as much time and money as possible.
He probably configured something at some point, to make the game more fitting to some extend (weapon mods, mini map, short-cuts whatever) actively investing in his individual interface.
In contrast has the e-learning to come with super low entry cost to get started and enabling kids to do their homework.
Moreover has every user individual capabilities.
Your mum may be completely overwhelmed using facebook, but Whatsapp is a messenger which is not quiet different than writing SMS back in the days. So she is already capable of using a messenger app. She will then figure out quiet fast how to send you videos of cute puppies and spam emojis.
Adding the concepts of a public profile to her knowledge base (by setting embarrassing photos as a profile picture) might help her to get along with facebook as well. (If that's a good thing is up to you).
Knowledge base + experience = capabilites
If you design an interface for a group of users, you can only rely on the groups common knowledge base and a common experience.
Always make the interface democratic in the way of providing the main functionality to all group members.
This way you overcome the biggest hurdle which is getting started. Maybe you can make sure beforehand everybody is capable of using your interface.
The schoolkid's teacher has given the class a demo and explained how to use the platform.
(continue on right side)
"Ok, quiet please. Derek shut up or do you want detention?"
"Yes mum." -"I mean sorry Miss Jones."
"That's extra homework for you Derek! You can find all your homework on the dashboard after you logged in with your pupil authentication account. If you do not do your homework, I will get an e-mail and that's an F. Period."
Beside an example of bad teaching, could that be one way of creating a shared knowledge base. By teaching.
Keep in mind that with every user interface you publish, you also teach users. Even if they stop using your interface, you teached them how an unsatisfying UI looks like. This is not my goal. I want you to help build a brilliant interface. So let's continue.
Digging deeper, meeting the user's expectations relies on their mental models.They embody the models the user has build to interact with her or his environment.
One mental model is "stuff always falls down".
Therefore almost everybody scrolls down on an web page intuitively. It is the same with a filter functionality.
Nobody expects to see more results after applying a filter.
Becoming aware of the mental models of your users is the key to meet their expectations.
Now the user is on his way, being equipped with their mental models, always having a goal in mind.
To achieve the goal, users assign tasks to them selves.
To help them find their way, you again relate to something familar - metaphors.
Moreover can you assist the user by sharpening the focus when assigning a task. Metaphors not only guide the way, with their design you can address priorities. The best case scenario is to match the user's priorities by design.
In the end, the user writes her or his own journey. You may not force the outcome of that story, but you can determine the way of post processing it.
A good UI enables user to write their own stories on the one hand and on the other hand, the stories have all a common ground which should cover and manifest the common knowledge.
It is very likely that your UI does not look totally different than others out there. And this is not a bad thing.
Do not change for the sake of difference. If difference is a necessity give it time to become a solid part of the user story. The user story feeds directly into the knowledge base. That's always the basis to build on (even if the legacy user story is not great). So if you are in the fortune position to build a complete new UI, think of it's future.
You build the future of user interface interaction right now.
As a conclusion, you might think whatever you like about my attempt to play an UI expert. I hope I will gain more insights over time (and of course let you know).
If you got at least inspired of my current state of "theoretical" knowledge I am very happy and looking forward for comments. Let me know if you agree or disagree.