Search fixes: Artists, annotations, FreeDB

I just committed the latest round of bug fixes/improvements for the MusicBrainz search facilities. On the road of the promised mini-release I’ve created the a milestone to keep track of the changes and have updated the test server with the latest fixes/improvements: Artist searching: With tons of useful community feedback, I’ve fixed up the toughest … Continue reading “Search fixes: Artists, annotations, FreeDB”

I just committed the latest round of bug fixes/improvements for the MusicBrainz search facilities. On the road of the promised mini-release I’ve created the a milestone to keep track of the changes and have updated the test server with the latest fixes/improvements:

Artist searching:

With tons of useful community feedback, I’ve fixed up the toughest search cases. Accented characters are now being escaped, so that a search for “Bjork” will return “Björk“. Aliases are now being searched by default and no longer interfering with the ranking so that a search for “Jennifer” will return the artist “Jennifer” as the first search hit and not buried down below. I’ve also implemented a checkbox for advanced search to avoid confusion with the lucene search syntax. By default the advanced search will be off and all punctuation in a search will be ignored. If the advanced search box is checked, punctuation will be interpreted as lucene query syntax.

I think these changes will make the search behave more according to what people would expect. Please go test it!

Annotation searching:

You can now search annotations using the indexed search.

FreeDB searching:

You can now search all FreeDB CDs with our own search features. Once you find a CD you want to import, click on the category/id link and the import process starts. No more funky HTML frames with a crappy FreeDB search that goes away every other week.


I’ve taken a lot of heat over these search issues — please go test these to make sure everything is working right!

Technorati Tags: , ,

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: , ,

TRM server outage

The TRM server hardware has been giving us some issues in the last week. We’re having to reboot the TRM server a lot more frequently than I care for, so I will take the TRM server down tomorrow and have a look to see what the issue might be. The TRM server will be offline … Continue reading “TRM server outage”

The TRM server hardware has been giving us some issues in the last week. We’re having to reboot the TRM server a lot more frequently than I care for, so I will take the TRM server down tomorrow and have a look to see what the issue might be.

The TRM server will be offline for about 1-2 hours tomorrow Wednesday August 23rd, at Noon PST/2000 BST/2100 CEST.

UPDATE: The outage is now over — I could not find any problems with the server, so the random lock-ups go unexplained. 🙁

Technorati Tags: ,

Final call for testing

After passing on the release last weekend, I think we’re ready to try again. This is the last call for bugs for this release! If you find a serious bug, please enter it into trac and I’ll see about getting it fixed. Please don’t enter any enhancements requests for this release — I’m only fixing … Continue reading “Final call for testing”

After passing on the release last weekend, I think we’re ready to try again. This is the last call for bugs for this release! If you find a serious bug, please enter it into trac and I’ll see about getting it fixed. Please don’t enter any enhancements requests for this release — I’m only fixing bugs at this point and will do no enhancements right now.

The bug fix update release is scheduled for this Sunday. Go test on the staging server and report bugs or look at the list of closed bugs.

Technorati Tags: ,

No release sunday

Too many bugs have rolled into allow us to to a bug fix update this weekend. Given the update fiasco from last time, we’re going to wait until the issues settle and these bugs are addressed. I know a lot of people are anxious to get this bug fix release out. If you are one … Continue reading “No release sunday”

Too many bugs have rolled into allow us to to a bug fix update this weekend. Given the update fiasco from last time, we’re going to wait until the issues settle and these bugs are addressed.

I know a lot of people are anxious to get this bug fix release out. If you are one of those people, make sure you get your bug reports in ASAP. Unloading a wad of bug reports that should’ve been raised weeks ago within 48 hours of a planned release will only hamstring the release process. If you’re one of the people who is anxious about getting bug fixes out, please enter your concerns now and not 2 days before the next attempted release date.

We’ll shoot for next Sunday as a the next update time.

Sorry folks!

Technorati Tags:

MusicIP open sources a small server extension

I’m pleased to announce that MusicIP has just open sourced a small extension to the MusicBrainz server! MusicIP contracted me to write a set of SQL scripts that would take their mirror of the MB database and create an extra table that stores the first release date for each track. As you may know we … Continue reading “MusicIP open sources a small server extension”

I’m pleased to announce that MusicIP has just open sourced a small extension to the MusicBrainz server!

MusicIP contracted me to write a set of SQL scripts that would take their mirror of the MB database and create an extra table that stores the first release date for each track. As you may know we have this for albums, but we haven’t had (or needed) this for the track level.

If you’d like to check out this extension, you can find it here. Take a look at the README file to see how this should be used.

Please note that this code is checked into the RELEASE_20060712 branch — once we’re finished with dev work on this branch we will merge it back into the trunk.

Big thanks to Wendell Hicken and Matthew Dunn of MusicIP!

Technorati Tags: ,

To search aliases or not?

In ticket #1731 we’re currently discussing the merits of having the artist aliases searched by default. Compare these two searches: Search without aliases for “Jennifer” Search with aliases for “Jennifer” The perfect match for Jennifer is half-way down the page of results if aliases are included. Jennifer is all the way at the top (where … Continue reading “To search aliases or not?”

In ticket #1731 we’re currently discussing the merits of having the artist aliases searched by default. Compare these two searches:

  1. Search without aliases for “Jennifer”
  2. Search with aliases for “Jennifer”

The perfect match for Jennifer is half-way down the page of results if aliases are included. Jennifer is all the way at the top (where it should be) when the aliases are not searched.

So, why does this happen?

Take for instance the top hit of the with aliases search: Jennifer Paige. She has an alias for “Jennifer Page“, so when Lucene ranks the search results, the word Jennifer appears twice, which is a better match than when the word appears only once. This disturbed our users and it plain feels wrong to me.

Then I tried to play with Lucene’s term boosting functions. Take this query:

aritst:jennifer^10 sortname:jennifer^10 alias:jennifer^0.0000001

In English, it says to search for Jennifer in artist names and sortnames and to make these hits 10 times more “important” than normal hits. It also says to search aliases and make hits from this vastly less important than normal hits. The result, Jennifer is at the top as we want. But, what happens when we search for Bjork (not Björk)?

We get this mess where Björk is the last search hit with a score of 0. (this is not the best example since the next version of search will automatically find Björk when searching for Bjork, but it still illustrates the problem)

As you can see, tweaking the searches to make things better one way, will make other searches worse. Do you think it its more important to search aliases by default or to have better search results by default?

Technorati Tags: ,

Call for bug-fix testing

We’ve fixed a number of bugs (321 of them as of right now!) and we should be ready to go for another bug-fix update of the main server this weekend. To avoid the mess we had last time, please take some time in the next few days to check the test server to see how … Continue reading “Call for bug-fix testing”

We’ve fixed a number of bugs (321 of them as of right now!) and we should be ready to go for another bug-fix update of the main server this weekend. To avoid the mess we had last time, please take some time in the next few days to check the test server to see how things are looking. Please test now and not after the release!

I would also like to remind people that if you find a bug to report it via our bug tracker. Please do not mail bug reports or mention them in IRC in hopes of having them fixed. Also, if you don’t report a bug before the release, please don’t scream your head off if the issue hits the main servers when we do the release.

Go test on the staging server and report bugs or look at the list of closed bugs.

Thanks to Stefan for fixing all these bugs!

Technorati Tags: ,

libtunepimp releases

Lukas just released two new bug fix versions of the tunepimp library. The following changes were made:

libtunepimp 0.5.1:

  • Fixed broken symlink problem in plugins/tta/Makefile.am
  • Don’t write files/directories with leading dots. (#1427)
  • Added SetNotifyCallback to the Python bindings.

libtunepimp 0.4.3:

  • Fixed check for TagLib 1.4 in configure.in + few other build system fixes.
  • Fixed buffer overflow in lookuptools.cpp (patch by urs_fleisch at yahoo dot de).
  • Fixed memleaks in the WMA plugin.

Download either of these releases from the libtunepimp download page. Thanks Lukas!

Technorati Tags: ,