Editor’s Note: This post was originally published on July 15, 2021. It has been updated to ensure content is accurate and links are current and was republished on Jan. 2, 2024.
Application performance monitoring (APM), Mobile user experience monitoring (MUEM), and real user monitoring (RUM) are three closely related approaches mobile teams are leveraging today to better understand how their apps are performing, and where improvements can be made.
And, as users invest more of their time into mobile offerings and demand flawless experiences every time, APM, MUEM, and RUM are being used to identify and eliminate critical issues that send users searching for alternatives.
In this post, we’ll cover the following approaches, their strengths and weaknesses, and how they provide much-needed visibility to mobile teams:
- Mobile APM
- Mobile RUM
- Mobile User Experience Monitoring (MUEM)
What is Mobile APM
Mobile APM is the most basic monitoring necessary for a team to know the health of their application. This monitoring system provides key insights and information about an application’s performance and usage patterns.
Performance monitoring is different from error tracking, which only reports errors and stability issues in your mobile app. Performance monitoring specifically looks to monitor the end-user experience.
Strengths of mobile APM
The primary strength of mobile APM is to help the mobile team understand the performance of the app before the errors start piling up. Knowing how the app is currently performing can help the team focus on the metrics that matter and give them actionable KPIs to improve upon.
The following are some common metrics that mobile APMs collect:
- Startup time
- Network call duration and payload size
- Network errors
- Timing of custom traces (e.g. add to cart, purchase)
Mobile APM solutions can point out regressions in aggregate metrics over time. Teams can set up and test the timing of key interactions within the app so that when it goes into production, they know the expected performance. Any significant deviations probably warrant an investigation.
The expression “where there’s smoke, there’s fire” comes to mind. Mobile APMs can indicate when an issue may have surfaced so mobile teams know when to dive in.
Weaknesses of mobile APM
Unfortunately, identifying that failures are happening within a mobile application is not the same as providing the context needed to solve them. The biggest weakness mobile APM faces is an overreliance on metrics and logs.
For example, if the mobile team discovered a key endpoint suddenly had a large increase in response time, the ultimate impact on the user could be trivial, or it could be huge. Without individual session context to know, for example, whether or not exits are caused by users force-quitting the app, the mobile team is forced to guess whether a regression deserves immediate attention based on flimsy metrics alone.
Mobile RUM, aka End User Monitoring
Mobile real user monitoring (RUM), also known as end user monitoring, is a monitoring system which provides key insights and information about an end user’s usage patterns and experience with the application. It’s an extension of performance monitoring that captures and analyzes transactions at the individual user level. Thus, it’s designed to gauge the underlying user experience, including key metrics like load time and transaction paths, and it’s a logical expansion of mobile APM’s capabilities.
Mobile teams will want to implement mobile RUM when the user’s experience with the app is starting to take priority over simple performance tracking. Remember: just because your app is “healthy” and doesn’t crash or freeze, doesn’t mean your user is necessarily enjoying the experience.
Strengths of mobile RUM
Mobile RUM is frequently added as a mobile counterpart to existing backend monitoring tools like Appdynamics, Dynatrace, and Datadog. Teams can thus extend their existing coverage to include device-side visibility. The goal is to track transactions from the device through the entire backend to discover shortcomings.
Here’s what a good mobile RUM solution tracks:
- Session-level context: breadcrumbs of user actions (e.g., taps, scrolls) and screens visited
- Device-level information: device, OS, version, region, etc.
- Network-level information: network calls, network quality, etc.
Mobile teams can be notified of a spike in a given event (e.g., network call, trace) and investigate a sampled amount of sessions to gain context.
Weaknesses of mobile RUM
Mobile RUM is an additional feature built out from a backend monitoring solution. While it functions on a basic level for mobile teams to gain insight into user actions within a given session, mobile RUM tools don’t provide the true session replay necessary for debugging individual issues.
Here are a few key weaknesses of mobile RUM:
- Limited visibility Into client-side code: Because mobile RUM focuses on the user perspective, it can have limited visibility into the client-side code execution.
- Dependency on user interaction: Mobile RUM relies on user interaction to capture data. If users do not engage, the data may not be representative of actual performance scenarios
- Inability to capture offline interactions: Mobile RUM requires users to be online and can also fail in instances of poor network connectivity.
Mobile User Experience Monitoring
Mobile User Experience Monitoring (MUEM) is a design concept defined as the ability of a system to identify its internal states by analyzing its external outputs. In layman’s terms, you can look at an observable system from the outside and know exactly what’s happening inside. MUEM leverages design and instrumentation to provide insights that enhance monitoring and logging data.
Mobile user experience monitoring is a measure of a system’s ability to enable teams to diagnose what’s happening inside without the need for guesswork or the process of elimination. When MUEM is integrated into an application, the mobile team can easily gauge its internals and navigate to the root cause of issues faster.
As businesses increasingly turn to mobile as a primary revenue mechanism, the ability to make decisions with high-fidelity data and insights becomes a key competitive advantage. To move fast, it’s crucial to have full visibility into your mobile applications:
Performance and stability
- Are users abandoning the app because the startup is really slow?
- Is the app freezing when users try to make a purchase?
- Are users dropping out of key funnels?
- Whether it’s a crash, slow startup, or failing endpoint, how does the issue affect revenue and churn?
- When a regression happens, how does it affect engagement (e.g,. session length, feature use)?
- How does in-app advertising impact the user experience?
- Are users spending more time and money in Feature A as opposed to Feature B?
- Do features have more adoption with specific user segments (e.g., device, OS, region)?
- Does a new feature not perform as well as other parts of the app (e.g., uses too many system resources, runs slow)?
- Are mobile engineers the first to know when something’s wrong?
- When a third-party SDK crashes your app, do you know before the company makes an announcement?
- Can you control precisely when your team is notified for a given issue?
If your current mobile tooling cannot help you answer these questions, then you may need to switch to a more capable data platform.
Build better mobile experiences with Embrace
Embrace is the only mobile-centric data analytics and user experience company that empowers enterprises to transform their businesses in a mobile-first world. With actionable data and insights derived from 100% of mobile user experiences, engineering and data science teams proactively uncover, prioritize, and quickly solve issues before they affect a business’ bottom line.
Learn more about how Mobile User Experience Monitoring works and how Embrace can improve your end-to-end mobile experience, by requesting a demo today.