Flawless UX design is invisible to your users. By considering the needs and feelings of your users, software becomes easy to use, and they won’t give it a second thought. The moment users start asking why and how questions while using your software is when you should begin rethinking UX design choices.
10 User-Centered Software Design Mistakes
Create a solution that better understands your audience and more completely meet their needs by avoiding the most common user-centered software design mistakes.
1. DON’T start a new development project with the solution in mind
Make certain that your business model focuses on user experience and not self-interest. Instead of creating a product you think will sell or you guess will be popular, start by identifying an audience. Work to understand their behaviors, habits, and practices. By designing software with empathy for real users with real problems, you create a product they can’t live without.
2. DON’T add unnecessary features
It won’t make you look clever or current to always use the latest and greatest or the biggest and boldest design features, especially when these perceived-to-be-cool features aren’t necessary.
If it’s too cutting edge, your software may not work consistently (or at all). It may be better to keep your software simple and functional and leave attracting customers to the sales and marketing teams.
3. DON’T leave your users guessing
Be certain users always understand how their commands and actions are being interpreted. If a field can be edited, make that clear. Provide guidance when it is important that users understand the consequences of an action, such as deleting or revising information.
It can be helpful to use consistent visual cues, such as graying out form fields that don’t allow editing.
4. DON’T make catastrophic actions too easy
While it’s convenient to have all the buttons for actions like Save and Delete in the same area on the screen. In almost all cases, usability best practices even recommend grouping actions together.
Just be careful that a user working quickly, or tabbing through a form with their keyboard, can’t unintentionally decide the fate of any important information. Employ confirmation dialogue boxes to explain the consequences of fatal actions and provide a way to hit the brakes and reverse.
5. DON’T make users perform repetitive, mundane tasks
Instead of making the default value for a form field blank or Select One, consider using intuitive or common presets. Just make sure that these defaults are easy to change and that the consequences aren’t too significant if the user fails to make a change they should have.
That said, few things make a user happier than being able to check a box that confirms their shipping and billing addresses are the same.
6. DON’T create software junk drawers
If a feature has been retired, remove it. And if a module doesn’t fit under any existing menu items, fight the urge to file it under meaningless catch-all menu options such as Misc., Tools, or Other.
7. DON’T forget to consider accessibility
Not all users will have the same abilities, culture, language, age, bandwidth, or available technology. Inclusive software is better software.
Also read: Inclusive Software Design Best Practices
8. DON’T let one user cause you to lose sight of the bigger picture
Sometimes a single user has insight that can significantly improve your software design. Sometimes a single user cannot be pleased, no matter the effort and empathy you invest. It’s important to listen to and consider the feedback given by all users, but it’s also okay to question it (respectfully and without judgment).
9. DON’T employ hard-to-acquire UI elements
Users are familiar with scrollbars, so resist the urge to use hard-to-see up-and-down arrows in their stead. Don’t underline text that isn’t a link. Don’t use images that look like actionable buttons if they aren’t serving that purpose.
If users are having difficulties determining which features on a page are actionable, then you may want to rethink your UX design.
10. DON’T assume icons mean anything to anyone
Menus function best when they are labeled clearly using text. Provide a link to your homepage with the word Home in the navigation menu instead of an image that may or may not look like a house to somebody. It’s also much easier to click on the word Home, than a tiny icon.
5 User-Centered Software Design Quick Wins
By its very nature, user-centered software design should be customized and specific to your product built for your users. With that in mind, consider a few quick win suggestions that could find their way into your project.
1. Progress indicators
Be sure that multi-step tasks are clearly labeled, so users understand where they are at and when they are finished. If wait times during back-end processing can’t be avoided, keep users informed about what is happening.
For example, familiar animations such as spinners can be reassuring, but only if the wait will be very brief. If the delay is more than 10 seconds, consider communicating the percent-done when possible.
2. Simple dialogue
Always use plain language and vocabulary that is appropriate and relevant for the target audience. Avoid including irrelevant details or industry-specific terminology, unless omitting it would cause other issues or confusion.
3. Meaningful feedback
Let users know when actions are completed successfully. Provide confirmations when items are saved or deleted. If an error message is encountered, treat it as a teachable moment by briefly explaining why it happened and what remediation steps are necessary. Feedback gives users confidence and lowers anxiety.
4. Be consistent
It’s often said that “differences are difficult.” Don’t say edit when you previously said update. Don’t ask users to logout when you later ask them to log off. If links are underlined in blue in one module, be sure they are in every module.
5. Make constraints clearly understood
If your system is unavailable during specific time periods, clearly state the details, so users can plan their time accordingly. If you require certain credentials to use a feature or function, identify who the user should contact to gain access. If form data is invalid, clearly explain why it isn’t being allowed.
Some Best Practices Should be Used With Caution
Make the most of your good intentions by understanding some ways that development teams can be led astray. The best example of this is with forms requiring an address: users start typing their location, and like magic, the software populates form fields for street address, city, state, zip code.
As convenient as this is, it can be frustrating when the form tells the user that their address doesn’t exist. Worse yet, those same forms often don’t allow users to override and edit the incorrect values.
User-Centered Software Design is a Learning Process
Frequently remind your team that failure shouldn’t be feared. User-centered software design is an iterative, and sometimes frustrating, process that can take time. It’s not always easy to truly understand the needs of your users, but the process will certainly add value to your product.
The best approach to user-centered software design takes advantage of iterative design and development. By testing new features and functionality often, with small numbers of users, your team can quickly revise or abandon anything that isn’t working well.