Monitoring your mobile application
You will have a lot of ideas on how your app will be used by the users, and that’s how you create the first version of your app. In that process, you make assumptions which may or may not hold true in the wild. People may not discover certain features. Something or the other will break, the application may crash. The only way to know is to monitor your app, and use that data to improve the experience going forward.
In my opinion, you should monitor the following:
Number one priority for you as a mobile developer is not to let the app crash. However, it’s inevitable. The app will crash, and you need to know why, when, for whom, and how it crashed as soon as possible. That is the reason Crash monitoring is the most important one to track.
There is Firebase Crashlytics, which is free. There are also paid services such as BugSnag & Sentry.
While crashes are the worst possible outcome, slow/unresponsive app is the next. Nobody likes a slow, laggy app. This experience may be the result of:
- Slow APIs
- Rendering issues
The backend servers will usually monitor the API response times, but this isn’t sufficient. It doesn’t reflect real world scenarios. API response times depend on network as well as backend server. Monitor API responses on frontend as well to understand the issues. This will be far more realistic.
Rendering issues are usually the result of sloppy code. Follow the basics performance optimisations suggested for your platform. For ex. minimise the re-renders in React Native. Monitor frame drops.
Firebase network monitoring and firebase performance monitoring are the free tools you can use. There are also other tools like Instana, Instabug, and Appspector.
3. User behaviour
So far, we have only covered the codebase. While it lets us know about the crashes and performance, it tells nothing about user behaviour. What features do people actually use? How do they navigate the app? Answers to these questions help the product prioritise various features, and optimise the app to provide the best UX possible.
This is usually what people mean when they say “app analytics”.
You can record user journey, create funnels, and determine the pain points in the app. Mixpanel and Amplitude are what I have experience with. Both are quite good. Google analytics may also be sufficient if you are looking for a free option.
Along with that, you can use a service like UXCam to get actual screen recordings. Such recordings can be very useful to visualise how the app is used in real world.
- Monitor the code
- Monitor the app usage
to provide the best possible user experience.