News

Android Studio 'Project Marble' Improvement Program Ending Soon

In an Ask Me Anything (AMA) event on the programming section of the Reddit site, Android engineers who held online court to answer all questions indicated that Project Marble, an Android Studio improvement program, will be ending soon.

Specifically, it will end with the stable release of Android Studio 3.5, which is currently in beta status.

As we detailed early this year, Project Marble was described as a response to a growing number of bugs and increased negative developer feedback.

"Android Studio 3.3 kicks off the broader quality focus area for the year, which we call Project Marble," program manager Jamal Eason said in January. "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."

In the Reddit AMA that started Aug. 1, many members of Google's Android engineering team responded to a plethora of questions, including one on Project Marble that began thusly: "How long is Project Marble going to continue? Studio is getting better, but still needs work."

Eason replied: "Project Marble concludes with Android Studio 3.5 shipping on the stable channel. However, we recognize that quality work is never complete, and we have a list of quality changes that we could not fit in for Studio 3.5 that plan to work on for subsequent releases. Moreover, for Project Marble we created a new set of dashboards and infrastructure to help catch regression and IDE performance issues. For your specific concern of typing and lint error speed, we fixed a number of issues in this area and we specific track reported issues. If you have a specific performance bugs please let us know here: https://developer.android.com/studio/report-bugs.html.

That answer wasn't satisfactory to several developers, including one who replied:

How could it be? I always see bugs replacing previous bugs.

I still see issues of unresolved resources, incorrect or no preview for layout files, files being locked by the IDE itself (so it can't build the app till I remove them myself, and I sometimes can't delete the files without killing the IDE) , illogical warnings...

The only thing that I don't see anymore is the IDE taking more and more memory (memory leaks, probably) up to the time that I have to kill it. I think I also see less of the tiny red blinking error icon at the bottom (of reporting IDE issues).

When yet another developer asked what steps the team was taking to avoid performance regression, another reader pointed to a video from the I/O '19 conference that discussed that issue.

"We announced project marble back in November and since then the entire engineering team has been focusing exclusively on fixing top issues that impact users so we can divide that work into three buckets: system health, feature polish and addressing the bug backlog," a member of the engineering team said in that video.

"So let's start with system health. So by that I mean how responsive is the UI or are there any memory leaks. So the first thing we did was to beef up our analytics. The first time you run Android studio we ask you if you're willing to send use of statistics to us. Now as you'll see this is how we measure our system health, it's how we're measuring whether Project Marble is having an impact and it's also how we're gonna basically make sure that after Project Marble ends we're gonna hold the bar really high.

"And last but not least, we used analytics to report problems to ourselves. So for example, if Android Studio throws an exception, if you've opted into analytics, we will send that exception up to our server and then we have a dashboard where we can aggregate all these exceptions, sort them such that we not only fix the most important issues but we can also spot if there's a problem in a rollout of a new canary."

The Android team also entertained questions on Android Jetpack, Kotlin, notifications, permissions, security and privacy and much more in the extensive AMA.

About the Author

David Ramel is an editor and writer for Converge360.