.

Optimising Mobile App UX with Firebase

January 5, 2022

Sparkline’s Technical Integration Consultant, Rose Ann Loraine Chan, dives into the importance of tracking performance data for apps — to improve the user experience.

Today, almost everyone owns a smartphone especially for convenience: to do anything, anytime and anywhere.  With this, it would not be enough for a business to own a website. They are working on building mobile presence by creating mobile applications to acquire more loyal customers and increase conversions. The competition now lies on which business gives a much better user experience and how smooth it is to interact with the mobile app. 

“In 2021, the num\ber of mobile users worldwide stood at 7.1 billion, with forecasts suggesting this is likely to rise to 7.26 billion by 2022. In 2025, the number of mobile users worldwide is projected to reach 7.49 billion.”

Mobile App User Experience (UX) is basically how a user interacts with your app. An app with good UX makes it smooth for a user to move from one stage of their journey to the next. A lot of tools are available to help increase ROI on mobile app UX and make sure that the App is well tested before it gets shipped, stable while it's live and performing at its peak over time. Firebase helps you do just that in less time and with less effort.

Before shipping the app or rolling out a new version/feature…

In all apps, problems always arise as early as in the development stage. Not all bugs are caught during manual testing and for sure, you don’t want those nasty errors to reach your users and interrupt their task flow. Enter Firebase Test Lab

Firebase Test Lab is a cloud-based app testing infrastructure that lets you test your app on a range of devices (Android and iOS) and configurations, so you can get a better idea of how it'll perform in the hands of live users. It’s as easy as uploading your test to Firebase console’s test lab, selecting a device and configuration where you want to run your test, and actually running your test. The output: a Test Matrix, where you see the status of test/s that you ran on specific device/s. Clicking on each of the device x test combinations provides you with stats for that test execution, including:

  1. Issues encountered in testing - which will give you an  idea how to trace back the issue to your code
  2. A list of test cases - or steps included in the test execution 
  3. Logs from the execution.
  4. And even a video of the test you ran.

For Android developers, there is even a test type for those who are not into writing codes for their tests. It is called a Robo Test. Robo test analyzes the structure of your app's UI and then explores it methodically, automatically simulating user activities. You can even integrate it to Google Play to identify pre-launch issues. 

While your app is live…

Usability is one major factor for good UX and one subset of usability is ensuring the app is relatively error-free when used. Things you might have not catched during the development phase might pop up on production: could be deprecated API, uncatched errors, missed test cases, etc. You might think it's already too late if it's already in prod but the best way to make up for it and save your app rating is to get it fixed immediately to prevent more users from encountering the same fate. That is where Firebase Crashlytics aims to help. 

Crashlytics saves you troubleshooting time by intelligently grouping crashes and highlighting the circumstances that lead up to them. It makes error reporting as detailed and as human-readable as possible which makes it easier for developers to trace root cause of issue and action on it immediately. Error reporting includes (but is not limited to):

  1. File and line number where error is found. 
  2. Cleaner stack trace.
  3. App version affected. 
  4. Number of users affected (or has encountered the crash).
  5. Specific users affected. You can even use this in remarketing and secure user retention through, e.g. offering coupons via push notification or app messaging. 

It even offers crash Insights, helpful tips and resources that highlight common stability problems. There are also ways where you can customize crash reports depending on your needs and details you want captured that helps you trace the issue faster and more efficiently.

You can report on those crashes / errors either in the form of a dashboard, by integrating it with Google Analytics and BigQuery or even report on it real-time by integrating it to messaging apps like Slack

Your app performance over time…

UX is not just about making your code error-free as errors are not the only blockers for your users to have the smoothest app experience. It could be some other factor like:

  • App launch speed. First impressions are important. If your app fails as soon as the user opens it,  that will surely cause frustration, low rating and could eventually, then uninstall your app.
  • Screen load and response time. Even if your app did not crash, your users might assume it did if it is loading too slow thus causing drop offs or even churn. You can focus on key screens essential to your industry to ensure conversion task flow is smooth, For example:  
  • An ecommerce site will need to ensure checkout screens are loading at an acceptable speed and not crashing. 
  • Splash screens / Onboarding screens do not eat up too much load time to quickly onboard your users. Enough screen time to keep your users engaged but not bored. 
  • Network Request failures. Make sure APIs you use in your app are not affecting performance. 
  • App Version / Releases. How users are adapting to new features that you roll out. It is important that you keep your users engaged by rolling out features that will help make the app more engaging and easy to use. But you don’t want those new features to introduce more problems to your app. It helps speed up the troubleshooting by finding out at which point and which rollout has the issue started. 
  • Device Compatibility. Not all users have a state-of-the art device and are techy enough to even do OS updates. 
  • Geolocation. E.g. database location might be affecting a specific region.
  • And a lot more metrics to watch out for..

You can track, review and analyze a lot of these other performance data through Firebase Performance Monitoring and maintain app quality, retain users and prevent them from uninstalling your app. With not too much code needed, you can easily monitor these default key metrics indicating health of your app. 

Performance monitoring can also be customized. If there is a specific part of your code that you want to monitor, or a specific API integration that you want to keep an eye on, you can also do so. You can also monitor specific features in your app such as file uploads, image downloads and video load for a publisher app for example.

Monitoring key metrics in your app, understanding trends and regressions, can help you respond quickly and take action on issues affecting your app performance and user experience. 

To summarize…

There are a lot of threats to maintaining a good app UX. That's why it is important to make sure you plan, get ahead of the issue and stay informed of how your app is performing so you can make fast, smart and informed decisions.