Skip to content

Progress update, August 20

20-Aug-12

Summer of code is coming to an end, but not my involvement with coding for MusicBrainz. The last few months have been hectic and rewarding. It’s been great to work with the MusicBrainz team on adding new functionality to the site. It was great to see my changes merged into the main site and released live for everyone to use.

Over the last few weeks I’ve been working on another set of changes for displaying and interacting with collection data on the MusicBrainz site. These features fix the bugs that I discussed in my last post. The changes are currently in code review. I just need to make a few small changes and then they will be merged into master for the next release.

I didn’t quite finish all of the tasks I had set myself at the beginning of the summer. Rather than be disappointed about this I am taking it as an opportunity to keep working with MusicBrainz as a volunteer over the next few months. I have a bit of a hectic schedule for the next month or so, but after that I plan to continue digging into the following tickets, which add new category and notes functionality to collections:

  • [MBS-1059]—Types of list/collection
  • [MBS-1658]—My Collection: add free text comment field
  • [MBS-4294]—Add a “description” field to collections

Progress update, June 25

25-Jun-12

The last few weeks have gone a little slower on the MusicBrainz front, but I have updated all of my previous work to include suggestions given in code review. One ticket has received a ship-it and I hope the others are not too far behind. Additionally, I’ve been putting some time towards a new release of python-musicbrainz-ngs, which will hopefully be coming out in the next few weeks. Finally, I’ve been polishing a presentation about MusicBrainz that I will be giving at the second CompMusic workshop in Istanbul, Turkey, during the second week of July.

This week I am going to start work on these tasks:

  • [MBS-1769]—Collection: Better UI with ajax dialog
  • [MBS-4872]—Can’t directly add a release to a collection if no collections exist
  • [MBS-1806]—Allow moving releases from one collection to another

Progress update, July 11

11-Jun-12

This week I managed to tackle some small tasks, getting used to Perl and the MusicBrainz server and development ecosystem. I’ve started my first ticket (MBS-939) and submitted it to codereview. You can see the result of the changes on a user’s collections page on my dev server.

I also filed a number of issues relating to collections that I plan to attack in the next week. These issues are mostly cosmetic but I believe they will improve the collections experience. This weeks list:

  • [MBS-4871]—When making a new collection, UUID in url is all uppercase
  • [MBS-4872]—Can’t directly add a release to a collection if no collections exist
  • [MBS-4873]—Can’t go from a collection back to collections list
  • [MBS-3491]—indicators for collection items
  • [MBS-4366]—Display front cover art on user collection page (going to work on mockups to get feedback before making changes)

Progress update, July 4

04-Jun-12

Summer of Code has been in progress for a few weeks now. It’s time a first update on where I’m at.

Unfortunately I’ve not been as up-to-date on coding as I had hoped due to finishing up last minute work for other projects. I’ve set up a development environment for the summer’s work. I’ll be developing on a MusicBrainz mirror at http://musicbrainz.music.mcgill.ca. Barring unforseen server meltdowns, this site will publicly reflect all my changes while I develop them and act as a testbed for tasks in codereview.

I’ve spent some time re-familiarising myself with the MusicBrainz codebase. I did some NGS development months ago, but much has changed in the MusicBrainz codebase since then. This week I hope to be in a good position to knock off the first few tasks on my list. These will be:

  • [MBS-939]—Show how many releases are in each collection
  • [MBS-3491]—indicators for collection items

Until next week.

Welcome to Summer of Code

04-Jun-12

I’m excited to be working for MusicBrainz this year in Google’s Summer of Code. I have been involved in the MusicBrainz community for a number of years and it’s great to be able to work with them in a more official capacity. In recent years I’ve been an active member of MusicBrainz, adding and editing content in the main database. I’ve also used MusicBrainz as a developer on albumidentify, a personal project to develop a a completely automated tool to rip and rename CDs. In recent times I’ve also been a developer on python-musicbrainz-ngs, a python wrapper around the MusicBrainz webservice.

This summer I will be working on MusicBrainz’s collections support. Collections are a feature that lets signed in users store lists of albums in their account. Basic functionality for collections exists, allowing signed in users to create free-form lists of albums—playlists, favourite music, music to buy, a mirror of a physical collection, etc. Because collection lists are freeform, it’s up to the user to decide the use. While the basic functionality is present, this summer I hope to add many additional features that people have been requesting since collection support went live. The majority of the work I will be doing this summer is based off of bug reports in the MusicBrainz bug system. Here’s a teaser of the features I plan to work on first:

  • [MBS-939]—Show how many releases are in each collection
  • [MBS-3491]—indicators for collection items
  • [MBS-4366]—Display front cover art on user collection page
  • [MBS-4294] —Add a “description” field to collections

I am currently finishing my Masters degree in Music Technology at McGill University. I work in the Distributed Digital Music Archives and Libraries Lab at the Schulich School of Music. I am currently working on automated systems to understand, store, and search early renaissance sheet music. We hope to work towards a catalogue of all known early sheet music. Who knows, maybe this is an opportunity for MusicBrainz to break out into more than just recorded audio!