Most applications do not generate revenues from paid downloads, but they serve other purposes. They can generate revenue with adjacent services like advertisements, in-app purchases or as a channel for larger service offerings, like mobile payments, retail, customer service, auction sites, banking applications or engaging customers with your brand.
If your application is built as a part of larger mobile strategy and it gets uninstalled due to bugs or other failures, you have limited your possibility to generate any revenues with your strategy, and a lot of expensive development and marketing work is quickly wasted.
Low ratings come from users who have problems with an app crashing, and increasingly because of issues after a new version of the app was issued.
The 5 main reasons, why the app gets uninstalled are:
- Buggy. In a crowded market of apps, people will not give a chance for a buggy app, that crashes on their devices, looks bad or simply does not deliver.
- Paid/Free. Paid apps are more unlikely to get uninstalled than free apps. Nowadays majority of apps are free-to-download and monetisation is based on in-app purchases or other transactions. The main concern for application developers is to keep users happy with the application and engaged with the product.
- Novelty. Small apps, that have just some fun value, usually get uninstalled pretty quickly.
- Completed. Well, if you have completed all the levels of an app, why leave it on your device.
- Replaced. Though competition makes certain apps obsolete and they get uninstalled/replaced by another app. This is the case especially when you put your efforts into post launch customer issues due to lack of QA rather than implementation of new features.
Testing and debugging typically take up around 30 to 40 percent of app’s total development time. If the complexity of the app increases, it could go up to 50 to 60 percent. Repeatedly testing an app, especially on Android, where users have a variety of devices and run different versions of the same operating system, is imperative.
Doing all that manually is practically impossible, but with help of test automation and device cloud offerings like Testdroid Cloud you can do it. Running automated tests as part of build process enables you to focus on the most important thing: Innovating and adding new features with confidence that you do not break old functionality and that your app really works on wide variety of real devices.
There are big differences between devices even from the same manufacturer, even with the same OS versions, that it would be naive to think that testing on real target devices is not necessary. We have seen apps working fine on Galaxy Nexus with Android SDK 4.1.1 but crashing on Nexus with Android SDK 4.0.4.
If you test the application on real target devices, you will spend less resource on customer support and can spend more time adding new features, increasing your chances of getting long term revenues from your mobile strategy!