Bugfest Prompts Quality Overhaul of Android Studio

Google has heard enough negative developer feedback about its Android Studio IDE to prompt a new quality and stability initiative.

The initiative, called Project Marble, was announced at a company summit last November and referenced again this week when Google released Android Studio 3.3.

Jamal Eason, program manager, described the 3.3 release as focusing on "refinement and quality" rather than new features (of which many were still introduced, which you can read about here).

That focus seems to have been sharpened by negative user comments.

"Based on the feedback from many of you, we have taken a step back from large features to focus on our quality fundamentals," Eason said. "The goal is to ensure Android Studio continues to help you stay productive in making great apps for Android. Since the last stable release, Android Studio 3.3 addresses over 200 user-reported bugs."

Although specific bugs fixed in this 3.3 edition weren't listed in the release notes, the notes for the previous 3.2.1 release (October 2018) listed these bugs as being fixed:

  • When using the Data Binding library, variable names with underscores were causing compilation errors.
  • CMake was causing IntelliSense and other CLion features to fail.
  • Adding a SliceProvider was causing compilation errors in projects that did not use androidx.* libraries.
  • Some Kotlin unit tests were not being run.
  • An issue with data binding was causing a PsiInvalidElementAccessException.
  • <merge> elements were sometimes causing the Layout Editor to crash.

Eason went on to explain how the 3.3 focus on quality and refinements relates to Project Marble, about which little information has been published (ADT sent a media inquiry to Google yesterday but has received no response as of press time today.)

An Android Studio Crash Bug Reported Jan. 16
[Click on image for larger view.] An Android Studio Crash Bug Reported Jan. 16 (source: Google Issue Tracker)

"Android Studio 3.3 kicks off the broader quality focus area for the year, which we call Project Marble," Eason said. "Announced at the Android Developer Summit in November 2018, Project Marble is the Android Studio team's focus on making the fundamental features and flows of the Integrated Development Environment (IDE) rock-solid, along with refining and polishing the user-facing features that matter to you in your day-to-day app development workflows. In Project Marble, we are specifically looking at reducing the number of crashes, hangs, memory leaks, and user-impacting bugs. We are also investing in our measurement infrastructure to prevent these issues from occurring. Stay tuned for more updates and details as we progress on this initiative."

As we wait for more information on Project Marble, this reporter found little guidance published thus far. Regarding that announcement at the Developer Summit, a YouTube video about the event features Karen Ng announcing the project.

"We know that in order for an IDE to be delightful and to keep you productive it has to be not just stable but it has to be rock-solid stable because of the number of hours that you spend there," Ng said. "The main focus for our next few releases will be quality, which we're calling Project Marble, reducing the number of crashes hangs and memory leaks, fixing user-impacting bugs and investing our infrastructure and tools. We know that sometimes we've missed memory leaks before we shipped so we're building tools to help detect those leaks before they even happen."

A quick search of the Android forums site finds 165 posts that include the term "memory leak." On the Stack Overflow coding Q&A site, the same search brought up 139 results (both searches contain some items not specifically reporting bugs). Also, the issue of Android Studio memory leaks was brought up about seven months ago in the programming section of the Reddit social/discussion site, wherein James Lau, another program manager, addressed developer concerns that had been raised in "several discussions."

"Hi everyone, we are very sorry about the recent memory leak issues related to the Layout Editor in Android Studio 3.1.x and 3.2 Canary versions," Lau said. "Our team has been working on fixing these issues, and it has taken longer than we'd like."

Perhaps related to Project Marble, the announcement post for Android Studio 3.3 revealed a new mechanism for developers who opted in to share usage statistics to "provide quick feedback."

It said: "If you've opted into sharing usage statistics to help improve Android Studio, you'll see these two new icons in the status bar at the bottom of the IDE window: [smile and frown emojis]. 😊☹

"Simply click the icon that best represents your current experience with the IDE," the post states. "When you do so, the IDE sends usage statistics that allow the Android Studio team to better understand your sentiment. In some cases, such as when you indicate a negative experience with the IDE, you'll have an opportunity to provide additional feedback."

Project Marble will likely be welcomed by some frustrated Android Studio developers who are still experiencing problems. When this reporter checked out a Google issue tracker this week (Jan. 16), the second bug listed was titled "Android studio crashes."

About the Author

David Ramel is an editor and writer for Converge360.