Release groups & ISRCs: Please help us test this release!

We’ve hammered out many of the rough edges from the upcoming release and now we need your help to test the release to spot any problems that may have slipped past our new code review process.

New in this release:
– Release groups: This allows us to group same titled releases from one artist that have slightly different track lists into release groups. For instance, here is a Weezer release group that has many separate releases in it. We have converted as many batches of releases to release groups as we automatically could, but there are tons left to do. We’ll need your help!
– ISRC support: We can now track ISRC codes. While this is less useful to end users, our commercial customers have been asking for this for eons.
– WikiDocs: Our WikiDocs system now uses our new Mediawiki to pull documentation from.
– Bug fixes from our last release.

Aside from a good chunk of the bug fixes, all of these things are now live on our test server. Please report bugs to our bug tracker and make sure to select the “Server: ReleaseGroups, ISRCs, Bug Fixes” milestone so we can spot your bugs fast. Also take a look at the bugs we’ve already closed for this release and which ones are still outstanding.

We have one major known issue, where some release groups may be found in the search engine, but will give a “release group not found error” (example). This is a known bug.

Finally, do the release groups as we have them now make sense to you? There are a few things that may not be entirely clear, so we’re looking for feedback how to make things more clear before we release this on May 24th.

Release groups, ISRCs and bug fix release: May 24th

The next update of the MusicBrainz server will happen on May 24th. For this update we will have the following new features:

  1. Release groups: Group together like releases (same titled releases by the same artist) into one group.
  2. Support for attaching ISRC codes to tracks.
  3. Bug fixes.

No later than this weekend I will post a call for testing with details on what has changed and what bugs were fixed. Stay tuned!

Summer of Code: Acceptance and projected milestones

I’m pleased to announce that Google’s Summer of Code has announced which projects have been accepted. I’m pleased to let you know that our own Oliver Chalres and Lukáš Lalinský have been accepted to both work on our Next Generation Schema. Congratulations to both of you — this should be an exciting summer!

As the first act of getting ourselves organized for Summer of Code, the three of us have agreed to the following milestone schedule over the summer:

May 25: Object model and read-only user interface in place. This is essentially equivalent to Lukáš’ NGS-p implemented in Catalyst/Template Toolkit based on Oliver’s work from the last year. With this milestone users will be able to convert an existing database to the NGS schema and be able to browse the data in the new schema via the read-only user interface. No editing will be possible at this point in time.

June 29: The basic types are in place for editing artists, labels, and release-groups. Release and track level edits will not be complete.

July 27: Release and release related edit-types will be in place, but without a complete UI. The release edits will take a lot of work to get right so, we’ll have these edits in place, but may not be able to finish a working UI for them.

Aug 31: All remaining edit types are in place and the NGS enabled server enters a final beta phase.

Note that SoC doesn’t officially start until May 23 — we’re not wasting any time — in face our first milestone is due 2 days after SoC starts. Can you tell we’re serious this year?

Upcoming releases: Release groups and Next Generation Schema

In the past month there has been a ton of activity behind the scenes here at MusicBrainz and I can finally give a cohesive update on our plans for the next few months.

The much anticipated Release Groups release has been coded by Lukas in a weekend code sprint based on the old Mason codebase. Even though we had declared the old codebase as end-of-life, we have decided to push release groups out using the older code in order to satisfy the needs of the BBC and other customers. As part of this release, I will also add ISRC support and include a handful of bug fixes. Expect this release in May — I’ll post again when the date is firmly set.

And what is even more exciting is that we’re about to start work on our much anticipated Next Generation Schema (NGS). Discussed and planned over and over again, we’ve finally settled on an approach that appears to make everyone happy. As part of SoC, we’re likely going to accept Oliver and Lukas’ proposals to work on NGS over the summer. The goal is to implement all of the new schema in one release based on the TemplateToolkit/Catalyst work that Oliver has been working on since last summer. We’re going to take a step back and create a new object model/schema and then glue the TT UI onto the new object model.

The schedule puts the TT/Catalyst/NGS release into final beta test on August 31, with a release following in 15-30 days after that date. Please note, however, that there will be no other release based on Oliver’s TT work before NGS is release in September. We had to skip that release in order to pull in the schedule to make the target date of August 31.

I am quite excited by the work that is being done in the server area right now — we’re on our way to get past some significant hurdles. Just yesterday I got a first glimpse at the MusicBrainz site partially translated to Dutch — startling at first, but quite exciting when you think about it.

Many thanks to Matt Wood at the BBC for having the patience and dedication to work with MusicBrainz. Many thanks to Lukas for the coding sprint to get Release Groups off our collective plate. And of course many thanks to Oliver, Nikolai, Brian for your continuing hard work on TT. And thanks to everyone who has been supporting this team over the past few months.

MusicBrainz Flickr machine tags

Sander van Zoest and Dan Brickley have been prodding me to officially post about Flickr Machine tags — using Flickr machine tags you can now tag your photos on Flickr to refer to specific MusicBrainz entities. This is how to create MusicBrainz machine tags on Flickr:

  • musicbrainz:artist=<MBID>
  • musicbrainz:release=<MBID>
  • musicbrainz:track=<MBID>
  • musicbrainz:label=<MBID>

For more details see the official wiki page: FlickrMachineTag

Wanted: Wiki, Documentation, Trac and UserVoice guardians

In working on figuring out how to integrate UserVoice into our workflow its become painfully clear that we need to have some people take “ownership” over a few portions of MusicBrainz. Back in the day when Cristoph König (Don Redman) was our Wiki warden, our wiki was well groomed and worked smoothly. Alas Cristoph has been swallowed whole by a University in Germany and we may never see him again. 🙁

Its time to find volunteers who are interested in taking on personal ownership of these aspects of MusicBrainz. I’m looking for 2-4 volunteers, one for each of the following areas described below. However, please note that these people are not expected to carry out the bulk of the work that needs to be done to get these projects into an improved state. I envision each of these people being motivators and leaders who can focus and encourage the efforts of other volunteers to help them achieve their goals — there is a big difference between a leader and a workhorse.

  1. Wiki: This person should be well versed in Wikis and understand their general nature. A “Wiki Warden” should be willing to help with the upcoming wiki migration to MediaWiki and have a vision for how our wiki should be organized and cleaned up. This person should be willing to do more work initiallycleaning up the wiki and then spend a few hours every week watching over activity in the wiki and gently steer the wiki into a direction of sense and overall usefulness.
  2. Documentation: This person should be working with the Wiki Warden (it could even be the same person) to coordinate the creation/maintanance of Wiki pages for use with our WikiDocs documentation system. This person should be have an overall vision for how to organize our documentation and to move from our current state to a more organized and useful documentation system for MusicBrainz.
  3. Trac: This person should be familiar with trac and work to remove the cruft that has accumulated in the bug tracker. We need someone to close old bugs that no longer apply, highlight bugs that are important and generally reduce the duplication present in the system. It would be best if this person could also take part of the weekly developer chats in order to stay in tune with the development process.
  4. UserVoice: While a lot of people have volunteered to take part in working with UserVoice, we need one person to take the lead and be in charge of the process. I would love it if this person could help us to settle on one of the proposed UserVoice workflows.

I’d like to stress once again that I am not looking for people to do a lot of work — I’m looking for leaders who can do a little work, but motivate others a lot of help out and create a thriving sub-communities that allow MusicBrainz to become more concise and cohesive. If you’re interested in one or more of these positions, please post to the comments.

MusicBrainz Server Roadmap

After considering all of the options and taking in tons of feedback from our developers, our community and our customers, I’ve finally settled on the following road map for the MusicBrainz server. The plan allows us to follow the release early, release often methodology and should hopefully make most people happy:

TemplateToolkit/Catalyst Release

  • Date due: Late March/April
  • Non schema change release
  • Deployed as beta.musicbrainz.org starting in early march
  • 100% features of 2008-11-23 release supported.
  • Full Guess Case supported, but no new features
  • Many UI improvements, including a generally speedier interface
  • Internationalization support: Support will be under the hood, but we may not immediately support new languages.
  • Ease of installing mb_server: Use modern tools to draw in more server developers.
  • Search improvements: CD Stubs. Possibly: Advanced Relationships, edits
  • Closing a whole host of old bugs, introducing many new ones. 🙂

This release doesn’t add many new features, but in general we feel that the user interface experience will improve so much that our end users will be happy with this new release. Also, since we’re keeping to a non-schema change release, we will be able to load this release and let people test with live data on beta.musicbrainz.org. I believe this well get more people to come help us test the new interface and hopefully have a smooth rollout of the new features.

NGS Release

  • Date due: To be determined — hopefully sometime this summer
  • Major schema change release
  • Full NGS object model under the hood.
  • Expose ReleaseGroups, if not other new NGS features
  • Keep old edit system in place

The major piece of work in this release is the new NGS schema/object model. How we graft the existing edit system on top of the new schema remains to be seen — this task contains many unknowns, which is why it was yanked from the upcoming release. We’ll end up doing more work overall by having the TT/Catalyst release first, but this approach allows us to release early, release often.

NGS Improvements releases (may be one or more releases)

  • Date due: weeks after NGS
  • Non-schema change releases
  • Bug fixes
  • Incremental improvements in NGS
  • Exposing new NGS features if the NGS release didn’t expose 100% of the new features

Depending on how we work out the NGS release, I can see smaller follow up releases that improve the NGS release or expose more portions of NGS that weren’t previously exposed. Exactly how this shapes up will not become clear until we near the NGS release.

Edit System Rewrite

  • Timeframe: To be determined
  • Schema change release
  • Improve may aspects of our edit system.

Our edit system has been straining under its current load for some time. This release will throw out the edit system entirely and build a new more flexible system that allows the user to change more data with fewer edits and allows the user to find edits easier.

If you have questions on the roadmap, please post them in the comments.