Mobile App Update Challenges
A few weeks ago one of my best friends called me with a question on how to force his app users on iTunes and Android app stores to upgrade their app. After some thought the answer is not obvious as there are several use cases to consider.
While both stores will notify the users of your update they don’t force it on them. Also both stores provide the users an option to manually upgrade. Unless the user checks their apps from the either of the stores they will not know that your app has been updated.
If the user has auto updates it is still 24-48 hours before the update is pushed to the device. In the case of iPhone the auto upgrade mostly happens when it’s night time, the device is connected to the charger and to the internet on wifi.
The following are notification options you have to help your users update your app:
- First, the easy case. All your users have auto update enabled and your updates are automatically pushed to them and everyone is happy.
- If you know your users email address (i.e. Subscribers to your service) then you can send them an email notification.
- If you have implemented push notifications in your app then you can send a push notification. However, this too is an option that user can opt out of and it doesn’t guarantee that your users will update your app.
- If you know your users phone number then you can send them an SMS notification. But this also doesn’t guarantee that your users will update.
Beyond these four scenarios the uses cases get into a gray area.
For example, What if your update causes the existing app to break? Yes, this is not good design but I’ve seen it happen. Even your auto update users will be affected because of the time it can take for the stores to push the updates to the devices.
Secondly the challenge is from those users who have auto updates turned off and those who don’t manually update despite any notification to do so. Even if your update doesn’t break the app you still may need to get the latest updates to your users.
One solution to this problem is create a web service that the app can check to see if there’s an update required. Your app could query this service on app wake event to check if the version on the device is lower than the version available in the store. You also have the freedom of forcing the user to upgrade in case of breaking changes in the current app or gracefully reminding them that there is a newer version available. In the latter case you will need to implement a flag so you don’t annoy the users on every wake event.