App crashes are a mobile developer's worst nightmare, especially repeated crashes which will drive your users to uninstall your app and run away.
In the web world, norm uptime is 99.9%. For mobile apps, though, it’s 99% (i.e a crash rate of less than 1%).
Apart from testing for every possible scenario, which is nigh on impossible, one way to ensure your app’s stability and measure critical user flows is to use a cloud-based crash reporting solution, such as Crashlytics (now Fabric), Critterism (now Apteligent), or HockeyApp. At Quidco we opted to use Crashlytics for our iOS version 2.0 app which we released back in 2013, and continued to use it for Android. Crashlytics is a great tool. It's powerful, free and provides a nice looking and comprehensive dashboard for non-technical users. It has helped us track down and solve minor, major and critical issues on both platforms.
However, when it comes to monitoring capabilities, Crashlytics cannot compete with Application Performance Monitoring tools such as New Relic, one of the top of the line APM tools currently available on the market (Appdynamics, Dynatrace). That is why for our most recent apps at Quidco (iTunes, Google Play), we decided to replace Crashlytics with the New Relic Mobile SDK (we already used New Relic at Quidco to monitor our back-end and front-end web apps). In doing so, we got:
- More mobile device details,
- Mobile user interaction traces,
- End-to-end monitoring (Network map, Http Requests, Http Errors, etc.),
- Custom dashboard with almost real-time analytics platform (New Relic Insights),
- Alerts for critical performance issues.
Last but not least, with New Relic Insights and NRQL — an SQL-flavored query language — you can create real-time dashboards to show data about end-user experiences, mobile activity, and server transactions. Insights is an awesome tool and there is good documentation for writing basic queries but you have to dig into the New Relic forum if you need to present more complex data.
You can even link dashboards and create Data apps to explore your business data… but that’s for another time!