Tuesday was our first office-wide Hackday at Turntable. Our frontend developer Dan decided to mine our database for data about how songs spread between users. Here are his findings:
Happy (belated) V-day, turntablers! I’m Dan, a TT developer, and in honor of this day of love, I’d love to tell you about a project I’ve been working on for Turntable’s inaugural internal “hack day”.
Unless you’ve been living under a digital rock, you know and love this little “valentine” that floats through the room every time someone adds the currently-playing song to their own queue. Snag! Gank! Yoink! Heart fart! Whatever you like to call ‘em, there’s no doubt that they make up a large part of our culture on turntable. Sometimes you hear a song that’s just so dang good, you want to shout it from the mountaintops, to walk out on the street, boom box in hand, so the rest of the world can understand just how awesome this song is. It is for these moments that the almighty snag was invented.
When a new song is played on turntable, it’s often snagged by many people who go forth into other rooms and play it for their friends. Some of these friends may love it enough to snag it themselves and share it with their friends, and the cycle continues! I’ve always found this to be a fascinating part of our community, and have often wondered how far my own favorite songs have spread through the TT universe. So this week, I decided to find out.
Ever since the day the “snagging” was introduced as a new feature on turntable, Jon (who draws cats) set up our servers to keep track of which songs were snagged by whom, and from whom, and stick this bit of info in a collection in our database. Then we didn’t touch that collection for a long time. So imagine my excitement to poke my head in there yesterday and find an untouched goldmine of nearly 8 million snags collected over the past year and a half! I immediately set to work writing a script to sort these out and generate something visual to show how songs propagated through the community. After a (hack) day’s work tweaking data and playing with d3 I was able to generate this lovely tree, which shows all snags for the song “At The River” by Groove Armada, one of my all-time faves:
At The River
Reading the chart, like reading the rings on a tree stump, requires a bit of explanation: The cluster of green dots in the middle represent a song’s “primary sources” – that is, people who added the song to their queue on their own, either by uploading it or searching for it in our library. Each grey line is a snag from another user, represented by the yellow dot at the other end of the line. As they play the song for more people, the “snaggers” become “snaggees”, adding another layer to the tree and spreading the music out to more people! I’m quite proud of this particular tree myself – as you can see, after I snagged the song from “Zound” (halfway up from the middle) I was able to share it with many more people.
Not content to stop there, I began to plug in more and more songs to see what their snag trees looked like. Not surprisingly, there is as much variation in these patterns as there is in the songs themselves. Soon we were able to identify a few common species of tree.
On one end of the spectrum, there are songs which are already very popular outside of turntable – for example Macklemore’s “Thrift Shop” and LCD Soundsystem’s “New York I Love You”, which are shown below. Songs like these, we found, have very large collections of primary sources – they are already so well-known that most people add them to their queue on their own rather than snagging them – and their trees don’t extend out as far. Thrift Shop is so popular that the first two layers of dots are completely obscured by the thousands of snags mashed on top of each other.
NY I Love You
On the other end of the spectrum, there are songs which are, at first, completely unknown outside of turntable – because they were debuted on turntable by their original artists! Below are a few examples – Knife Party’s “TT VIP” version of “Internet Friends” and Bronze Whale’s remix of Miike Snow’s “Devil’s Work”. In both of these cases, there are very few original sources who, by sharing their creations on turntable, achieve a much wider audience through snags.
I’ve saved the best for last – the most interesting trees come from the songs that “go viral” on turntable. These are songs that are known to some people outside of TT, but are significantly more popular in our community than in the rest of the world. Of course, snags are the reason for this phenomenon – people discover the track in a turntable room, become smitten with it, and spread the discovery throughout the site. My favorite examples of this are “Wildflowers” (or really any song) by ::M∆DE:IN:HEIGHTS::, and CoinJar’s mashup of Will Smith vs. Parov Stelar, “Gettin’ Booty With It.” Check out the spread on the latter, I count 13 “generations” (tree layers) of snags. For those keeping track at home, that’s a snag of a snag of a snag of a snag of a snag of a snag of a snag of a snag of a snag of a snag of a snag of a snag of a snag!
Gettin’ Booty With It
Well, that’s all for now! I hope you’ve enjoyed getting a glimpse into the life of a snag. I’m sure many of you will want to see the snag trees of your own favorite songs. Unfortunately, right now my code is less like a feature and more like a Frankenstein monster, but rest assured that this is something I’d love to make happen!