Posted on 30 Marzec 2012

PlayGo: putting the “spot” into Spotify

Once upon a beautifully sunny weekend in March, the 2012 edition of Music Hack Day landed in Amsterdam. 90 hackers and some 15 music companies came together at NIMk on the Keizersgracht to spend a weekend coding away on APIs, hardware, HTML5 and everything music related.

After the introduction and API partner presentations I quickly teamed up with former Mediamatic colleague Klasien and longtime fellow hacker Dirk. Other team members were Mark, Joep and another Mediamatic suspect, Blaise. Together this great team's combined skills ranged from backend coding, iOS, Android and back- and frontend web development, design, wireframing: you name it, we had it. One of the side effects of having such a big team was of course a lack of focus and being very (too?) ambitious... but we had one things in common in our ideas: combining location data with music.

So PlayGo basically lets you “record” the music you listen to while you're on the go, out running, cycling, driving or whatever activity you do outside. It's three parts: recording, editing, and playback.

The recording part runs in the background of your normal apps. While you are listening, your music is being tagged with your current location, leaving a trail behind, so PlayGo knows where you have been and what song you were listening to at every moment. Basically your playlist is being geotagged. The mobile recording app then provides a view of this playlist.

When you return home, you open Spotify and open the PlayGo app. There you see your tracks and the possibility to tweak and edit them, preparing them for the world. When ready, you can share your playlist with your friends through the regular social media, or send them to your friends for playback in the special playback app.

The playback app also runs on your phone, and plays the tracks on the locations where the author of the playlist originally recorded them. Listening in such a way to the playlist, you can relive the experience the original playlist author experienced.

Quite a nice idea and while there is already Shoudio, which is focussed on every kind of audio, our PlayGo is more focussed on music playback: it plays any music from Spotify, no need to upload your own tracks.

So what did we build?

Since we had only three minute on stage to present, our presentation was quite cramped with content: everything from a live demo of the web app to a logo, prototypess and even a movie demonstrating the app's use.

The recording part got built as a Zotonic web application (well of course! :)) It used the brand-new realtime API to record what song the user was listening to, and the Google Latitude API to track the user's position. A frontend was built with jQuery mobile to display the current recordings of a user and the route that he took. I actually wrote a lot of code, building Erlang API connectors to both Last.FM and Google, and tracking daemons to continuously poll and store the user's tracks. The recording part is actually already in a working state, minus some caveats with the geotracking.

The playback part was built as an iOS application which used Geofencing to decide which track to play in which area. Dirk got pretty far, building an app controlling Spotify in the background. Like the recording part, it is also available on github.

The Future

Is there one? What's for sure is that we really enjoyed the weekend! Wworking like crazy for long hours with limitless beer and pizzas really got us somewhere: we got recognition from the Spotify guys by winning their price. Awesome Urbanears headphones plus a year Spotify premium subscription :-D Thanks again guys :)

But seriously. I think there is real potential in this idea and with the current code base we can get somewhere. We did not get around to integrate the web interface into Spotify, but that's one thing that is high on our list. Heck, if I have some hours in the coming weeks I might even have a go at this! Keep you posted.

Lastly, thank to the Music Hack Day organisers for a wonderful weekend!

More images

Created on 30 Marzec 2012 19:58, last modified on 30 Marzec 2012 20:40.

Leave a comment