TC Design
UX for enterprise applications
What is an enterprise application?Â
Companies who sell software use the term “customer (or consumer) application” to refer to a product that is sold directly to the end user. The term “enterprise application” is used to describe a product that is sold to a company for their employees to use to conduct business. Â
While we do not sell products to our end users, we can similarly distinguish between customer applications (external facing) and enterprise applications (internal facing).Â
The table below presents a high-level distinction between enterprise and customer applications at Transport Canada.Â
 | Enterprise application | Customer application |
---|---|---|
User group | Employees of Transport Canada | Members of the Canadian public, clients and industry partners |
Purpose | Allow people to perform their jobs efficiently | Allow people to access services provided by Transport Canada |
Frequency of use | Frequently | Infrequently |
Differentiating between these two types of applications is useful, because enterprise applications face some unique UX challenges.Â
These applications often need to support:
A variety of different user roles;Â
Complex business rules;Â
Non-linear workflows.Â
This article will provide techniques and resources on designing for enterprise applications, so that we can improve the lives of the people using these tools.
Getting to know our enterprise users
Enterprise applications regularly cater to power users. These are users who are highly skilled in their domain and will use this software on a daily basis for many years. Enterprise applications are intended to help these people perform their jobs more efficiently. However, if the software is confusing or difficult to use, it can create added stress as these individuals are often required to use this software to do their jobs. Â
We have all likely heard some variation of the quote from Timothy Prestero, “There's no such thing as a dumb user; there are only dumb products.” But what we have learned is that, even if someone is an expert in their domain, if they cannot figure out how to perform a simple task in an application, they tend to blame themselves. Â
Paul Attard describes this thought process in How to ensure good user experience on your website (and in life),Â
“When we have trouble trying to accomplish something as simple as transferring money from one bank account to another we believe that we’re the only one struggling with the task. It’s a simple request, it surely can’t be complex, which means I am incapable of figuring it out myself. If it were complex, wouldn’t someone have noticed and the problem be fixed? Therefore, I am stupid.”Â
As an added complication, the individuals purchasing the software are usually not the individuals who will actually use the software on a daily basis. This makes it particularly important to understand the stakeholder environment. To learn more about engaging and collaborating with stakeholders, the Nielson Norman Group has a great collection of articles and videos UX Stakeholders: Study Guide (nngroup.com). There is also a chapter on this called “Stakeholders are People Too” in Articulating Design Decisions by Tom Greever.Â
5Es to understand usersÂ
Whitney Quesenbery’s 5Es to Understand Users applies well in the context of enterprise user experience design. It gives a comprehensive approach towards taking care of usability requirements. She explores five dimensions of usability, denoting them as 5Es, which are: Â
Effective – how accurately tasks are completedÂ
Efficient – how long it takes to complete tasksÂ
Easy to learn – how low is the initial learning curveÂ
Engaging – how satisfying is the app experienceÂ
Error tolerant – how well does it prevent errors and assist in error recoveryÂ
We will dive deeper into the 5Es and how they can help us address the challenges of designing enterprise applications.
EffectiveÂ
For an application to be effective, it must enable users to accurately complete their tasks. Enterprise applications are required to support not only complex, non-linear workflows, but also a variety of user personas. These users are likely to have different roles and responsibilities in their workplace, such as an inspector who is responsible for ensuring that a vessel is fit to leave port, or an administrator who is responsible for scheduling and communication with the client. These individuals will often have different usage patterns, frequency of use and expectations of the application. Â
One approach is to design the application in a way that does not force users into flows and scenarios. By offering users flexibility, these experts and professionals have the freedom to make decisions and use the application as they see fit. Another approach is to provide tailor-made experiences for different personas. This technique requires a supporting infrastructure such as role-based access control (RBAC) but can allow designers to streamline user workflows and reduce cognitive overload.
User research and personas must be at the center of these decisions, whether designing a flexible or customized user experience. As Tom Greever states in Articulating Design Decisions, Â
“It’s always useful, even after a decision has been made, to circle-back and double-check your decisions against the documented use cases for which you hope to design. When you find your team getting off track, bring them back by reminding everyone what the use cases are and how our decisions affect them.“ (p.134)Â
EfficientÂ
The efficiency of an application is determined by the time it takes users to complete tasks. This can be measured using analytics or during the process of job shadowing or usability testing. When we see an opportunity for improvement, we are often excited to launch into a solution, but it is important that we take a baseline measurement so that we can evaluate the impact of our changes. Â
In the previous section, we touched on one method of making tasks more efficient when we discussed creating customized workflows for different user personas. But the most important factor in creating an efficient application is designing a consistent and recognizable experience. Key areas to explore include page layout and navigation. The Web Content Accessibility Guidelines (WCAG) have two criteria related to creating a consistent experience: 3.2.4: Consistent Identification (Level AA) and 3.2.3: Consistent Navigation (Level AA). The principles behind these success criteria – that page elements and navigation should be positioned and labeled consistently across the application – contribute not only to creating a more accessible application but also to more efficient workflows. Â
As enterprise applications evolve over time, sometimes the original information architecture and navigation patterns are outgrown. It is expected that these will need to be revisited and adjusted. For tips on how to scale UX patterns and how to get buy-in to do so, see Scaling UX patterns (coming soon).
Easy to learnÂ
When designing and building an enterprise application, all potential users should be considered. Our enterprise applications are likely to have power users who know their way around the logic of the products they use. However, the ideal product would also be easy for new users to understand. Â
Our customers may have new employees join their teams because of growth, to supplement their workforce during peak times, or to replace individuals who have accepted new roles or retired. If we only cater to experienced users and neglect to consider new user onboarding, we will need to provide more rigorous training workshops on how to use the software, which costs valuable time and money.Â
A useful way to onboard new users is by presenting help content contextually. This involves triggering help content in response to a signal that the user would benefit from that information at that moment.Â
Since we do not know who these new users might be, or what needs they may have, building accessible applications will ensure that we do not exclude any potential candidates from being hired. To learn more, see our Accessibility space.Â
EngagingÂ
For an application to be engaging, it must draw the user into the interaction. Whitney Quesenbery suggests looking for pages that are confusing or difficult to read. Having clear, error-free copy is an important factor in making navigation easier and helping people properly use the product. A helpful way to begin is to understand the users, their way of speaking and their terminology. This will enable us to design an experience where they can carry out their tasks with less friction. For more information on writing copy, see Content writing.Â
One of the biggest challenges of designing enterprise applications is that they often contain large amounts of information. This has a significant impact on how easily users find content and complete tasks. The term “cognitive load” is used to describe “the amount of mental resources that is required to operate the system” (Nielsen Norman Group, Minimize Cognitive Load to Maximize Usability (nngroup.com)).Â
Some approaches for minimizing cognitive load for our users include:Â
Selective attentionÂ
Selective attention is the ability of users to focus on specific elements and filter out other information. As designers, we can use this as a method to minimize distractions in information-rich applications. By creating a clear visual hierarchy, we can guide users’ attention to the most important features and information, ensuring a more efficient workflow (UX for enterprise applications: Navigating the nuances of designing for businesses).
For more information on emphasizing essential actions and information, see Page design and visual hierarchy (coming soon).
Progressive disclosureÂ
Progressive disclosure is a technique where information and features are revealed only when necessary. This prevents users from feeling overwhelmed by too much information at once. One example of this is surfacing the most used search criteria at the top level and only making advanced search criteria available when users choose to access them. Another example is showing a summary of an item, like a service request or application, in a list view and allowing the users to drill down for more information. This approach ensures that users are not overwhelmed by complexity while still providing access to advanced features and further information when needed (UX for enterprise applications: Navigating the nuances of designing for businesses).Â
Error tolerantÂ
Error tolerance is measured by how well the application prevents errors and how well it helps the user recover from mistakes that do occur. Some of the techniques discussed in the previous section that help make users more engaged, such as minimizing distractions and using clear, concise copy, can also help to prevent errors. Â
In enterprise applications, especially ones that are used in fast-paced environments with many interruptions, mistakes are likely to happen. It is important to consider how the application will fail and how easy it is for the user to recover from the problem. We often use the term “failing gracefully”. This means that we have considered the possibility for an error to occur and have thoughtfully designed an experience around this. If we only design for the happy path (when everything goes well), we are neglecting the time when our users need the most help.Â
Some best practices for failing gracefully include:Â
Describing the error in clear, non-technical languageÂ
Providing actions that the user can do to resolve the errorÂ
Displaying error messages close to where the error occurredÂ
Displaying error messages using a consistent style and formattingÂ
For more information on validation messages, see Error and validation messaging.Â
Conclusion
Designing exceptional user experiences for enterprise applications requires a deep understanding of the unique landscape, balancing functionality, and carefully considering the needs of diverse user personas.Â
Resources
CASTLE: Measure UX in Workplace Software (youtube.com)Â
Workplace Application Usability (youtube.com)Â
Design That Matters: Tim Prestero at TEDxBoston - YouTubeÂ
How to ensure good user experience on your website (and in life) | Words from goat (medium.com)Â
UX Stakeholders: Study Guide (nngroup.com)Â
Articulating Design Decisions: Communicate... by Greever, Tom (amazon.ca)Â
Using the 5Es to Understand Users - Whitney Interactive Design (wqusability.com)Â
Utiliser les 5 E pour comprendre les utilisateurs - Whitney Interactive Design (wqusability.com)Â
Understanding Success Criterion 3.2.4: Consistent Identification | WAI | W3CÂ
Understanding Success Criterion 3.2.3: Consistent Navigation | WAI | W3CÂ
Onboarding Tutorials vs. Contextual Help (nngroup.com)Â
Accessibility - TC Design - Confluence (atlassian.net)Â
Content writing - TC Design - Confluence (atlassian.net)Â
Minimize Cognitive Load to Maximize Usability (nngroup.com)Â
Working Memory and External Memory (nngroup.com)Â
Error and validation messaging - TC Design - Confluence (atlassian.net)
TC Design