magenta - I spent about 10 minutes trying to center it all, but I couldn't get Raphael.js to behave, so since it was a weekend hack, I moved on. But yes, it would look much nicer if it was centered, even more so if a designer did the design ...
Dave - I like hackathons. In particular I like the 24 hour constraint. Having to build something in 24 hours (really probably 18 hours), forces me to make decisions, to get to the heart of the problem. Similarly, building something that I know I will only have 2 minutes to demo makes me really focus on what is important. I think the constraints lead to more creativity, just like the Haiku with 17 verses and 3 lines opens the door for whole libraries of verse.
There's no central database of ISRCs, so even if you have an ISRC in your hand there's no way to find out what artist and song title that ISRC represents.
You don't need one. Both Spotify and Rdio have ISRCs for their tracks (they got those from the same source), so they can resolve all those cases based on ISRC equality only. How they (or was it Facebook) managed to fail the described cases is beyond me.
As someone who implemented metadata matching of two distinct musical catalogs:
First you do search, then you do ranking, then you take the best result.
You need to take all the needle metadata (isrc, albums' upc/icpn, title, version, album, artists), and then
- If there are results with the same ISRC, it's cool. Choose the best matching album (by UPC, then by title, then by album version)
- If there aren't, match the track + artist pair and then choose the best matching album for it.
- If you don't have ISRC match and can not match on track title + artist, you should probably bail out.
This way you both won't miss a track in compilation, neither would you prefer The Hit Crew to the actual good performer.
Most international content has ISRC. Local, independent and DIY would probably not. But it's usually easier to match because it doesn't have dozens of different recordings for tracks nor endless realms of compilations.