Making graphs is easy. Making intuitive, easy-to-understand graphs? It’s harder than most people think. At the Rochester Institute of Technology, the ISTE-260 (Designing the User Experience) course teaches the language of design to IT students. For an introductory exercise in the class, students are tasked to visualize any set of data they desire. Students David Kim, Jathan Anandham, Justin W. Flory, and Scott Tinker used the MusicBrainz database to look at how five different Queen songs went mainstream in different ways.
One of the first rites of passage when working on a new project is creating your development environment. It always seems simple, but sometimes there are bumps along the way. The first activity I did to begin contributing to ListenBrainz was create my development environment. I wasn’t successful with the documentation in the README, so I had to play around and work with the project before I was even running it.
The first part of this post details how to set up your own development environment. Then, the second half talks about the solution I came up with and my first contribution back to the project.
At the end of the last version I was getting into the groove—and feeling determined.
I had managed to vittle down the instrument backlog to half! I though surely I could do even better! Let’s start digging into the meat of things and, get serious.
Now we were going to do things seriously, so therefore this was a pretty big version!
Let’s get serious!
I started by looking into a few issues during autumn:
- [INST-517] – double bass relations
- [INST-519] – viola d’amore relations
- [INST-31] – Bass violin *
- [INST-523] – Handpan
- [INST-632] – hyoshigi
- [INST-582] – Claviorgan
- [INST-587] – Natural trumpet
- [INST-161] – Ney (closed as invalid)
However right in the middle of this version came GCI!
I was part of the contest as a mentor this year (for the first time) so naturally I had some instrument tasks ready for our participants. They were pretty popular, with a lot of tickets being added or improved by the participants. So, this is how serious we got for GCI:
- [INST-256] – Yoochin
- [INST-591] – Melody Harp
- [INST-594] – Tungso
- [INST-605] – Danso
- [INST-595] – Olifant
- [INST-596] – Hydraulophone
- [INST-116] – laouto (was: Greek lute)
- [INST-593] – Otamatone
- [INST-598] – Yu
- [INST-132] – Junjung drum
- [INST-124] – Harpejji
- [INST-193] – Rackett
- [INST-619] – Gravikord
- [INST-550] – Improve the Baltic Psalteries
- [INST-264] – Caixa
- [INST-544] – Mandora
- [INST-621] – Clapper
- [INST-620] – Zhuihu
- [INST-37] – Bhapang
- [INST-600] – Sasando
- [INST-53] – Cimbasso
- [INST-609] – The Great Stalacpipe Organ
After GCI we still had quite a bit of seriousness left:
- [INST-626] – Taiko alias improvements
- [INST-34] – Baroque Guitar
- [INST-516] – change baryton relations
- [INST-279] – Regal
- [INST-641] – Split the Dutch theorbo alias
- [INST-642] – Add the Dutch alias “maangitaar” to the yueqin
- [INST-643] – Split the Dutch celesta alias
- [INST-410] – Add extra aliases to viola da gamba
- [INST-411] – Add missing viola da gamba family members and move non-member “children” away
- [INST-542] – Timple
- [INST-371] – ghaychak & ghijak
- [INST-625] – Octobass
- [INST-165] – Njarka
- [INST-578] – Güira
- [INST-623] – Flamenco guitar
- [INST-52] – Chitarra battente
- [INST-666] – Octavilla
- [INST-581] – Octavina
The majority of these where done during autumn ’17 and the first half of ’18. The whole thing would have been finished in the summer, hadn’t May, June and July ’18 been the hottest summer ever! I just couldn’t think, so I took a break until August and then I finished dealing with the last few stragglers.
This version ended up including 58 tickets: the largest to date!
What happens now? Well, at the end of the “Let’s get serious” version I noticed some issues with families and the like, but that’s a topic for the next blog post!
It’d been almost 2 years since I started, and I’ve managed to get quite a lot done! Here is a graph that illustrates the progress (notice the the jump in added tickets during GCI period, when the participants actually added them faster than I could close them!):
And with this we have finally caught up! So hopefully all future blogs from now on will be posted soon after the relevant versions are released.
I am Chhavi. I have mostly been helping around with all things design in MetaBrainz. I recently graduated from IIT Guwahati, India and started contributing to MusicBrainz after attending the summit last year, around the same time.
As a Google Summer of Code student, my project was to build a design system with React UI components for the upcoming overhaul of MusicBrainz’s website. It surely was a really interesting journey, right from when I heard about the community and I would like to share some snippets of it with you!
May 2017: I hear about Picard, and how a bunch of really cool people who meet online are building it. I was intrigued.
Around August 2017: I pop in the IRC channel #metabrainz, and after much overthinking, I drop a “Hi”. Followed was a really warm welcome by people I will soon call friends and a lot of developer-y jargon I had no clue about.
September 2017: I attend the annual MusicBrainz developer summit in Barcelona. And boy oh boy, I am now part of the family. Over the few days there, I have immense fun interacting and learning from the community.
November 2017: We set up our JIRA ticket system for design issues and start working on the mockups for the redesign. The entire community comes together on JIRA tickets and Discourse posts to talk about where we want to go with this overhaul.
January 2018: Community members encourage me to try my hand at front-end development. One is really lucky to find people, who encourage you to grow out of your comfort zone and help you cross that wall. In MetaBrainz, there is no shortage of such kind of people.
March 2018: With little confidence and lots of hopes, I apply for the Google Summer of Code programme. I start learning the ropes of development, with help of online tutorials and obviously our community. We also met for a mini-summit in Delhi to discuss ListenBrainz and spicy food.
April 2018: Hence began my full-fledged journey of learning and spending a summer of coding. It wasn’t easy, but I learned a lot in the process.
We set up the initial design system using react-bootstrap and react-storybook. I then started importing UI components into the system, followed by its documentation. I wrote up a more detailed description of the process too.
August 2018: As of now, we have the design system in place. The future plan is to continue adding components to it as well focus on having well thought contributing guidelines. I will also continue working on designing the mockups for the user interface for various entities.
Google Summer of Code was just another milestone in my journey with MetaBrainz. My time here has been a time of both personal and professional growth. I now feel more comfortable in a development environment, the ongoing chats on IRC make more sense to me and I feel less inhibited to put my thoughts out there. I completed my college, moved cities, traveled… all while having a set of these amazing people I call family.
A special shout out to Rob for keeping me going, bitmap for being ever so patient and understanding, samj1912 for introducing me to MetaBrainz, CatQuest, iliekcomputers, Suyash, Freso, reo and zas for being amazing friends through it all.
The thing I like about our community is, we had seasoned developers as well as newbies like me, all together working together to create amazing stuff. Hoping to continue being an involved and colorful part of this community,
You will obviously keep hearing from me in the coming days,
Many moons ago people clamoured for a way for them to use MusicBrainz via their old FreeDB (and others) enabled players. The hope was that this would be a short term solution as more players picked up MusicBrainz support so we created the FreeDB gateway that allowed old clients to use an ancient interface to look up CDs with MusicBrainz.
We’ve been maintaining this gateway for over 11 years now and recently we had a user asking questions about their new music player and that they were having a hard time getting it to work with our FreeDB gateway.
Wait, what? Someone is developing specifically for a stop-gap measure? Clearly the goal of FreeDB gateway has been misconceived and people are not treating it as a gateway to using the proper MusicBrainz API endpoints.
We’re no longer keen on supporting this gateway and have been having trouble finding volunteers to maintain it. Our internal staff has enough to do with our own duties and have no interest in further maintaining this and neither do I.
For these reasons the FreeDB gateway is going away in 6 months time; March 18 will be the absolute last day that the gateway will be functioning. Should something crash and the gateway experience problems before then, we’ll just kill the VM that the gateway is running on and call it a day.
11 years of temporary is enough — if you use this service, migrate to a proper MusicBrainz endpoint right now!
We had to postpone the migration of AcousticBrainz last week since we ran out of time (our database is getting to be sizable!). We’ve migrated the bulk of our data and are now ready to move the last bits and call the move complete.
Downtime will start very soon — follow us on twitter for more detailed updates.
Today we’re going to migrate the AcousticBrainz service from its standalone server that we’ve rented in the past few years to our shared infrastructure at Hetzner. We’ve been prepping for this move for a few weeks now and the actual process to follow has been used before, so we don’t expect the downtime to be more than 1 hour.
We’re sorry for the downtime that will be coming — to keep up with what we’re doing, please follow our progress on Twitter. We hope to start the migration in the next hour or two from when this blog post goes up.