It is human nature to form and fall into habits. As developers, we can take advantage of this characteristic by creating a UI that is habituating. In her fifth and final installment of the SOLID UX Principles blog series, Jessica Engstrom addresses the need for consistency and repetition.
If you missed my previous posts, you can catch up right here: Part 1: Make Software Understandable, Part 2: Ergonomics & Beauty and Part 3: Responsiveness & Efficiency, Part 4: Data. Otherwise, let's dive into the final part below.
As humans we can’t help but form habits - it’s hardwired into us. We can take advantage of this in our user interfaces.
A UI is habituating when, over time, the user does things automatically. When a UI is habituating it will lead to efficiency and understanding.
Having one single clear way to perform a certain task is key for forming habits. If we have too many choices of completing a task it will slow us down ever so slightly. If a user is presented with multiple choices it will take a longer time to decide on what method to use, than if there is one or fewer ways of doing it.
For example: how to start an IM on Facebook. You can do in many different ways and it will require a decision every time.
Sometimes having two ways of doing the same thing can be good, but we need to make sure that the result is identical. In Visual Studio we can right click on a folder in the solution window and get a menu where we can “add new item” but we can do the same thing in the project menu - > “add new item” on top. Both menus allow you to do the exact same thing so there is no confusion or harm if we don’t know one of the ways of adding a new item.
Imagine if we had extra options in one of the places though? Then the user not only need to remember both ways of adding a new item but also which of the places has what menu items.
Consistency is key for building habits. A UI is consistent with expectations when aspects of the user’s way to perform actions do not change depending on the context. The same goes for elements that keep wandering around depending on where you are in the app or what software you are using.
If we look at mail or office services, we have the “waffle” icon on the top left when we are using Office 365 but on the right side when we are using Google.
Google has their “waffle” icon to the right.
Office 365 has their “waffle” icon to the left.
This means that our users will have to look for the waffle every time, which of course is not habituating. Always try to use standard placement for as much as possible.
To create new items, there are a lot of different icons and symbols you could use.
Outlook uses a pen to create an email, Twitter uses a plus sign and a quill, some use a document and a star and so on which means we have an inconsistent appearance.
Standard components so the user finds them easy to use, standards placements so the user knows where to look for them, and standard interaction patterns so the user doesn’t have to relearn everything is key.
Look at others that have done the same thing, how do they do it?
With that said disruption can be a good thing if that is in our business plan. Look at Tinder and Über, if they had just created regular dating and taxi apps that industry wouldn’t have been disrupted and evolved.
Just make sure that what you are doing is different enough from the nearest “competitor” that the user doesn’t expect it to work “the old way.”
If you missed it, check out the previous post in this series on data loss/sharing. Or for more, feel free to check out the webinar we recently hosted on the topic right here.
Being a geek shows in all parts of Jessica's life, whether it be organizing hackathons, running a user group and a podcast with her husband, game nights (retro or VR/MR) with friends, just catching the latest superhero movie or speaking internationally at conferences. She's a Windows Development MVP. Together with her husband she runs a company called "Azm dev" which is focused on HoloLens, Windows development, UX and teaching the same.
Subscribe to be the first to get our expert-written articles and tutorials for developers!