Posted by Rebecca Gutteridge, Senior Developer Relations Engineer
Listen! I’m Rebecca Gutteridge, Senior Developer Relations Engineer at Google. As someone who has been working closely with developers to understand how we can improve the Android platform, I want to help developers improve the quality of their apps to create amazing experiences for users. passionate about doing in 2022 we announced Android Studio’s App Quality Insights (AQI) window which enables the discovery, investigation and reproduction of issues reported by developers firebase crashlytics, directly in the context of your local Android Studio project. It’s a big step in the direction of how Android developers can improve the stability of their apps, and I wanted to learn more about this evolution in how mobile developers have handled crashes through the years. You can watch a behind the scenes video on AQI Herein the latest episode of and #TheAndroidShow.
crash management early days
I first chatted with Ennis Davis, VP of Engineering at Meetup and Android GDE. He has been in the mobile development space since 2010 and has a lot of experience in helping debug user experiences.
“In the early days, developers cared 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 trying to reproduce issues based on minimal information from bug reports.
I remember once trying to debug the experience I had in a specific country, and no matter how many times I tried, I was unable to reproduce it. It wasn’t until I traveled there in person that I realized people were often using 2G. It never occurred to me to check the type of the connection!” -Ennis Davis
Firebase Crashlytics changes the game
Crashlytics was introduced in 2011 and has helped developers track, prioritize, and fix app crashes faster. Annecy told me it was a game changer for accident management.
“Now we could know which devices were experiencing problems, could be informed about trending issues, and finally we were able to visually show crashes to non-technical stakeholders, so that they could provide immediate work-arounds.” -In can be made.
My team received crash reports for a particular screen of the Meetup app, but we could never reproduce the issue because of how inconsistent it was. First, Crashlytics helped us narrow down which features to investigate. We got a crash that was due to a Null Pointer Exception on data that we never expected to be null, so it didn’t seem like a crash could be possible! An engineer on my team was able to use this data from Crashlytics to uncover that the source was a race condition that would lead to zero, and he was then able to fix it. -Ennis Davis
What an intriguing bug, how charming!
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 early prototypes.
“The original idea for the integration came from a quarterly Hackweek, where we were able to experiment on our own projects. We know that Android developers use both the Firebase console and Android Studio, so I had no idea how to switch between the two. The idea was to integrate Firebase into Android Studio to reduce the need.
The first prototype for this project was actually an integration firebase performance monitoring and Android Studio, but we realized that Crashlytics as an integration into Android Studio would have a huge impact on developer workflow, so we pivoted in that direction, and the rest is history! -David Motonashvili
I love that this idea came from a desire to help developers and make our tools easier for them to use! I asked David if he had any funny stories about the project.
“We got really nervous about getting our test app’s Crashlytics crash data to show up in the IDE because of the API limitations we had. This was a really fun project during Hackweek to learn how to work around it! -David Motonashvili
I wanted to better understand how AQI evolved from being an idea during Hackweek to where it is today.
“Once we launched the early developer preview, we tested it with some of the internal Google teams, and they loved it! We’ve also started testing it with Android developers as part of the Early Access program. Some of the companies we talked to were Adobe, Luno, and Meetup. They had really valuable feedback that contributed directly to the roadmap. One example is when we learned that multiple teams needed a place to collaborate within AQI, of course we went ahead with adding the Crashlytics Notes feature to AQI. -David Motonashvili
modern accident management
Annyce and her team were early testers of AQI, and it’s fun to hear what they think of the feature.
“I was really happy to be able to go directly to the code from a link in the stacktrace. This was the feature in Android Studio you never knew you needed! I especially like this that you can filter issues based on different forms in your app. Every engineer I know and work with is passionate about delivering performant, quality code. App Quality Insights into the development of crash management The next step is it can help engineers have more agency in addressing crashes, while they also work on exciting new features.-Anne Davies
We’ve certainly come a long way with the tools developers have to manage bugs and crashes.