Last.fm Listening History – What have I been listening to?
What have I been listening to? I have a lot of personal interest surrounding this inquiry, and this project investigates a way to visualize an answer to this question. About a year and a half ago I joined the Last.fm service, which along with its rich features keeps record of all music that you have listened to. This creates a wide variety of interesting statistics including top musician rankings averaged over the prior weeks.
The result is a printed poster, generated using Processing. The poster shows the changing trends in listening history by showing a stacked graph of all musicians that user has listened to over time, and their changing interest in the eyes of that user. The poster is a sort of virtual mirror, reflecting very personally significant events made visible by the changes in listening trends.
Existing Last.fm information graphics
Last.fm generates it's own graphics to illustrate a user's listening record. This is all very interesting briefly, however Last.fm provides only mediocre methods of visualizing this rich information. The significant missing dimension of the Last.fm visualizations is time. You can see an average over a time period, but cannot see how listening habits have changed over time, which is perhaps the most interesting aspect of the data.
Data Collection & Inquiry
The first step is to collect the data itself. Using a Processing sketch I scrape the entire history of a user's Last.fm account – recording it to a local file which I can then use to investigate trends.
I started the investigation by creating a very simple interactive visualization. This allowed me to filter, transform and navigate the user's last.fm data, in an attempt to find something truly interesting to focus on.
What seemed to be most interesting was the “discovery” of new musicians, and their resulting obession and fade. Also interesting was when musicians made a later resurgence.
What should color represent?
The first attempt was to have color represent “genre”. Last.fm doesn't maintain data of a musician's genre, as that information would become heavily debated.
In an effort to robustly define “genre,” I created a visualization which placed each musicians on a circle, attempting to get “similar” musicians closer together, hoping this might align with a color wheel.
Unfortunately, this was not very informative, and this idea was scrapped.
I ultimately decided on a color scheme that highlighted both the point of discovery of a musician as well as the user's overall interest in them. Cool colors represent a “core,” musican who the user is familar with, while warmer colors represent a more recent discovery. The most saturated the color, the more interest the user has in that musician.
The Stream Graph – stacked graph layout
The resulting graphic is a stacked graph. Each colored layer represents a musician, progressing from left to right through the eighteen month span growing wider when listening was more frequent, and skinnier when it was not.
The layout method is unique, dubbed a “Stream Graph,” it acts to have the least amount of distortion to the graph and is responsible for generating the elegant non-symmetrical curves. For more information about the Stream Graph, read the whitepaper.