For mobile-first or mobile-focused companies, accessing real-time data about the health of their mobile applications is crucial for proactively addressing issues. Unfortunately, most performance monitoring and crash reporting tools delay sending data for anywhere from a few hours up to an entire day.
That's one of the many ways that Embrace differs from traditional monitoring solutions. We provide real-time, high-fidelity session data from users in production. This means that when an error occurs for a user, you'll know about it within minutes.
We've found that real-time data helps our customers:
- Improve release monitoring
- Instantly view the cause of a complaint
- Instantly receive proactive alerts
- Improve time-sensitive live events
- Optimize workflow efficiency
Here's an in-depth analysis of how real-time data makes each of the above benefits possible.
Improve Release Monitoring
As you release a new version of your app, you go through phased rollouts that look like this:
If you're using a tool like Firebase to detect issues, your data could be delayed anywhere from a few hours to an entire day, limiting the time your engineering team has to address and fix these issues.
In addition, delayed data gives a false sense of security about a new version's performance. As a result, more users will download a bad release before the mobile team has a chance to spot a regression.
This is something that Wei Wu, a Senior Software Engineer at Wish, struggled with when they used Firebase before switching to Embrace.
He says, "When I was managing a release, we'd usually get notified of crash spikes at midnight the day the crashes started happening. This delay in getting data prevented us from being able to get ahead of issues early."
With real-time data, engineers can instantly spot regressions and immediately start troubleshooting, rather than waiting up to 24 hours to take action.
In addition, if there is a major bug in a new release, the team can pause the rollout, limiting the opportunity for the resulting bad experiences to lead to angry reviews and churn.
Embrace also collects data from every single user so you can see the precise impact of release issues in real-time.
As Alvin Yu, the Senior Software Engineer for iOS at GOAT says, "Before we send a new release to every user, we check Embrace to see the impact of any issues that pops up. We can see where the problem occurred in the app and prioritize based on the issue's severity."
With Embrace, once an issue demands attention, the mobile team can dive into every affected session's technical and behavioral details. By reproducing issues on-demand, mobile teams can immediately get to the root cause and greatly reduce the time to resolution.
Instantly View the Cause of a Complaint
If a user has a poor experience in your mobile app, they will likely leave a negative review on social media or the app store. Mobile teams want a predictable way to uncover what went wrong, so they know whether the issue was caused by a development error or other circumstances. Unfortunately, this isn't always possible as most tools have reporting latencies.
For example, Instabug has a 6-hour delay, and Firebase latencies range from a few hours to 24 hours.
This is a problem, particularly for those with a large user base, because an influx of negative reviews can be detrimental to the business. This is particularly true during a feature launch or an expansion into a new market. Therefore, your engineers need to be able to identify the problem quickly to curb a stream of negative reviews.
With Embrace, this is possible. You can immediately look up the specific user that complained by plugging data provided by Google Play Console into Embrace.
For example, find the exact review you want to look up, and copy the time, device, app version, build, and OS version directly from the review.
From there, within the Embrace dashboard, you can filter by that criteria to hone in on the sessions sharing those characteristics. By comparing the timestamps, you can get to the individual session where the issue occurred.
You can get to the session even faster if you can identify the user in your backend. With Embrace, you can use a unique identifier to tag users and look them up directly to review all of their sessions.
With our Session Replay feature, the mobile team can understand exactly what happened within the session and fix the error within minutes of a review posting.
In contrast, other crash reporting tools would just show you that a crash happened (if the issue happened to result in a crash) and leave it to the developers to determine what caused it. This results in mobile engineers waiting for incomplete data that frequently is not actionable enough to identify and solve issues.
For a deeper dive on how Embrace empowers efficient issue remediation in production, check out our on-demand webinar.
When an error occurs in an app, mobile engineers want to be the first to know about it. They don't want to discover it from angry customers, the product team, or an executive. However, if you don't have proactive alerting, it will result in slower identification and resolution times, negatively impacting customer experience.
In addition, the mobile team has to drop everything and scramble to fix the problem, pulling them away from the Nirvana Box of enhancing the product.
Sure, they might have alerts from their crash reporting or performance monitoring tool, but these alerts are often noisy and not targeted enough for their exact needs.
For example, a typical Firebase crash alert is fired based on the percentage of affected sessions within a one-hour window.
This is a problem because some issues are much more critical than others. For example, if an error occurs during the purchase flow, you might want to set much lower thresholds than errors from an endpoint that serves product images.
However, Embrace allows you to set targeted alerts for many metric types, including crashes, logs, and network calls. You can set specific thresholds and time windows to control precisely when you want to be notified.
Therefore, with real-time data, the instant an issue you care about arises, you'll receive an alert before it gets out of hand.
With proactive alerts, we can also give you coverage for issues beyond your control. For example, if Facebook's SDK is breaking your app, your mobile team doesn't have to spend time wondering if it's something they did or a third-party issue. Instead, you'll instantly receive an alert from Embrace telling you that it was a third-party SDK so that you can go in and disable it without wasting time.
However, with a monitoring solution that has delays in processing data, you won't be able to react quickly to outages before they affect many users.
Improve Time-Sensitive Live Event Performance
For many businesses, a large portion of their revenue is tied to a live event or timeframe. For example, this could be a live event like Coachella or an online sale like Black Friday/Cyber Monday.
In this case, any error that crops up has a significant impact on revenue. Therefore, it's essential to have real-time data so that the engineering team wastes no time identifying the issue.
With Embrace's real-time data, you'll receive an alert within minutes of when the error occurred to minimize downtime as much as possible.
In addition, Embrace collects complete session-level data (including every user action and technical event leading up to the issue), so it's much easier for the team to diagnose the issue than with traditional tools like Firebase, which only provide the stack trace.
For example, one of Embrace's customers is a POS solution for large events. At Coachella, the POS system was experiencing issues due to the sheer number of people trying to scan wristbands for admittance. The backend was struggling to process all the transactions, resulting in server errors.
Thanks to the real-time data enabled by Embrace, the mobile team was alerted about the outage and could immediately uncover the root cause. The engineers were able to slow the import of data to relieve pressure from the backend, and the system could continue to function.
One of our other customers is a large e-commerce company that relies on flawless mobile performance for Black Friday sales.
Unfortunately, this past Black Friday presented them with a server-side outage on curbside delivery orders. The issue was costing them thousands of dollars a minute. With traditional reporting tools, this may have taken them hours to become aware of, though with Embrace, they were able to identify and quickly resolve it.
Optimize Workflow Efficiency
Mobile engineers and QA teams work together to improve app quality and performance, but the workflow is significantly slower without real-time data.
Specifically, the workflow usually starts with a QA engineer discovering an error during testing and then trying to reproduce it manually. Unfortunately, this is rather difficult given that there are many unknown variables:
- What are the exact steps needed to trigger the issue?
- How long does it take to trigger the issue?
- Does the issue depend on very specific app usage (e.g. precise sequence of screens visited and user actions taken)?
- Does the issue depend on device configurations like dark mode?
- Does the issue depend on device state like memory, CPU, or battery?
These variables make it much more difficult for the QA team to send reliable issue reproduction steps to the engineering team, which slows down the testing process.
Fortunately, Embrace offers a solution to this problem. Rather than playing around with the app to try and reproduce the error, you can look up the exact session in Embrace the instant it occurs and send that to the engineers. The time saved allows the mobile team to uncover and solve more issues during QA, reducing the number of bugs that make it into production.
Without real-time data, QA would spend time manually creating bug reports. Instead, they can seamlessly share actionable information with minimal effort.
Move Faster with Real-Time Data Today
Real-time data is essential if your business depends on delivering flawless mobile experiences.
Whether it is monitoring a live event or a new release, real-time data significantly minimizes risk. A mobile data platform like Embrace can proactively alert the mobile team to issues and provide the data needed to prioritize and solve them.
While plenty of tools can offer data with a delay, Embrace is the only solution offering 100% of the data from 100% of sessions in real-time. We are the comprehensive solution built for the modern mobile team.
If you want to see what Embrace can do for your team, schedule a demo today.