How to build mobile apps that can recover from crashes in real time
Coding errors AKA bugs can fail a live app. In absence of a quick response, they can cause serious damages. Find out how to be best prepared for such a situation.
Back in 2016, Amazon’s app had a major glitch. It was Amazon Prime Day when thousands of Prime members get exclusive deals. But due to a bug, users were unable to add items to their cart. As a result, many Prime members were affected and Amazon lost a ton of money. While Amazon could afford such losses, your business might not. Is there any way out of such situations? We’ll talk about few damaging impacts of such issues and methods to recover.
Loss of users, reputation, and money!
Users hate it when an app crashes. They are not likely to show any mercy and just stop using it. A recent study finds that app crashes increase user churn rates by 6 times the average. They also decrease next-day app opens by almost 8 times the normal open rate.
Abandoning the app won’t be the end. Users share their buggy experiences on social media. They write bad remarks and give poor ratings in the Store. A startup reported that even a .1 drop in an online app rating caused a 5% decline in downloads, and a .3 decrease resulted in a 60% drop.
App crashes are a major reason for downtime of an app. For a small business with annual revenues of $10 million, a downtime of even 1% can cause monthly loss of $8000. At a time when costs for retaining and acquiring users are skyrocketing, downtime incidents are a major drain on cash flows.
The usual response in such situations
When companies find a live app crashing the usual response is to fix the issue by rolling out an update. This works when the issue isn’t critical and not affecting the business, however, in scenarios where the users are not even able to access the core functionality of the app, every second counts, and losses compound with every passing minute.
Time is limited when you need to eliminate a critical bug. App stores can take anywhere between few hours to few days before the update is even available to users. Once available, it takes several days (even weeks) to propagate through the entire user base. Take the case of iPhone users. As much as 20% of iPhone users do not update their apps even after a week. 35% users update their apps once a month or never. Such delays are unviable if the issue being fixed is major.
Is there a better solution?
At Devathon we fix live apps in real-time without rolling out an update through the Store. For this magic to happen, development teams need to be prepared by integrating the app with the right tools before a version is released on the app store. Let’s understand this in detail:
The first step is to put proper notification mechanism in place. This is to instantly alert the concerned teams if the app suddenly starts crashing for a significant number of users. This is important because teams are often unaware of issues till users report them. By this time, some damage is already done. To prevent this we should use error reporting services like Crashlytics. These services report crashes along with logs that help in identifying the root-cause, thus accelerating the fix.
The second step is to have a real-time bug fixing tool like Hansel or Rollout. At the time of building the app, integration with these tools helps inject hooks in all critical functions of the application. These hooks can be controlled from a central dashboard where you can select the version and mobile platform that needs a correction. In the case of a bug in the live app, the hook corresponding to the faulty function can be activated. On activation, app fetches the patch and applies it, thus fixing the issue. All this happens without any interference from the user and without the need for an app update. Such modifications are permitted by the app stores and do not require any explicit approval.
As the final step, it’s usually a good idea to reach out to affected users by sending a custom message via push notification, email or SMS. This helps the users feel taken care of and minimizes the damage or loss of business.
Need expert help with the development of your mobile apps? Drop a note on firstname.lastname@example.org to start a conversation.
Let’s look at a fictional case for a better understanding of how this approach can really save your business from desperate situations:
Sally is the founder of a 2 year old e-commerce startup. Their app users have grown multi-fold during the past year ; increasing by few hundred thousand users. The holiday season is around the corner and retailers have started gearing up for this opportunity. So is Sally, as she anticipates the seasonal sales to account for as high as 30% of their annual sales. Sally senses tough competition and plans to release a new version with a promo-code feature to offer discounts. In order to meet tight deadlines their development team work day and night building this feature. In the end, they were successful in rolling it out before the Holidays.
However, based on her experience, Sally was aware that the rushed update could cause unforeseen issues in the live app. During peak sales, such incident would spell disaster as recovering from any such issue itself can eat up a good part of time. Being prepared for such situations, Sally made sure that their app is integrated with right tools which helped them to fix the app in real-time. She and her entire team feel a lot more confident going into the Holiday season and are completely focused on hitting a record number of sales.
To sum up
Unexpected bugs in live mobile apps are a threat to not just business growth but in some cases, even very survival of the business.
Most development teams rely on app store updates to roll out fixes in case of such issues. This, however, eats up a lot of time and doesn’t help with real-time response to contain the damage.
There are better and newer approaches to prepare your app for such desperate situations. Adopting them is a great way to derisk your business.