computer that says usability

The New Enterprise Application Landscape: Usability

In this series, we’ve been discussing the radical changes that are sweeping the enterprise application space. In my last post we discussed security. Today we’ll look at another key area: Usability.

What is Usability?

Usability is a word I hear spoken a lot when talking about enterprise applications, but I’m not convinced that we always have a good frame of reference for the term. It’s a challenging term to really nail down because it is so packed with subjectivity in our common conversations. When asked their opinion, someone may say “well, this site isn’t very usable” but what do they mean? In relation to what? Facebook? Excel? IOS 8? To complicate the problem, usability is often conflated with design, and so a perfectly usable system may be considered unusable simply because of an ugly design.

Often, the users themselves can’t really describe why an application is or isn’t usable. Certainly they can suggest that a button needs to be moved or text made clearer, but those are just symptoms of a deeper issue. They are confused as to how the system works or why the interface was designed as it was and they lack the language to describe the way they want to work in terms that developers can implement.

Unfortunately, there aren’t many hard and fast rules in usability. At best we have UI conventions that we try to follow; things like navigation at the top, or red text to indicate a required field, but these are by no means universal. Moreover, they are not really rules, but simply a support mechanism for one of the most important core principles of usability: Don’t make me think.

As application developers, we often fail to realize that our systems are confusing to business users. Having built it, and being typically very fluent with computer systems, we find the interfaces we’ve built to be perfectly logical and easy to navigate. We forget, however, that our users don’t often share the same level of fluency with systems as we do. That’s not to suggest that users are dumb or computer illiterate, but simply that the things we do naturally through our years of experience they often have to stop and think about. Even if only for a fraction of a second, these pauses cause frustration and contribute to a general feeling of unusability.

So, what can we do about this?

The State of Usability

In my first post in this series, I made a bold claim: Unusable systems are not used. I stand by this claim. Certainly we can point to key systems that were horribly designed that are used to run key business functions, but if we examine it further, we can quickly find that people are only using them to the degree necessary to complete their work. In large systems like document management or ERP often more than half of the available functionality is unused simply because the system feels to complicated and users are unwilling to invest the time to learn another seemingly over-complicated process.

Compounding the challenge we face today in the enterprise is the fact that our users have exposure to so many extraordinarily well designed applications that the bar has been raised much higher than when our users had exposure to a handful of home built applications and maybe a productivity suite. Consider this: Facebook has no user manual and doesn’t have to direct people to how-to articles simply to buy a coffee maker. Why is this? Because those companies have invested a significant amount of time and energy into designing usable systems. They perform exhaustive analysis and experimentation to determine the optimal placement of every button, widget and line of text. They do this because they know all too well that unusable systems are not used.

Now, it’s not necessarily fair to compare our enterprise line of business applications to world class applications like Facebook and Amazon, but we certainly should be learning from them. Moreover, we need to be mindful of the fact that our users are most definitely making comparisons between the systems they use at work and all of the other systems they use on their phones, tablets, and home computers. They expect the same level of intuitive design, and they are understandably frustrated when those expectations aren’t met.

Approaches to Creating Usable Systems

So the good news is that usability is a fairly easy problem to solve. It just requires a commitment to creating usable systems and an investment in the people and processes that can make that happen. With that in mind, let’s consider some approaches to making our enterprise applications more usable.

Invest in User Experience

In the past two decades we’ve seen the rise of the user experience (UX) designer as a core role in application development. Correspondingly, universities and colleges have begun to offer programs in usable systems and human-computer interaction. Such programs often have large and well equipped testing labs and protocols for understanding how people interact with computers.

We can and should benefit from this pool of knowledge and resources by investing in qualified, credentialed UX designers, people who are working hard to establish core principles of usability. I believe that every application development project must include some usability/UX design effort in order to be successful. This effort should include such things as user interviews and observation, developing user personas, use cases, interface wireframes and semi-functional mockups. Critical applications should be submitted to an even more rigorous process of usability testing in a lab.

The takeaway here is that we don’t have to reinvent the wheel, just invest in the right people and ensure that our project scope and budget includes usability/UX design work.

Establish a Design Language

A design language is the collection of styles, icons, colors, and design/interface conventions that make an application or series of applications feel like a cohesive whole. Consider the ribbon interface in Microsoft’s office products. This is a component of a design language that ensures that every office application, including enterprise systems like SharePoint and CRM feel and work the same.

We should be striving to establish a design language that we leverage across our systems. It can serve dual purpose to reinforce branding, but at its core, this is about making sure that our users have a predictable and consistent experience throughout the applications they use. Likewise, on a smaller scale, we should strive to make sure that all of the interfaces within a single application all follow the same design language.

Don’t Rebuild, Re-skin

It’s not always necessary to buy a new application or completely overhaul an existing one to improve usability. Oftentimes, we can undertake a small-scale re-skinning effort that will yield large dividends in user satisfaction and productivity for relatively small investment.

We should be assessing our enterprise application stack with this in mind, looking for low hanging fruit where a small investment in user interface redesign can extend the life of an application by many years. Additionally, such an effort can be a great opportunity to introduce new key features such as mobile support and enhanced security.

The Future of Usability

The staggering array of applications both large and small that are increasingly integral to our daily experience has fundamentally changed the conversation about the user experience of the systems we use in our careers. Users are not satisfied with “good enough” or “read the manual”. They understand that applications can be better and more intuitive, and they are becoming more fluent in that language and more engaged in that conversation.

Imagine a world where enterprise applications are designed to be not just functional, but enjoyable to use. A world where applications are subject to ongoing improvement based on usability testing, users’ needs and the best practices that the user experience designers bring to the table. A world where high-productivity and user satisfaction are the rule for enterprise applications, not the exception.

This is the future of Enterprise Application Usability.


About Chris Sorel

Chris is a senior architect with Statera, focusing on enterprise application architecture and application development. Chris has spent many years in the industry evangelizing user-centric design and the role of custom software in helping companies stay innovative. When he’s not helping our clients, he can be found hiking one of Colorado’s 14ers or rock climbing in one of the front range canyons.