SOFTWARE DEVELOPMENT BLOG
User Interface Rules – Developing Software That Wins Consumer Confidence and Loyalty
No program, app or software suite can win big, if confident, loyal consumers do not adopt it. There’s no getting around that. While there are myriad elements in building quality software (from functionality to advanced features not available with the competition), the most important thing is the user interface. If the interface is clumsy, overly complicated or just downright ugly, you can expect consumers to run away rather than embrace your new offering.
You get around this massive issue by following industry-best user interface rules. Of course, if it were that simple, then everyone would be a hit designer, and obviously, that’s not happening. You first need to understand what user interface rules you must follow, and then implement them into your projects. We’ll take a look at the most important rules below.
The Importance of the UI
The user interface is arguably one of the most important elements of any program or app. It’s all in the name – the UI is the surface through which software users interact with the software.
Without a good UI, your software is dead in the water. That’s blunt, but true. No matter how robust your software, no matter how advanced its capabilities and regardless of its price point, without a good user interface, you’re staring failure in the face.
One excellent example of how this affects the real world can be drawn from the Iran-Iraq War back in 1988. Because of a poorly designed user interface (read: horribly complicated and unintuitive), a US warship shot down a civilian aircraft.
The Most Important User Interface Rules
Let’s get something out there first – the specific type of software you’re developing will have an effect on the user interface rules you follow. For instance, designing software for use on the desktop is very different from designing a mobile app. Each environment has different rules that must be followed; however, that doesn’t mean there aren’t all-encompassing rules that apply to all types of software, and those are what we’re going to discuss here.
User in Control – Perhaps the most important of all user interface rules is that you need to make your users feel like they’re the ones in charge. They’re the ones in the driver’s seat. Automation is great for certain tasks, but most users don’t want to feel like the software is in charge. An excellent example of adding user control is allowing customization of the user interface. Direct user object manipulation is also an important control element to institute, as is providing navigable paths through various functions and features.
Design your user interface to ensure that your user is the one with the power and control, not the other way around. Think of it this way. Are you more comfortable in an airplane, where you don’t know the pilot, or have the ability to do something if things go wrong, or as the driver of your family car? Design the UI so your users are the drivers.
Consistency at All Times – Another important rule for UI design is consistency. You cannot afford the repercussions of inconsistent design. This goes beyond the GUI design, and as deep as using the same (or similar) menu commands in different situations. Consistency across your user interface is vital.
All elements of your user interface must be consistent across the board. Inconsistency will lead to a disjointed user experience, which can kill even the best software. You should also build in consistency with related products. Microsoft’s Office suite is a perfect example of this, although Adobe’s CS suite is also a good example of user interface rules applied perfectly. Give your users a consistent, familiar experience throughout your program or app, and in all related programs.
Multiple User Skill Levels – When it comes to user interface rules, including adaptations for multiple user skill levels is an incredibly important consideration. Look at it this way. A user fires up your program for the first time. They’re not sure what’s what, where to go or how to get there. They’re novices.
You need to take that into account, and create a system that can guide novice users where they need to go. However, over time, that user develops familiarity with, and then expertise in the software and they require less and less interaction. In fact, they DEMAND less interaction.
They transition from someone who needs their hand held to someone who wants to complete a function immediately, with as little interaction with the software as necessary. To do that, you need a system that features shortcuts, intuitive commands and more.
Easy Action Reversal – We’ve all been there before. We’ve all done something on a computer and said, “Whoops! That’s wrong!”. The difference lies in how those erroneous actions are handled, and in how you allow users to correct their mistakes. User interface rules dictate that your UI needs to provide a simple, effective, intuitive method to reverse mistakes.
Microsoft Word’s “undo” feature is a perfect example here. A single button click is all that’s needed to reverse the error and revert the document back to its pre-error state. Windows’ recycle bin is another example. If a user erroneously deletes a file, it can be restored by going into the recycle bin, selecting the file or folder and then clicking “restore”. Essentially, it’s a failsafe that protects users from their own mistakes. Build this functionality into your system from day one.
Limit Memorization – Expert users know where they want to go in a program, or what they want to accomplish. Many have memorized keyboard shortcuts or macros that allow them to complete complex tasks with a few keystrokes. However, you can’t expect all users to attain that level of expertise, or even to want that level of knowledge. Good user interface rules dictate that you design your software to limit the amount of memorization necessary to achieve a specific goal.
Error Handling – There will be errors with your software. There’s no getting around this. No matter how much beta testing you do, no matter how many hours of debugging go into the program, there will be errors with end users. Build for this now, from the very beginning. User interface rules dictate that any UI should provide a simple, intuitive way to handle errors.
More – design your system so that it’s difficult (or impossible) for a user to make a serious mistake. Once an error occurs (usually due to user problems), the system must provide simple, actionable steps to rectify the situation. Complex error handling only leads to frustration and dissatisfaction with the software.
Provide Feedback – Every action taken by a user should have immediate, visible, unmistakable feedback. Your users need to know that the commands they sent had the desired result. Let’s look at word processing software. The most obvious feedback here is that when a user types a letter, it appears within the document.
Letters add up to words, and words add up to sentences, then paragraphs and eventually entire reams of information, all built through user feedback. Whatever function the user is performing, it needs to provide immediate feedback that can’t be mistaken for something else. Make sure that your users know the commands they’re sending are getting through.
Navigable – One of the greatest holdbacks for explorers during the Age of Exploration was a lack of navigability. Waterways weren’t charted, hidden rocks, reefs and low-lying islands ripped the hulls out of ships, and figuring out where you were going was hard. Don’t do that to your users – follow industry-best user interface rules and design your system for simple, intuitive navigation.
We can draw an example from the world of web design here. When you land on a website, how likely are you to stick around if you can’t find the page that you want, or easily navigate to another page of interest? You’re not going to stay long. The same principle applies to your software. Make your program easily navigated, with intuitive controls, menus and systems that make sense to your USER.
Language Concerns – Use interface rules state that if a UI doesn’t use relatable, understandable language, users will fail to engage with it, and the program will ultimately fail. Build your system on language that relates directly to your users and their experiences.
If a commonly understood term can replace a technical-sounding one, do it. The easier it is for users to understand the commands and navigation structure, the more they’ll use it, and the more familiar they’ll become with the program.
Following these user interface rules ensures that your UI is accessible, easily navigated and intuitive. Creating an ideal UI encourages user adoption, enhances ROI and increases the likelihood of a successful software launch and lifespan. Whether you’re designing the next hit desktop program or a new mobile app, user interface design is of paramount importance.