GSoC’21: MusicBrainz Android App: Dawn of Showdown

Greetings, Everyone!

I am Akshat Tiwari (akshaaatt on IRC), an undergraduate student from Delhi Technological University, India.

It has been an exhilarating experience for me, right from submitting a proposal for GSoC to becoming a part of a fantastic community.

The Google Summer of Code 2021 Edition finally comes to an end after the 3-Month long journey. I will be detailing the journey of working towards my summer of code project today. This blog is a summary of all the work done.

Project Description

My project aimed at untangling the endless possibilities of the MusicBrainz Android App.

The work was distributed along the way and has featured over 120 commits and 20 PRs during the tenure.

My PRs: Check Out

My Commits: Check Out

Major Highlights

The coding period started with some work around the Tagger functionality present in the app, fixing a few bugs, and preparing a release for the app on the stores.

Next, the focus was on improving the Search UI/UX, for which a number of considerations were taken into account. Appropriate feedback was also received and incorporated directly from the community. A glimpse of which can be found here.

Features like the WebView addition, Onboarding revamp and such were some nice additions next on the list.

The Tagger was now picked up seriously and many improvements were made to the way functionalities are presented and handled.

With this, the work towards the official Picard Addition began. Thanks to the Picard team, we were happy to add this feature and the relevant documentation as well.

PR: Check Out

Tutorial: Check Out

This worked as a replacement to one of my mentioned plans of skimming through the search page based on the entity type. It was done to introduce the feature properly once we have Jetpack Compose in the app.

With this, I spent a few weeks working with outsidecontext on an app he had started ages ago. The app is a spin-off, featuring the Picard integration in-depth with a few advanced features.

We migrated it to the latest tech stack and had a blast working together. I got to learn a few things along the process, which I really appreciate.

The codebase for this side project can be found at PicardBarcodeScanner

The end to the tenure of the original project was rather peaceful. We spent major time documenting the work, featuring roadmaps to the project, discussing some future scope, and planning how a redesign to the MusicBrainz parent website could benefit the project in general.

A fruitful and delightful experience overall.

The best news is that the app is now live in Production (Version 5.0.0)

Github: metabrainz/musicbrainz-android

Play Store: MusicBrainz — Apps on Google Play

F-Droid: MusicBrainz | F-Droid — Free and Open Source Android App Repository

I ended up summarizing my thoughts in two blogs, one personal and the other quite technical and robust.

GSoC Experience

Technical Advancements

Acknowledgment

I am extremely grateful to my mentor, lucifer for his constant support and guidance along the way. His motivation helped me in improving the quality of my code and learn relevant skills along the way.

I am thankful to fellow contributors: ruaokbitmapyvanzoreosarevokmonkeyalastairpzasFresoCatQuestakashgp09jasondkyyoung, ritiek for being a part of the weekly meetings and exchanging valuable thoughts.

Thanks to Google and the MetaBrainz Foundation for this great opportunity!

That’s it from my side for today. Thank you for your time! 🙂

Author: akshaaatt

Coding Geek, Open Source Enthusiast.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.