Music graph

See a demo here!

This program was inspired by wanting a more informative way to visualize music recommendations. Rather than list the recommendations, this lists artists as nodes, and recommendations as edges. When enough of the bands you enter recommend another band, that band is then displayed.

Privacy stuff

Last.fm requires I cache similar artist results for at least a week, so I store your search string, the results, and the time you searched. I don't store anything about you.

Technical Details

Graph Drawing

The graph itself is a force-based graph drawing algorithm implemented in Javascript and the HTML5 canvas. The edges of the canvas repel nodes in order to keep nodes on the screen.

Recommendations

I use the last.fm api to get recommendations of similar artists. Before last.fm, I used tastekid, but last.fm provided more neat things in their API, like similarity scores.

Other Web Development stuff

The JavaScript is supplemented by the jQuery JavaScript library. The awesome tabs were thanks to the jQuery UI library.

The todo list below was generated by a cool little script that saves a To Do list, and can output it in html. I'll make it available once I clean up the code.

The demo is valid HTML5 as of March 26. This page is also valid:

Valid XHTML 1.0 Strict

Woo.

I'm in the process of refactoring the JavaScript, and using JSLint to do some quality checks. I hope to make the code available in a git repository or something at some point.

To do