Development update: search fixes, release locking and tagging

I’ve been busy hacking on all sorts of projects for the MusicBrainz server in the past few weeks. Fall is a nice time where the business world slows down as people prepare to hunker down for the holidays and the weather turns more temperamental. That’s the perfect time to get some hacking done! The projects … Continue reading “Development update: search fixes, release locking and tagging”

I’ve been busy hacking on all sorts of projects for the MusicBrainz server in the past few weeks. Fall is a nice time where the business world slows down as people prepare to hunker down for the holidays and the weather turns more temperamental. That’s the perfect time to get some hacking done!

The projects I’ve been working on are:

Search fixes:

Yesterday Lukas started a new branch to fix a number of pressing bugs related to the search features. Unbeknownst to him, I had already started hacking on the lucene_index and lucene_server projects to bring about more search features and to fix nagging bugs. Besides fixing issues like the less-than-perfect search result ranking and unaccenting, I’m also adding support for searching annotations. Given user feedback related to FreeDB searching (or the general lack of a decent FreeDB web search) I’ve decided that our search server can handle the addition of searching for FreeDB CDs that can be imported to MusicBrainz.

Theses search fixes/improvements will eventually (in the next few weeks) be rolled out as a server mini-release, rather than waiting for the next full server release that brings about many new features and thus will require an extensive testing cycle. If you have some must-fix bugs that you want to see fixed in the upcoming mini-release, post a comment with the bug number that needs fixing. We’ll see what we can do — the rest will have to wait for the next major release. Remember, I can be bribed with good chocolate. 🙂

Once I do a few more hours of work, I will point you to a server where you can play with these new features.

Release locking & Voting improvements:

I’ve started work on creating the release locking system. The idea is to create three strictness levels (loose, normal, strict) where changes to a album will require few, the usual or more votes to make changes. The strictness level depends on if an album is locked and how many subscribers the albums has. This feature will also bring about a system where every edit type will have a defined voting duration, number of unanimous votes required to pass, action after expiry (keep open, remove, accept) and wether or not an edit type is an autoedit. These will be defined for each strictness level, which should give us much more control over tuning how various edit types will behave.

The voting improvements will take into account your feedback from this blog post. The general idea with both of these features is to tune the editing/voting system so that we can optimize the work that editors do. Right now the system is too rigid and applies the same rules to all edit types, which makes the system more cumbersome than it should be.

Please read the release locking wiki page and give us some feedback about this feature!

Tagging:

An enthusiasic user (Chris Ovenden) recently sent me mail expressing interest in adding social tagging (folksonomy) support to MusicBrainz. I mentioned to him that Keschte, Yalaforge and myself hacked the beginnings of this feature out when we met up in Germany 18 months ago. I’ve dusted off that old code and updated it for the new layout of our pages. I’ve also finally taken some time to set up the test server so that we have more than one test sandbox running on it. If you care to take a look at the very incomplete tagging features, go to the tagging sandbox at http://tags.musicbrainz.org . You will need to log in and then go to an artist, album or track. The header for each of these entities will have a new pink box that allows you to attach a tag to the entity. You can click on the tag to see what other entities have this tag attached to them.

What’s still needed:

  • View your tags you applied to entities
  • JavaScript improvements to make the tagging UI more intuitive and pretty
  • Remove tags
  • A script to aggregate user’s tags and apply them to general tags that everyone can see, even those who are not logged in
  • Consider who this will affect our database server before we roll this out. We may need to get a separate DB server for this feature.
  • Consider the privacy implications — should we allow the world to see what people tagged files with or only the aggregated data? Make it an option?

Technorati Tags: , ,

New AdvancedRelationship type for Transl*ated Titles

After many months of discussion, a new advanced relationship type for translated or transliterated titles has been created. This proposal hasn’t been fully implemented; a new Release Status for transl*ations that aren’t actual releases still needs to be implemented in the server (there is a vote on the Wiki for the best name for this), … Continue reading “New AdvancedRelationship type for Transl*ated Titles”

After many months of discussion, a new advanced relationship type for translated or transliterated titles has been created. This proposal hasn’t been fully implemented; a new Release Status for transl*ations that aren’t actual releases still needs to be implemented in the server (there is a vote on the Wiki for the best name for this), and there is still discussion on the -style mailing list about the need for explicit attributes marking translation vs. transliteration, but the basic AR, representing the parts of this proposal that have reached consensus, has finally reached the main server.

Thanks to everybody who participated (and is participating) in this very long and drawn out process.

Recent Updates to Style Guidelines

The Classical Release Artist Style passed an RFV last week. It provides for performers to be used as Release Artists for albums that would otherwise be listed under Various Artists (as there are multiple composers). Also added was a series-specific style for the “Promo Only” series. This is now the second Series Style Guideline (the … Continue reading “Recent Updates to Style Guidelines”

The Classical Release Artist Style passed an RFV last week. It provides for performers to be used as Release Artists for albums that would otherwise be listed under Various Artists (as there are multiple composers).

Also added was a series-specific style for the “Promo Only” series. This is now the second Series Style Guideline (the first was for the OverClocked ReMix (OCReMix) series).

Picard usage increasing

Wendell from MusicIP just showed me the PUID lookup rate for Picard over the last few months: Looks like more people are using Picard as time goes on. Yay! Now, who is responsible for those two spikes? Bueller?? Technorati Tags: musicbrainz, picard

Wendell from MusicIP just showed me the PUID lookup rate for Picard over the last few months:

picard_puid_lookups.png

Looks like more people are using Picard as time goes on. Yay! Now, who is responsible for those two spikes? Bueller??

Technorati Tags: ,

Who Is or Will Be the MusicBrainz Server Developer?

In the last weeks I have been talking to Yalaforge, Lukas, Robert and Keschte about integrating Keschte back into MusicBrainz server development. Now, one thing that I have learned from the GreatDispute is not to do mediating behind the scenes, but to MakeIssuesPublic. Therefore I will now tell you what came out of these talks: … Continue reading “Who Is or Will Be the MusicBrainz Server Developer?”

In the last weeks I have been talking to Yalaforge, Lukas, Robert and Keschte about integrating Keschte back into MusicBrainz server development. Now, one thing that I have learned from the GreatDispute is not to do mediating behind the scenes, but to MakeIssuesPublic. Therefore I will now tell you what came out of these talks:

Robert said that he owes Keschte a second chance — if only because the way he handled the conflict was shitty — but that he “does not really believe in it”.

Keschte told me that he wants to work on mbserver again, but on the other hand he will wait and see how the MB community evolves after the dispute. He also said that he probably does not want to start seriously getting involved before next year.

So that’s the situation. There is also a lot of hurt pride and lost trust in there. This does not make things easier. However that is Rob and Keschte’s problem, and nobody can help them with it.

What I can do, and kind of did, was to negotiate a kind of compromise — a situation in which both of them could work together again. This is what it could look like:

  • Keschte would get a kind of sovereign territory in which he can work his way, while Rob can be sure that whatever comes out of it has been thoroughly checked and is of good quality.
  • Keschte does not want to work alone and needs feedback from someone. Robert made very explicit that he cannot and will not fulfill this role. However co-hackers, interested users could do this. That means that Keschte’s development process would have to be opened up to the community. He would need communication tools like forums, a dev-blog, a test server of his own on which “Keschte’s Bleeding Edge” is always available to the public, etc.
  • On the other hand, Keschte would have to work more focused, in better delimited projects, one at a time, than he has on the XHTML server project. Initially this could mean to work with branches (it is clear that major refactoring cannot be done this way, but ArtistPageRedesign could).
  • I do not believe that bug triaging and buffers between Keschte and the users would do any good. Those were discussed in a chat session mediated by Lauri. As I wrote at the end of the Great Dispute, Keschte had been set up in a double bind. You cannot solve this kind of problems with padding, only by changing the setting.

So, this is what it could look like. I say “could”, because both Keschte and Robert stated that they will not put a lot of work into making this happen now. For me this means that I won’t do it either. While I would love to help both in setting up a “sovereign territory” which is helpful and acceptable to both, I will not try to do all the work that they are not willing to do.

The conclusion? There currently is no MusivBrainz server developer. Sad thing, but the truth.

FreeDB import broken (fixed!)

The FreeDB import feature is currently broken due to FreeDB.org being switched over to MAGIX (whatever that means). This switch was less than elegant since it seems that the old port 888 method for retrieving the CD info and web searches have been switched off. Currently the MusicBrainz server uses the old port 888 method, … Continue reading “FreeDB import broken (fixed!)”

The FreeDB import feature is currently broken due to FreeDB.org being switched over to MAGIX (whatever that means). This switch was less than elegant since it seems that the old port 888 method for retrieving the CD info and web searches have been switched off.

Currently the MusicBrainz server uses the old port 888 method, so we need to code the server to retrieve data via HTTP. freedb2.org has web searching features, so we’re going to be switching over to use them instead of freedb.org.

In the meantime, you can use the track parser to import CDs from FreeDB. Sorry for the inconvenience!

UPDATE: Seems to be working now. Let’s see if things hold.

Technorati Tags:

Bug triage mailing list now active!

The suggestion of a bug triage mailing list has been turned into a reality: subscribe to mb-bugs view mb-bugs archives The purpose of this mailing list is to give the community more insight into bugs/enhancements/tasks as they enter the bug tracking system and as they move through the various stages. People who subscribe to this … Continue reading “Bug triage mailing list now active!”

The suggestion of a bug triage mailing list has been turned into a reality:

The purpose of this mailing list is to give the community more insight into bugs/enhancements/tasks as they enter the bug tracking system and as they move through the various stages. People who subscribe to this list will be able to monitor the chatter between developers and users more effectively than before. If you’ve wondered what bugs are being reported and what bugs are being closed, join this list.

Technorati Tags: ,

MusicIP continues to rock!

MusicIP just donated $500 to offset the cost of me traveling to the Future of Music Summit in Montreal this week! Thanks Matthew Dunn and the rest of the MusicIP team! If you haven’t played with MusicIP’s offering, I would suggest you go check it out — their MusicIP Mixer is an awesome tool that … Continue reading “MusicIP continues to rock!”

MusicIP just donated $500 to offset the cost of me traveling to the Future of Music Summit in Montreal this week! Thanks Matthew Dunn and the rest of the MusicIP team!

If you haven’t played with MusicIP’s offering, I would suggest you go check it out — their MusicIP Mixer is an awesome tool that lets you make playlists based on the acoustic analysis of your music. Its a great tool for rediscovering your own music collection!

Technorati Tags: , ,

Conflict resolution chat: Sunday Oct 1

The conflict resolution chat has been set for this weekend: Date: Sunday, October 1st, 1200 PDT/1500 EDT/2000 GMT/2100 CEST Moderator: Lauri Watts Location: IRC channel #musicbrainz on irc.freenode.net The goal of this chat session will be to brainstorm about a system where the community can take part in resolving disputes that arise in the MusicBrainz … Continue reading “Conflict resolution chat: Sunday Oct 1”

The conflict resolution chat has been set for this weekend:

  • Date: Sunday, October 1st, 1200 PDT/1500 EDT/2000 GMT/2100 CEST
  • Moderator: Lauri Watts
  • Location: IRC channel #musicbrainz on irc.freenode.net

The goal of this chat session will be to brainstorm about a system where the community can take part in resolving disputes that arise in the MusicBrainz community. The agenda for this chat will be posted in the next couple of days.

Technorati Tags: ,

Encouraging people to vote more

In one of the previous posts, Matthias pointed out that we need to focus more on getting people to vote on open moderations. I’d like to brainstorm a little on this… I have plans for a more elaborate editor rating system that would replace our black and white automoderator system. This new system will create … Continue reading “Encouraging people to vote more”

In one of the previous posts, Matthias pointed out that we need to focus more on getting people to vote on open moderations. I’d like to brainstorm a little on this…

I have plans for a more elaborate editor rating system that would replace our black and white automoderator system. This new system will create many levels of privileges and automatically adjust an editor’s rating based on their editing/voting history. As an editor moves up in the rating, fewer of their edits will be put to a vote or perhaps require fewer votes to pass. Many of the details of this new system have not been worked out.

However, until we get to this system which ought to reduce the overall number of edits required to be voted on, we should somehow attempt to encourage people to participate in the peer review voting process. So far we know:

  1. Voting i-frame: A “vote on this edit” i-frame shown at the top of each artist/album page didn’t increase the voting much but encouraged people to just start clicking the no button causing lots of pain for many editors. Voting no become too easy. Once we turned this off by default and made it optional the problem of random no voting went away.
  2. Forcing people to vote: Forcing people to vote never works. People will vote anything just to get past the obstacle. This is not a viable solution.
  3. Showing top voters: The top voters list encouraged more people to vote, but that wasn’t enough. This shows that giving people credit for their work encourages others to participate more.

We’ve probably learned more, but these are the big lessons I remember. Please post a comment if you remember something I’ve forgotten.

The only thing that has worked to a degree was to put active voter’s names in lights and give credit where credit is due. For quite some time I’ve thought about using an eBay like system to put more informative icons before users name to indicate the user’s status. eBay uses stars and other icons to show the status of a user to give people immediate feedback about the trustworthiness of the seller.

What if we create a new icon for users that graphically shows the editor status and the voting status of the user?

Editor status:

  1. Newbie registered less than two weeks ago
  2. Less than 100 edits
  3. Less than 500 edits
  4. Less than 1000 edits
  5. More than 1000 edits

Voting status:

  1. 0 votes cast
  2. less than 100 votes cast
  3. less than 500 votes cast
  4. less than 1000 votes cast
  5. less than 5000 votes cast
  6. more than 5000 votes cast

These numbers/breakdowns are just randomly made up to illustrate the point — I’d like to have the community suggest actual values and graphical representations of these values if we proceed with this plan. What do you think of this approach?

Finally, I’d like to play devils advocate: What if our magic number of ~6000 open edits is our steady state? What if none of our actions ever change the number of open edits?

Technorati Tags: , ,