I'm sure with the Spotify API someone could wrap this up in a killer game :)
I've been curious how difficult or burdensome getting permission for a game would be.
You could use last.fm, maybe? I think there are a few providers that have this kind of info.
You'd start by picking one song. Then you were given 4 choices for the next song, which were derived from Last.fm's "similar song" API. If you didn't make a selection by the end of the song, one of the four options were chosen at random.
It ended up being a very pleasant experience, a semi-randomized radio that gave the user the ability to steer the direction. The service also ended up producing this neat tree graph (done in D3) in which you could go back and traverse unexplored nodes.
We had an agreement with Grooveshark to stream from their music database, so unfortunately, when they went down, so did Audio Vine. But man, that was a fun project.
1. Where did you get the data from? I saw the Github link but, at least to me, it's not clear where the artist links come from.
2. Clicking two artists does not seem to improve the matches. I would like to select an artist, then click another one I like, and another, and get better and better matches to my music taste. It currently seems to be a simple visual representation of a single author and three related ones; showing the previous artist is just eye candy.
1. The data is from Spotify's API. I use 3 endpoints (artist info, artist top tracks, related artists). Really this is just a shiny interface over their API.
2. Yeah. The previous artist is meant as a way to go back in time (if you wanted to explore multiple "branches"). But yeah it's very "dumb" in this regard :)
I don't know if that's a bug or a very clever joke. :)
Nick Cave, which he's done some solo work as
Mick Harvey, one of the members of the band
Grinderman, one of Nick Cave's side projects
PJ Harvey, Nick's old girlfriend
Tom Waits, very similar stylistically
Tindersticks, a more recent similar artist.
By the way, the footer says "Copyright Date.now()"
I think there's value in extracting a single feature out of a larger system and making a custom interface around it.
And yeah, the footer is a joke :)
> Copyright Date.now()
I realize that this probably renders the copyright void, but I don't particularly care. Infringe all you like!
You might want to try dynamically splitting into tspans every word or phrase of sufficient individual or combined length.
Apart from that, really nice.
 : Chrome 50 (1366x768)
Agree that it needs _some_ kind of call-to-action though. There's nothing to do when you find an artist you like!