I love mobile apps. LOVE them. Some people might even call me app addicted. I’ve got an app for this, and app for that, and I’m always looking for new, intriguing apps to add to my smartphone’s arsenal. Yet as much as I have an affinity for mobile apps, they can also frustrate the heck out of me.

Why? Many apps shoot themselves in the foot with basic UX mistakes. These mistakes have the ability to totally sour my in-app experience, and worse, make me uninstall the app altogether. Okay maybe I’m hypercritical because I work in the industry, but let’s not forget that the average app user is getting smarter and more difficult to please.

At the end of the day, however, I want every app to have a chance at ‘glory’. Seriously! So what have I gone and done? I decided to make good use of my frustration and put pen to paper (or pixels to a Word doc if you want to get technical).

Below I’ve comprised a list of fifteen key mistakes to avoid like the plague when creating your own app. Let’s check them out.


1. Over-limiting my freemium experience

Apps need to make money in some way. I get it- no harm in that. But if you want to make money via my upgrade to a premium plan, you’ve got to give me at least a decent taste of what your app has to offer. Whet my appetite, demonstrate your value, convince me first and foremost that your app is even worthy of taking up my space on my screen. Bear in mind, you need to strike a fine balance of enabling me to utilize your app and gain value from it, while also creatively building my need to upgrade to premium. If you limit the majority of your capabilities to a premium plan, I am going to feel duped. Duped because by downloading an app, I expect the ability to obtain an underlining amount of value from that download.

I have the perfect metaphor to explain what this UX blunder feels like for a user. Imagine you sit down at a restaurant, and you are looking forward to ordering the pistachio crusted salmon fillet (yes I am a self-proclaimed foodie). You order it and it arrives looking delicious, yet it is only half a portion. The waiter tells you that you can order the other half, but it is going to cost you an additional amount. To you, the diner, you do not possess half a fillet, you are missing half a fillet. But what if you could order the entire fillet and then the waiter highly recommended that you also purchase a side of garlic mashed potatoes to complement the fish? Now you are presented with an opportunity to enhance your dish even further without the feeling of missing something you were supposed to have.


2. Forcing me to create an account

You only have one chance to make a good first impression with me (and with majority of mobile app users). Part of that first impression starts with the login screen. When I download an app, I want to understand what the app can do for me- not what I need to do for the app. Yet, when the first screen I encounter is the login/sign-up screen, AND I am not allowed to continue my exploration of the app until I have created an account, that’s when I start to get frustrated. This is what you would call a “login wall” and it’s one of the biggest ways to kill your app’s new user retention rates. The takeaway here- allow users to explore your app a bit before you prompt them to sign-up. The last thing you want is for your “sign-up” screen to become a “sign-out” screen.


3. Asking me for referrals/reviews during my first use

Come on really?! I haven’t even gotten a chance to fully assess the value of your app! I will likely say no to your request. Plus, any time you ask me after that, it will come off as an “annoyance” because you have already asked me at the wrong time. I’m a busy, on-the-go mobile user. If I’m going to take the time to give your app a positive review or refer a friend, you’ve got to ask me at the right time. If you’ve got a gaming app this “right time” could be after I have completed a certain level. Or if it’s a utility app, it could be after I have executed a certain flow. I would recommend A/B testing different placements and observing the real-time results via a qualitative analytics platform.


4. Trapping me in a long onboarding tutorial

Maybe I am already familiar with your app and have downloaded it before. Or maybe I’m just downright impatient. If either is the case, I will want to access your app as quickly as possible without any barriers to entry. I don’t want to have to tap through a bunch of onboarding slides, especially if it contains animations that require me to watch each screen for a moment. The solution? Provide me with a little ‘skip’ button at the bottom of your tutorial and all this unnecessary tapping can be eradicated in an instant. It’s as simple as that.


5. Interrupting my experience with an irrelevant ad

No I am not interested in seeing a fast food ad on my running app. No I would not like my seven year old cousin to open a seemingly “harmless” game and see an ad for women’s lingerie. Relevancy, relevancy, relevancy! It’s one thing for these programmatic ads to appear as a small banner at the top or bottom of the app’s screen, but it’s a whole nother calamity if these are full, interstitial ads. How do you ensure that irrelevant ads don’t sneak onto your app? Well 365Scores, for example, utilized user session recordings to track how their programmatic ads actually appeared to their users. You can read more about how they did it here.


6. Replacing text with vague icons

No matter how innovative you want to be with your mobile app’s design, it ultimately needs to be intuitive, especially when it comes to your navigation pattern. I’m not going to remember your navigation icons for having some nifty look or witty character choice. I am going to remember them by whether or not they get me to where I want to go. Save the creative design for your background, logo, and microinteractions.  


7. Lacking choices for login

Depending on the type of app, my login preferences can vary. For a music app like Soundcloud, I might want to login with my Facebook account so that I can easily share music to my Facebook profile. On the other hand, for apps that have more personal information (such as a diet app), I would prefer to login with my gmail. As social media accounts, Facebook and Twitter inherently connect me with others. Whether those “others” might be my colleagues, my boyfriend’s mom, or my parents, they don’t need to know all my “app”enings. Even if I have the ability to limit sharing permissions from the app, connecting my social media accounts to certain apps can sometimes feel too personal. At the end of the day, let me decide for myself how I want to login to your app.


8. Requesting a permission with a poor explanation

I am already a bit wary about handing over access to my personal information, location, camera etc. Please be clear and direct with me about how your permission is essential to the function of your app. If it’s not obvious to me as to why you need something be sure to describe it as coherently yet concisely as possible. I know that a navigation app needs my location, but why does a photo app? It’s also a good practice to ask for particular permissions after I have completed a particular action. For example, prompting me with a permission to access my social media account only after I tap ‘share an article’. I am way more likely to accept a permission if you provide me with a direct understanding of “in order to do _______ you must do ________”. If I feel in the slightest bit confused or uncomfortable by your permission- I’m tapping the ‘Don’t Allow’ in a millisecond.


9. Requiring too many steps to complete a “simple” task

When it comes to mobile apps, it needs to be all about effectiveness and speed. I’m likely choosing to complete a task on a mobile app because I want to complete it quickly and on-the-go. Remember, anything that might seem “long”/time consuming on desktop will come off as extra long on mobile. Please spare me the lengthy forms and multiple checkout screens. Thanks!


10. Crashing on me!

I am part of the 84 percent of users who will not retry an app more than two times if it crashes on me. Especially if it crashes during my first session. Nip those crashes in the bud! I know they can oftentimes be super tough to reproduce, but there’s finally a solution for that. More and more devs are using user session recordings to visualize crashes and accurately reproduce them. You can learn more about this new solution for solving crashes here.


11. Hiding my password during registration

Maybe I am not as dexterous as some people, but for me it can be super easy to mistype things on a mobile phone. There is no physical feedback from the “keyboard” and to top it off the keys themselves are obviously a lot smaller than desktop. That’s why there’s typically things like ‘autocorrect’ and ‘suggested words’ to simplify typing on mobile. But that assistance is not available when typing a password. All I ask is that you allow me to see what I’ve typed in the password field. A ‘confirm password’ field, whose contents are also hidden, is not a solution. It actually makes things more difficult. 


12. Limiting control of sharing capabilities

As I said earlier, I like my privacy. Who doesn’t? If you want to be fully transparent with your users and gain their trust, you need to give them full control over sharing from the app, especially when it comes to social media. I don’t think users want their entire friend base to know that they achieved level 15 of Pirate Kings during working hours. I understand social media is a great way to improve app virality, but if you are not careful with sharing preferences, it can totally backfire on your app and your retention.


13. Overloading me with features

The best apps revolve around flow. Part of that flow can be damaged when you present me with too many choices. In the case of features, if you overload me with options, I might enter a state of analysis paralysis. What does this mean basically? Dude, you threw off my groove.

Bear in mind, as an impatient mobile user I want quick and easy access to the greatest benefits your app has to offer. So instead of adding more and more features, focus on improving existing ones.


14. Deleting my recent search queries

Let’s say I’m trying to find a new bumper for my old Volvo p1800. I type in “Volvo p1800 spare parts” in an app’s search bar, only to realize there are two types of bumpers: plastic and chrome. I decide that I want to add ‘chrome’ to my query, but the automotive app has deleted my original query. So now I have to type in “Volvo p1800 chrome bumper spare parts”. Then, I remember that I need to also search for the front and the back bumpers, separately. You can probably foresee that a headache soon followed. By keeping the original search text you will make the searching process much easier for users and subsequently boost your conversion rates.  


15. Insisting that I create a username at login

In today’s crazy mobile-first world, when it comes to remembering usernames, I’ve got the memory of a goldfish. Especially for app enthusiasts like myself, please do not expect us to remember a username you had us create. We’ve got a lot of stuff to remember. If you’ve got my email, that should be enough. Also, in terms of security, a username can be seen by other app users (some that are not so nice). If those “not so nice” ones are looking at hacking into my account, they are already halfway there if they have my username. By requiring me to log in via email (which will not show anywhere on the app) you are adding an extra layer of security for me and I thank you for that!



Remember, it’s not the number of downloads that make an app great, but the number of active users. This number is directly determined by your user experience. By identifying and eliminating these user experience friction points you are taking a giant step towards improved retention and brand loyalty. Ignore these UX mistakes, and you will not only face my “wrath” but also the wrath of your users in the form of bad reviews and uninstalls. Eek!   


Got some mobile UX frustrations you would like to add? Feel free to vent them below. <3

Leave a Reply

Your email address will not be published. Required fields are marked *