Posted by Rebecca Gutteridge, Senior Developer Relations Engineer
Hey! I’m Rebecca Gutteridge, a senior developer communications engineer at Google. As someone who works closely with developers to understand how we can improve the Android platform, I’m passionate about helping developers improve the quality of their apps to create amazing experiences for users. In the year In 2022, we announced the Android Studio App Quality Insights (AQI) window, which allows developers to discover, investigate, and reproduce issues reported by Firebase Crashlytics, directly in the context of your local Android Studio project. This is a big step in how Android developers can improve the stability of their apps, and I wanted to learn more about the evolution of how mobile developers have been able to manage crashes over the years. You can watch a behind-the-scenes video by AQI here and in a recent episode of #TheAndroidShow.
The early days of disaster management
I first spoke with Anise Davis, VP of Engineering at Meetup and Android GDE. She has been in the mobile development space since 2010 and has extensive experience in designing user experiences.
“In the early days, developers thought deeply about user crashes, but they didn’t have the tools to replicate or debug the problem, or understand which users were being affected. I remember spending a lot of time reproducing issues based on small bug reports.
I remember once trying to recreate an experience in a certain country, and no matter how many times I tried, I couldn’t replicate it. It wasn’t until I went there in person, that I realized people often use 2G. I never got around to testing the relationship type!” – Anise Davis
Firebase Crashlytics changes the game
Crashlytics was introduced in 2011 and helped developers quickly track, prioritize and fix app crashes. Anise tells me this is a game changer for disaster management.
“We are now able to identify which devices are experiencing problems, report emerging issues, and ultimately show failures visually to create buy-in for urgent work from non-technical stakeholders.
My team received crash reports for a specific Meetup app, but we were unable to reproduce the issue due to how inconsistent it was. First, Crashlytics helped us narrow down which features to investigate. We found a crash caused by a null pointer difference on data that we didn’t think would be null, so the crash didn’t even seem possible! An engineer on my team was able to use this information from Crashlytics to determine if the source was a seed condition that led to a void, and then he was able to fix it. – Anise Davis
What a sly mistake, how wonderful!
Behind the scenes of AQI
I wanted to learn more about the idea behind AQI, so I spoke with David Motsonashvili, a software engineer on the Firebase team who worked on the first prototype.
“The original integration idea came from our quarterly Hackweek, where we could experiment with our own projects. We know Android developers use Firebase Console and Android Studio, so I had the idea to integrate Firebase into Android Studio to reduce their need to switch between the two.”
The first prototype of this project was integrated with Firebase Performance Monitoring and Android Studio, but we realized that Crashlytics as an integration in Android Studio would have a greater impact on developer workflow, so we headed in that direction instead and the rest is history!” – David Motonashvili
I love that the idea came from wanting to help developers and make our tools easier to use! I asked David if he had any fun stories about the project.
“Due to API limitations, we had to be very aggressive about displaying Crashlytics crash data for our test app in the IDE. It was a really fun project to learn how to work around this during Hackweek! – David Motonashvili
During Hackweek I wanted to better understand how AQI grew from an idea to where it is today.
Once we launched the first developer preview, we tested it with a few internal Google teams, and they loved it! We started testing this as an early access program with Android developers. Among the companies we spoke to were Adobe, Luno and Meetup. They had very valuable feedback that directly contributed to the roadmap. One example is when we learned that multiple teams needed a place to collaborate within AQI, so we actually moved forward with adding the Crashlytics note feature to AQI. – David Motonashvili
Modern disaster management
Anise and her team were early testers of AQI, and it was interesting to know what they thought of the feature.
“I’m happy to be able to go directly to the code from a link in the stack trace. It was a feature in Android Studio you never knew you needed! I especially love that you can filter out problems based on different variables in your app. Every engineer I know and work with is committed to delivering high-performance, quality code.” It’s interesting. Application quality insights are the next step in the evolution of crash management, which can help engineers have more agency in resolving crashes, while also working on exciting new features.—Anise Davis
Of course, we’ve come a long way with tools that allow developers to manage bugs and crashes.
Start with AQI
If you’re ready to try AQI for yourself, download the latest version of Android Studio. You can also check out the documentation, a guide on Medium, and our demo video to learn more about its usage.