Companies nowadays need tools that are specifically designed for them, for instance, their use cases, tailored to their businesses.
Sometimes these tools are what we call backoffices. Some of them are applications that are going to be used internally. In both cases, these tools aren’t to be used by the public, as they are only for the employees of that company.
And that’s why some software developers don’t make an effort to create good experiences in these pieces of software.
Why try to design a nice user interface, or think about the flow of the user experience if these tools are only to be used by a handful of people that are going to be trained to use this specific tool?
Have you ever wondered why people who work at public services often seem arrogant, unempathetic, maybe even depressed? They just don’t seem like nice people, right?
In my opinion, the factors that contribute to that are the tools these people are using: the frustration that they feel when using something that’s purely functional and has no attention to the UX.
We’re all used to using products that have an attention to detail, designed to help users accomplish what they need to do with minimal effort, ranging from the OS we use: online services like Uber and Airbnb or tools like Microsoft Office and Google Docs. When someone who uses these products has to use one that doesn’t seem to care for their users, they become frustrated, especially when they have to use that tool everyday.
There are a few things that we, as developers and designers, have to pay attention to when developing these tools:
Provide a clean and aesthetically pleasing user interface.
We are at the start of 2017 and yet, we still design applications with no sense of information hierarchy or care for the colors used.
I’m currently working in a government building and have the opportunity to see, at first hand, people using old legacy software for their daily work.
I swear, some of these screens look like old BIOS menus.
Minimize the amount of clicks.
Many interactions can be simplified and, sometimes, can even be removed completely. In forms, for example, the user can fill the same values over and over again. The tool should present the user with some values already filled in for them. Also, enabling known keyboard shortcuts like pressing enter to submit and tabbing to other form fields, can save time when performing repetitive tasks.
Your users are going to be using your tool every day. They are going to become power users after spending some time with it, so allow them to navigate your application through the keyboard.
Reduce the cognitive effort.
These are some things you should avoid having your users saying:
“So many menu items! So many redundant paths that I can take. Why do these two buttons lead me to the same page? Does it do anything different if I press one or the other?”
“Why do I have to select the city if I filled in the zip code?”
“If I leave this page, will this information be auto-saved?”
“Can this task continue running in the background?”
“Oh no! I closed the application and it didn’t prompt me to save the file!”
Inform your users about what’s happening. Reassure that all the work will be saved. Give warnings when the user is about to perform some damaging action.
I understand that sometimes, it’s difficult to justify the costs of replacing something that is seemingly working just fine, but I really think that improving the user experience, while keeping the same functionality, can add up to improved productivity.
We should start thinking about making our users, not only more productive, but also happier. :D