Things to remember while taking your mobile app live on App Store
Customer tolerance for Mobile App is low. Mobile App users will not waste their time on an app that is inferior in quality especially if your competition has a better and more user friendly app. Hence your mobile app must follow some basic rules to avoid these common mistakes, for a successful app and best user experience. Based on my experience in developing 100+ Mobile Apps, below are the top scenarios which should be validated before the app goes live.
Generally people, even experienced ones, focus a lot on functional testing, but forget to do the basic testing which is common across all the apps. Following test cases will make sure your app is stable, future proof and constantly delivers on expected features.
-
Handle Logout : Ensure when a user does a logout, you clear all user specific data from the app and unregister user from push notification services. You don’t want to send push notifications to a user who has done a logout on your app.
-
Force Update : Ensure your mobile application has a force update mechanism to force the user to update the app and get the latest version or a version that works well with the latest updates. Force update logic should be based on major and minor versions of the application.
-
Test App Upgrade Process : Always be sure to simplify the process for users to update the app. The user should remain logged in and user data intact after the update if he/she was logged in earlier in the last version of the app before the update. To ensure App Upgrade doesn’t leave the app crashing for existing users, ensure you are taking care of migrating old data model to new data model if something has changed in that area.
-
App Permissions : Ensure the app functions correctly, if any of the required permission is denied and the app needs to use that specific functionality then the app should ask for permission again or prompt the user for not having the needed permission.
-
Handling Offline Scenarios : Ensure the app can handle scenarios if the user loses the internet while using the application or he starts the application while offline. The user should remain logged in and be allowed the user to have access to the part of the app where internet is not required.
-
Monitoring of Crashes : Your mobile app should have crashlytics or similar sdk integrated to capture app crashes. Irrespective of how many tests you run, due to the wide array of possibilities existing in different devices and operating system versions, your app will come across scenarios which are not handled correctly and causes the app to crash. These crash logs help you locate and resolve these issues quickly.
-
Robust Login / Signup Process: Many times customers are lost in the signup / sign in process due to a wide variety of issues. This needs to be tested thoroughly. Ensure you trim username and password fields for white spaces and a proper message is displayed if the login fails. Ensure you capture analytics on the signup / login page to track reasons of user fallout.
-
Handling of Push Notifications : Make sure your app is able to handle push notifications effectively in the following situations:
-
When the app is launched
-
When the app is in use
-
When app is in background
-
When app is killed
-
Your App should also be able to handle all the different type of push notifications possible in the app such as
-
Push notifications containing images
-
Push Notifications having third party URLs etc.
-
-
-
Different Screen Resolutions : This is a time consuming task, as it requires you to verify your app to look correct on all supported screen resolutions. With the wide variety of devices available, this can be costly and time consuming. I would recommend using a third party service such as browserstack or amazon real devices which gives you access to a wide variety of devices on which you can install and run the app.
-
Response Time / Loaders : Monitor response time of all API’s and ensure there is a proper loader at each operation, which informs the user that something is happening in the background, this is very important, else your user is confused if anything is happening on the app or not.
-
Handle API Failures gracefully : Time and again, for multiple reasons API’s might fail to respond. Ensure you have a proper message for the user to help him retry or reach out for help. Such scenarios should be captured efficiently and reported to be fixed.
-
App Icon : Ensure App Icon on Android can handle rounding and other possible scenarios. Different Android Phone vendors customize the user experience of Android, which sometimes require you to do extra work on your side to support those.
-
App Token : The app should be able to handle refreshing tokens, if the auth token expires, ensure the user remains logged-in to the app. As the mobile phone is considered personal, it is important that the user doesn’t get logged out.
-
Have a feedback option in your Mobile App : There should always be a feedback option within the app, where the user can send his or her feedback to the developer. I always prefer our users to send feedback using this channel over sending remarks on App Store.
-
Mobile Analytics : This is the most important implementation needed to ensure you constantly improve your app to continue delivering on user experience. Ensure you are capturing enough information to understand how your users are using the app.
-
All strings should be a strings file to support app localisation : This a common mistake, developers make. All strings used in the application should be picked up from the common strings file, so that the app can be localised later as per geographical needs.
Above rules serve as a guideline to ensure a high quality app that is user friendly and easy to use. Apart from all these points you should also be very careful in choosing your team to develop the app in the first place. An in-experienced developer would appear costing you less but in the long run cost you more both in terms of time and money. If the foundation is not set up correctly, you will end up with an app that your users hate, opposed to an experienced developer who will not only deliver a worthy app for your brand name but also advise you on what the best practices are to follow for your app.
On the topic of choosing the right team, Metadesign solutions has a good deal of experience when it comes to mobile app development. We have more than 100+ satisfied customers, most of whom are still working with us on many new projects. We always align ourselves with our customers to make the right software needed for their business.