My Smart App

Let’s go straight into issues and improvements. Please note, this is not my personal opinion, these are best UX and UI practices based on user testings. I summarised the results with the severity of the issues:

1. Minor: Causes some hesitation or slight irritation.
2. Moderate: Causes occasional task failure, delays and moderate irritation.
3. Critical: Leads to task failure. Causes user extreme irritation.


The first-time experience with your product is everything. Onboarding is one of your users’ first interactions with your company, and can make or break the future of your relationship. It’s also one of the most action-heavy stages of the funnel; users actually need to put in effort in order to realize the value of your product.

The average app loses 80% of its daily active users within the first 3 days post-install. Most people download an app, open it once, and delete it. This happens because users try out a lot of apps but decide which ones they want to delete within the first few days.

The first experience with the app plays a key role in creating overall impression (either good or bad). And when users open a new app the last thing they want to see is multiple popups in a row asking for permissions.

Problem: Early request to allow notification.

Moderate: Causes occasional task failure, delays and moderate irritation. 

Both asking your users for permission too early or for too many things at once are common mistakes. This action has a very negative impact on user experience and usually leads to the app being discarded. The app needs to be able to keep in touch with users before asking for permissions, in order to retain engagement.

A simple rule: Don’t ask a user for access until you really need it.

You should ask for permissions in context and communicate the value the access will provide. Because once users are engaged, they could be more likely to accept your requests.

A simple rule: Make sure it’s crystal clear for users what they’ll get in return for accepting the request. 

Try to explain to a user the benefits they’ll receive by giving the app access.

Note: You can only trigger iOS default permission request once per feature. The worst possible thing is for a user to deny permission at the system level, because reversing that decision in iOS is very complicated. In most cases, it’s better to “prime” your users to accept requests before the actual iOS permission request screen appears. It means using a context-building screen, a primer, and then finally the permission request. I can explain it later.

Note: whenever a permission is denied it should be explained to the user. A simple rule: You should provide feedback whenever a permission is denied.

Problem. No guest experience.

Minor: Causes some hesitation or slight irritation.

Registration is a road-block to adoption. You should provide non-signed-in journey. Request sign-up only when it is dependent on providing value. Users should be able to choose to ignore registration and continue as a guest, where they can sample and assess its value to them, before committing to register. This is even more important for apps from unknown brands, or apps that provide engaging content and which are dependent on users experiencing them before they can make a registration decision.

 When you ask for sign-up, the user should choose to continue as a guest (the user is in control). Also, first-time user should have multiple sign-up options (e.g. username / password and social sign-up) Because, while some users may prefer the faster approach of social sign-up (e.g. via G+, Facebook or Twitter), others may prefer to keep their different social profiles separate, and others again may not even be consumers of social networks.


  • # of sign-ups created and % of each option (e.g. manual, social option, etc.)
  • % of sign-in options chosen (e.g. manual, social option, Touch ID, etc.)
  • % of users that choose to continue as a guest % of users that decline permission to
  • access Smartphone resources (e.g. location, contacts, etc.)

Yes, every assumption should be turned into hypothesis and should be based on qualitative and quantitative data.

Problem: Not indicating password requirements beforehand

Critical: Leads to task failure. Causes user extreme irritation.

By making password requirements visible upfront, allowing users to unmask the password, and showing a strength meter, you can improve the frustrating user experience of creating a password.

When a system doesn’t show the requirements beforehand, users are essentially being asked to play a game where the rulebook is hidden. That’s neither fun, nor fair.

The Solution: State the password requirements, and make sure that the user can see them the entire time that the field is selected. Password requirements should be visible at the time when the user is creating the password.

Allow users to unmask the password. Seeing the password will support memory and will allow users to check their work.

Users should be able to select to reveal or hide password as they type, during sign-up or sign-in (e.g. by toggling a ‘reveal’ or ‘hide’ control) This will reduce password input mistakes, during sign-up and sign-in.

Note: Motivate people to create better passwords by showing how secure the password is.

Strength meters motivate users to create stronger passwords. Visually representing the strength of the user’s password, and showing that there is room for improvement, changes the motivation. The benefit is getting a secure password, instead of just complying with a system’s arbitrary command. It’s a slight mental shift that has a potentially large impact on security.

Problem: Asking for subscription too early.

Critical: Leads to task failure. Causes user extreme irritation.

Users should have a specific motivation to decide to purchase any subscription. When presented too early, they may skip the app and continue with the other apps. Before they decide to purchase, they need to come to a certain point of their experience. Planning and testing user journeys is a useful activity to decide on which stage we should ask them to pay for subscription.

  • Awareness. Realizing they have a need.
  • Interest. Looking for something to help with that need.
  • Evaluation. Looking at products that help with their need.
  • Trial. Trying the product to see if it meets their need.
  • Adoption. Choosing a product and using it for a while.
  • Loyalty. Deciding to stay using the product or switch to a different one.

These are a few UX improvements that I wanted to mention for the start. Great UX is the difference between products that people love and products that die off. UX is the experience, emotion, intuition and connection a user feels when using a product or service. Delightful user experiences drive word of mouth and organic virality. Bad experiences create disappointment, frustration and decrease the likelihood of using the product again. Every interaction matters. Every word matters. Every detail matters.

Share this on: