On March 22, several Android apps kept crashing on users. The apps affected included Gmail, Google, Amazon, Discord, Outlook, mobile banking applications, and many more. The app would crash if a user had it running, but some apps were stuck in crash loops, where the user would continuously be notified of the app crashing.
In this post, we’ll cover what the underlying cause of the issue was and how Embrace helps mobile teams detect and fix these types of issues.
The above image from Down Detector demonstrates the huge spike in user reports about Gmail that happened yesterday. There were also widespread reports of users being affected by this issue on Reddit and Twitter.
The underlying problem stemmed from a recent update to Android System WebView. This is a system component on Android devices that allows mobile applications to display web content. Because it is a part of the Android system itself, it affected any applications that used webviews.
In other words, this is Google’s fault. There is nothing mobile application developers could have done to prevent this other than not using webviews entirely. When outages stem from third-party SDKs that mobile teams add to their applications, they can remotely disable them to maintain application health.
But when the underlying tools from the OS are at fault, does that mean that mobile engineers should just accept that this happens and is out of their control? No, of course not! After all, users do not care about the reason the app isn’t working, only that they’re not able to use it.
Ultimately, the buck stops at the mobile team. It is up to them to minimize disruptions, and the best way to way to do this is to proactively identify the cause and have contingency plans in place to mitigate the impact.
To do that, you need a monitoring solution that’s built for the needs of mobile.
And that’s where Embrace comes in. We’re the best solution for getting in front of issues within your mobile applications. We track webview performance within every single user session. If one fails, you can decide whether you want to automatically fix it by reloading it. For example, if you leverage webviews for high-value areas like checkout, by reloading the webview you can allow the user to complete their transaction. On the other hand, if the failed webview was serving an ad, you might decide to hide the webview since it’s not something you’re able to fix yourself.
We’ve helped customers solve many issues with webviews:
- Memory leaks stemming from using too many webviews
- Blank webviews stemming from a terminated content process
- Blank webviews caused by downgrading
For this Android System WebView issue, customers using Embrace were alerted to the crash spike and could inspect the user sessions to immediately pinpoint the root cause as a failing webview. Being able to immediately reproduce every user session on-demand empowers mobile teams to detect and fix a much larger range of issues than traditional monitoring solutions.
So while webviews have traditionally been a black box in mobile applications, Embrace is here to change that. We are built to provide you with the data to uncover and solve every user-impacting issue. You need a comprehensive monitoring solution that puts you firmly in the driver’s seat. That way, when unexpected issues pop up, you won’t have to guess at the root cause.
You’ll know it immediately.
That means you no longer have to wait for Google to let you know what’s happening… or when it will be solved. After all, it took Google several hours to release the following fix: “We have resolved the issue with WebView that caused some apps on Android to crash for some users. Updating Android System WebView and Google Chrome via Google Play should now resolve the issue."
But the larger point remains — this bug should never have been released. We assume that big tech companies like Google have extensive QA in place to prevent such disruptions from ever getting to production. Yet we continue to see failures by big players. Remember the Facebook SDK outages that happened in May and July last year?
Let this be a valuable lesson that when the success of your business increasingly depends on mobile, you need tooling that allows you to identify, prioritize, and solve issues as soon as they appear. Now more than ever, you need comprehensive monitoring that shows you where failures happen, whether it’s your code, third-party code, system components, network conditions, or any number of other variables.
Choose tooling that’s built for your mobile future.
How Embrace Helps Mobile Teams
Embrace is an observability and debugging platform built for mobile teams. We are a comprehensive solution that fully reproduces every user experience from every single session. Your team gets the data it needs to proactively identify, prioritize, and solve any issue that’s costing you users or revenue.
Want to see how Embrace can help your team grow your mobile applications with best-in-class tooling and world-class support? Request a customized demo and see how we help teams set and exceed the KPIs that matter for their business!
Need help improving the performance and stability of your Unity games? Take our SDK for a spin!
Want to learn best practices for scaling your mobile applications? Check out these helpful eBooks!