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

 

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.

Outlook calendar event viewed as the invitee with a simplified interface showing only one action to change their response.
Outlook calendar event viewed as an invitee with a simplified interface
Outlook calendar event viewed as the organizer with additional options to edit and cancel the event.
Outlook calendar event viewed as the organizer with additional options to edit and cancel the event 

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) 

UX for enterprise applications: Navigating the nuances of designing for businesses | by Shreyansh Kotak | Bootcamp (uxdesign.cc) 

Error and validation messaging - TC Design - Confluence (atlassian.net)

TC Design