4 Ways to Improve Your App’s User Experience

Have you ever sat in a lobby somewhere, killing time, and looking with disgust at your phone?  I’m not talking about disgust with the actual device, though no doubt this happens to all of us from time to time.  Rather, I’m talking about disgust with an app or a website rendered through your phone’s browser.

Waiting for your turn at the dentist or the DMV, you’re probably not doing anything mission critical.  Instead, you’re playing a mindless game or clicking on some semi-salacious article, expecting someone to interrupt you at any moment.  This sort of situation encourages you to download things you might otherwise not or click on links of which you find yourself skeptical.

And then it happens.

Your phone’s browser pops up a modal dialog asking whether you’d like to download some stupid website’s stupid app.  As you try to figure out how to get rid of that, it also starts loudly playing some video you never clicked “play” on.  Embarrassed, you fumble with your phone to get it to stop making you a spectacle in the waiting room.  You were barely even interested in the first place.

As far as user experiences go, this is pretty much the bottom of the barrel.  And, while you recognize that they’re probably aware of this and playing some spammy numbers game, you wonder if they know just how bad it really is.

We understand bad user experience much more viscerally when we’re on the business end of it.  But it’s surprisingly easy to lose sight of from the other side.  So, while you’re probably doing a bit better than the clickbait site, you can still improve.  Let’s look at how you can boost your own app’s user experience.

Pay Attention to Discoverability

Not tricking your users into clicking things or watching videos sets the bar pretty low.  So let’s assume you’ve already stepped over that and are looking to go from an app that gets the job done to one that delights your users.

First up in that is what I’ll call discoverability.  This also has a good bit of overlap with a concept called learnability.  Both speak to the idea that your users should be able to figure things out as they go with the app.

This idea runs contrary to the “read the manual” culture that existed for much of the history of computing.  You can see the heyday of this with “man pages” and battleship gray Windows desktop applications with hundreds of “advanced settings.”  You want to use our software?  You’ve got to earn it by putting in countless hours learning about it.  Read the manual.

With the release of the iPhone and its general design philosophy, Apple lobbed a grenade into “read the manual” culture, and app developers haven’t looked back since.  No longer does the onus fall to users to invest the time in learning.  Instead, app developers have the burden of writing apps that serve their purpose and also teach new users as they go.

If you want to stand out in the crowded field of apps, make discovering features and learning the app a breeze for your users.

Individualized Customization

If it seems that modern app developers have to coddle users more than their predecessors did, that’s absolutely true.  Twenty years ago, the field of app users included mainly techies and savvy early adopters.  Now, it includes everyone, including some of the least technologically savvy members of the population.  Capturing those sorts of users means you need to make life easy for them.

You can do this with discoverability, but you can also do it in other ways.  For instance, take experience customization.  You can make users’ experience with the app highly individually tailored.

In the modern, interconnected world, you can learn a lot about your users.  Your app can gain insights about where they are geographically, what device they’re using, and plenty more based on in-app data they enter.  You can then take all of this information and divide your users into conceptual target groups.  From there, you can selectively enable features, depending on particular attributes about them.

The end result?  You can give your users the sense that your app was designed specifically for them.  Turn off advanced features for new users.  Have a larger default font size for elderly users.  Show different in-app content depending on geographical relevance.  You get the idea.

The more you can learn about your users, the better you can make their experience.

Leverage A/B Testing

Just as you can segment your app based on properties about the user, you can segment it for other reasons as well.  Reasons like running experiments, for instance.

Why would you want to run experiments?  Well, for starters, it lets you replace outmoded ways of guessing what your users prefer.  Historically, many organizations would have focus groups or even proxy ‘experts’ that would speak to users’ desires and preferences.  But why do that when you can just test for yourself?

The Lean Startup has many valuable lessons for startups and enterprises alike.  And one of those is that there’s just no substitute for field data.  You can ask people if they’d buy something or not, sure.  But they might humor you or they might simply fib for whatever reason.  A better way to see if people will buy?  Actually offer it to them for sale and see what happens.

A/B testing uses this concept to run experiments in the wild.  You can show users two different versions of a landing page, for instance, and see which one converts better or which one more users engage with.  Then, once you have that data, use it to determine which page “wins.”

You can use feature flag management systems to run A/B testing experiments with your users.  This can help you improve conversions, sure.  But it can also help you create a significantly better experience for your users.

Abide by the Principle of Least Astonishment

For the last point I’ll mention, let’s look at something both more philosophical and foundational.  So far, we’ve looked at three main ways to make your app user experience better for your users: discoverability, individualization, and via experiments.  These things are both valuable and specific.  But what about the general case?  How can you, heuristically, know whether a given individual decision will help your app’s user experience?

Well, you should abide by the principle of least astonishment.  Simply put, this means you should design things to behave the way your users would naturally expect them to behave.  Or, conversely, it means you shouldn’t design things in a way that would cause surprise and astonishment among your users.

For example, imagine designing an in-app chat facility.  If you made it so that users sent messages by hitting the shift key (instead of enter or clicking a send button), you would astonish them.  They would flounder, not knowing what to do, and eventually have to look it up (or “read the manual”).  This can, at times, mean walking a fine line between introducing slick new designs and doing things the way people are used to, even when that might be a bit inferior.

But the reason I list it last and perhaps more importantly is that following the principle of least astonishment requires you to consistently and constantly empathize with your users.  You always have to channel them, wondering how they’ll react.  You have to understand them deeply and keep them top of mind.  And, in the end, that’s what good user experience is all about.  That’s what separates the beloved apps from the ones blaring obnoxious audio at you in a waiting room.

Erez Rusovsky is the CEO and co-founder of rollout.io, a company located in San Francisco that provides a feature flag management system enabling developers to quickly and safely build and deploy apps. He holds a B.Sc. in Information Technology and is very passionate about his job. Being a developer himself, he takes very personally the company’s mission to help developers excel in their tasks. He wrote many articles in the Rollout blog, most notably about app development