Mobile application engineers, designers, support engineers, and product managers face specific challenges from the mobile community, such as expectations of fast load times, continuous availability, and a frictionless in-app experience across a wide range of devices. When these expectations aren’t met, consumers are likely to leave bad app store reviews, uninstall the app, and switch to another competitor. Mobile teams need tools to better understand how users are interacting with their releases so that they can address feedback, fix bugs, and design new features efficiently.
We’re proud to announce that Datadog’s Mobile Session Replay supports multiple languages and frameworks: native iOS (Swift/Obj-C), native Android (Java/Kotlin), and React Native, ensuring extensive coverage for developers working across various platforms. Mobile Session Replay provides a visual reproduction of user engagement with your application on a mobile device, enabling developers to recreate bugs and understand where things went wrong from the user’s point of view.
In this post, we’ll show you how to use Mobile Session Replay to:
Reproduce customer issues to troubleshoot bugs
Mobile developers and support engineers often have to reproduce bugs reported to them by customers in order to troubleshoot issues in their applications. This can be a drawn-out process that involves going back and forth with the customer, asking them for screenshots and information to try and understand the user’s interaction with the app when it throws an error.
Mobile Session Replay provides a visual recreation of real user journeys through your application, effectively reproducing the bug for you to help save time and eliminate guesswork. This recreation pairs existing troubleshooting data with a visual aid without slowing down your application, ensuring very minimal overhead for seamless performance. Developers gain accurate insights into user interactions while leveraging fine-grained masking options to obfuscate sensitive data, protecting user privacy and complying with data protection standards.
For example, say you’re an engineer on an e-commerce app. You receive a support ticket from a user complaining that when they tried to check out, the app froze. This doesn’t give you much information, but with Mobile Session Replay, you don’t need to ask them to send a screenshot of the issue or describe it in more detail. Instead, you navigate to the RUM sessions page in the Datadog app, where you can filter your sessions by a number of facets, such as service, device, operating system, user, and more. In this case, you filter your sessions to show only those from the user who sent in the ticket (@usr.email:<user-email>
) and for sessions that include replay (@session.has_replay:true
). This pulls up a list of relevant sessions.
From this list, you find a session with an error and click to see the session detail page, which shows you a waterfall of the resources loaded—along with key performance metrics.
From here, you can click Jump to Replay, which shows you a video-like reproduction of the entire user journey, alongside a timeline that breaks the session down into every event, view, action, and frustration signal. Mobile Session Replay supports extensive coverage of UI frameworks, including imperative frameworks like UIKit on iOS and XML on Android, and declarative frameworks such as SwiftUI for iOS and Jetpack Compose for Android, ensuring full coverage of your mobile app stack. This makes it easy to jump to individual events and pinpoint when and where issues occurred.
From the Session Replay, you are able to see that shopist.io
flashes the user a discount code, which they then go to apply. Right after applying the code and checking out, you watch them get an error preventing the checkout from being successful. You now know the problem is due to the discount code, as seen directly in the recording. To troubleshoot and understand why that discount code is broken, you can trace the root cause to the backend with the APM correlation. Because APM integrates with RUM, from this side panel, you can pivot to traces and logs correlated with your mobile RUM data.
The trace view visualizes the end-to-end path of the request initiated by the frustrated user action. In this case, it reveals that the action was yielding a long request to a third-party API that eventually timed out. You share this information with an engineer on the mobile team, who informs you that they recently released a new deployment that fetches promo codes from this external API. Further investigation into the API reveals that it was recently deprecated. With this knowledge in hand, the team can switch to a different provider so that the request can be made successfully.
Mobile Session Replay provides this level of granularity in identifying UX issues without sacrificing the privacy of individual users. Its privacy options allow you to obfuscate some or all customer data in your sessions so you can leverage Session Replay without leaking sensitive information. By default, all sensitive information is masked.
Visualize the user journey to improve apps
Mobile Session Replay can help mobile teams understand how users interact with their features, thus improving developers’ ability to create apps that serve customer needs and stand out in the crowded marketplace.
To continue our example from above, say you’re a PM on the shopist.ios
mobile team, and you want to understand how users are interacting with the new promo code offering. You navigate to Session Replay and filter for sessions that contain replays and also engage with the feature you’re interested in, Shopist_PromoCodeUI
. You notice that several sessions contain Frustration Signals.
When you watch the Session Replay for one of these sessions, you can home in on the action that caused the user frustration.
As in the example above, you notice the error is occurring when shopist.ios
is attempting to calculate the tax and shipping cost after the user enters a promo code. You also see where the frustration signal occurs—the user repeatedly tries to tap on the apply coupon button after the discount fails to register. This frustration point is likely losing you customers, so you get in touch with an engineer on the mobile team and work with them to design a fix to improve the customer experience and prevent users from abandoning their purchase. Once the promo code is working properly, you can then review the new user sessions to determine if the prevalence of frustration signals has decreased and whether the feature is generating increased revenue.
Use Mobile Session Replay to understand user experience and improve feature development
Datadog Mobile Session Replay offers the tools for mobile developers, designers, support engineers, and PMs to better understand how users are interacting with their applications. With support for multiple languages and frameworks, extensive UI framework coverage, and fine-grained masking for data privacy, Mobile Session Replay helps teams to reproduce bugs, troubleshoot issues, and design user-friendly, high-performant applications that will stand out in a crowded mobile marketplace.
Part of the RUM search engine, which allows you to perform fine-grained searches for the exact session you’re looking for, Mobile Session Replay is complemented by APM tracing and Log Management so you can get a more holistic view of how application performance correlates with user behavior. And you can now leverage Mobile Application Testing to deploy new features safely.
To learn more about how to leverage the power of Mobile Session Replay, check out our documentation. If you’re new to Datadog, sign up for a 14-day free trial.