Ever spent the day walking in the wrong shoes? Played basketball in flip flops? Worn socks with sandals? No? Just me?

Wearing the right footwear can make a big difference. But none of us carry around our entire shoe collection waiting for the right opportunity to wear each pair. We just pick the pair that looks good and suits our general plans for the day. Who would guess you’d be invited to go rock climbing after putting on those heels?

This post is a continuation of our “5 Signs Your Product Has Outgrown Its UX” series. If you haven’t already, you might want to start at the beginning with “Does This Make My App Look Fat?”

Enterprise applications start off in a similar way. You choose your tech stack and build your backend architecture with some idea of where you’re heading. In the beginning things usually work out. Over time however, you find yourself swimming with ski boots.

This will usually manifest as one significant problem for your end user: slow performance. A slow, unresponsive app is a sign that your product has outgrown its UX.

Don’t Keep Me Waiting


Your app was probably lightning-fast in the beginning. Well, that was with only ten active users and a pretty small tech stack that you bootstrapped (hey-o!) together quickly. As the product scales in user base and architecture, things can start to slow down. Most users can be pretty forgiving of a little lag. But if it starts to be a frequent problem, it might be time to address the issue.

So what’s the best way to know if your app is running slow? Here’s a few ideas:

  • Track key metrics like load times against historical data through Google Analytics or other reporting tools.
  • Conduct user research regularly that allows you to see the app being used by the end user.
  • Use the product yourself when possible and compare the experience to other apps.

I could tell you all about the dangers of a slow user experience. How it will lead to a higher bounce rate, frustrated end users, and plenty of nasty emails in your inbox to fix it. But I really doubt anyone needs to hear that argument. I think we can all agree that we want our apps to be as performant and fast as possible. So let’s stop talking about the problem and get onto how we can make a difference.


The most obvious solution to slow performance is to fix the bottlenecks in your system (have you tried turning it off and back on again?!). But that’s a pretty dismissive solution. Usually it’s not so easy to solve performance issues. It might require a change to your database architecture, it might require server upgrades, it might even require rewriting large portions of the app.

Ain’t nobody got time for that.

But what if I told you there were other, easier things you can do that will make the app seem faster while you tackle those bigger issues? Well, you’re in luck, because they exist. Here’s a few easy wins to improve your UX despite any performance issues.

Loading Indicators

Ever tried to have a conversation with someone and they don’t really look at you or nod along? It gets pretty hard to believe they’re actually listening. You might even start raising your voice or getting more animated to get their attention.

UI isn’t much different. When a user complains about slow performance, a lot of times it’s not the actual wait time; it’s the fact that there isn’t any feedback to indicate the app is listening.

Using loading indicators is a great way to tell the user they’ve been heard. These indicators can be used to represent the entire page load (good) or be utilized for specific sections of content (better).

Google docs uses a loading indicator while it retrieves your file library. This allows other content that isn’t dynamic to load quickly, making the overall load time appear much shorter.

Skeleton Screens

A skeleton screen is a fairly new concept in UX design, but it has caught on quickly. Even if you’re not familiar with the term, chances are good that you actually see them regularly.

Skeleton screens are a blank, empty version of the app’s UI that is shown while the rest of the content is loaded. They are made to look like an abstract representation of the content. To the end user, this makes the load time feel shorter because it gives the illusion of the UI filling in. Rather than waiting for the UI to be delivered all at once, the user sees it arrive in increments.

Slack leverages skeleton screens quite a bit across their apps. Even when the application is quick to load, these interstitial views make the product feel more responsive.

Success Indicators

Lastly, you want to make sure the user is aware when an action they’ve taken has been successfully received. Keep in mind: this might still take some time since it relies on a successful callback from your application. But not giving this visual feedback will make the app feel unresponsive and lead the user clicking that save button over and over again.

How you choose to implement these indicators will depend on your app. You can use banners, snackbars, inline notifications, or any other method that your app is already utilizing for alerts.

Whatever you choose, these indicators shouldn’t get in the way of the rest of the UI. The last thing your users want is to wait for a success message to dismiss before continuing their workflow.

Get the Right Shoes

Maybe the wrong footwear is slowing your app down. SitePen has spent the past decade building and optimizing enterprise software. If you’ve got performance problems, our team would love to help identify and solve them. Whether it’s time to rework your architecture or you just need a quick UX fix, let’s talk about how we can work together!

Does My App Look Fat? – Introduction to the series
Little Black Dress – Hidden Navigation
Cargo Pants – Tab Overload
The European Cut – Mobile Unfriendly