Challenge: Yelp recognized that its previous crash reporting tool provided inadequate search functionality for developers and caused a slow cold start Android app launch for users.
Results: Yelp has achieved a 99.98% stability target using Bugsnag to improve its app stability. As a result, Yelp fulfills its promise of a dependable and fast user experience, which is reflected in its impressive Google Play ratings.
Yelp, a popular local-search platform that connects millions of consumers with great local businesses, is tied directly to the consistent delivery of a stable and expeditious mobile app experience.
To live up to expectations, information must be instantaneously available to users in their moment of need, which means app crashes are completely unacceptable. As Antonio Niñirola, Yelp’s Core Android Engineering Manager, explains, “If an app crashes twice, I’m going to uninstall it because it’s a bad app. I don’t care which app it is. Yelp aims to never be in that position.”
As the Android team has grown at Yelp so has the need for a stability monitoring solution. While the original team was small and able to work together to figure out why a crash occurred, today’s team and development process have grown to approximately 50 contributors for every weekly release. Stability and crash monitoring are critical for managing this speedy release process.
While Yelp started with an internally developed tool, they quickly realized it was difficult to maintain and wasn’t worth the investment. They switched to Crashlytics but encountered challenges which led them to start exploring other tools. “We like to have as low a cold start as possible when the user starts to use the app for the first time,” according to Antonio.
Yelp’s Android team was the first team within Yelp to select Bugsnag as its stability monitoring solution after evaluating it against Crashlytics. The iOS and web teams have subsequently adopted Bugsnag after hearing about the numerous benefits.
The Bugsnag Releases dashboard is used to see adoption numbers and the stability score for each release which gives a clear understanding of its health. Since the Android team does an alpha release every day and a beta release every week, the ease of identifying problematic releases is key to their success.
“Bugsnag makes it easy to receive an alert whenever something goes wrong, and is extremely quick. Alerts allow triage to occur without delay, and Bugsnag has no negative impact on app starts. Bugsnag’s error libraries are completely open source, which allows us to actually look at the code.”
— Antonio Niñirola, Engineering Manager
Antonio also finds that the strong search functionality further accelerates the debugging process. When a bug is assigned, developers can easily find the information they need and Bugsnag provides more intelligent error grouping than competitor products.
With Bugsnag’s integrations to systems like Slack and Splunk, Yelp benefits from seamless information sharing across systems. For example, release information from Bugsnag is pulled into Splunk and merged with other internal metrics and data sources in order to make data-driven decisions that impact the broader business.
Antonio and his team appreciate the strong feedback loop to Bugsnag. “Over the years, we’ve communicated a lot with the Bugsnag team, and a lot of our feedback has been addressed,” Antonio states.
Bugsnag is now part of Yelp’s release management process, and the stability score is the main metric used to determine success in weekly releases and staged rollouts in Google Play.
As a result, Yelp updated their stability target from 99.7% to 99.98%. They also reduced their APK size by approximately 50 percent, thanks in part to Bugsnag’s small library size.
Since adopting Bugsnag, the Android team has noticed a decrease in the number of crashes reported by their beta group in Google Play. Yelp attributes part of their release process improvements to the implementation of Bugsnag and their ability to find crashes before they release.
“I would say that crash reporting is one of the main things you should have in your app. It’s super important to have visibility, especially within a large organization like Yelp. Detection is 100% faster when you have crash reporting.”
— Antonio Niñirola, Engineering Manager
Also published here.