When I was a Junior or Senior in High School, I started this little project called RhythmCloud. This was around 2009. The idea behind RhythmCloud was that you could listen to your music anywhere, from any browser or mobile device, without ever having to sync anything. You’d simply run the RhythmCloud server on your home computer and it would stream your entire music library to any web browser.
So I started writing it. GStreamer for track conversation, ID3 tag libraries and SQLite for library database… PHP and HTML/CSS/JS for actually serving up the streams and library, and some weird Flash OGG player written in Haxe that I’d dug up on the web… I wanted to avoid any licensing things with MP3… and OGG actually tended to sound better at lower bitrates.
So I built it. And it worked
It was ugly, but it was working. It could stream your whole library with zero-effort from anywhere. All I needed to do was polish it up… maybe re-write it a few more times… but as with any side project, it got lost in the business of life.
Then Google Music came out. And Apple announced a cloud solution for iTunes. And Amazon Cloud player appeared. RhythmCloud didn’t seem as novel as before. So I stopped working on it for awhile.
But since then, playing my music has never felt right. I started trying these new cloud services… and no matter what I tried, I never felt the experience was perfect. I was used to having my own library, and using desktop music applications like Amarok (or Clementine) and the powerful control they gave you over my music and playlists. I didn’t want to sort through a gigantic list of artists and songs to build a new playlist each time I wanted to listen to music. And I also didn’t want some random algorithm picking the mood of my music.
I wanted some real tools to bring the music I wanted to the surface of my own library. And I wanted it to be beautiful. Like Zune beautiful (pictured), with the functionality of ye olde music library managers.
This experience doesn’t seem to be out there. So I’m going to build it. My latest side-project is Tunr.
I dabbled here and there with re-starting RhythmCloud. But after winning an award at MHacks 2014 with a cobbled together draft of what my cloud player might be like, I decided to start fresh.
Tunr will feature your library. Copies of tracks that you posess, in the cloud. Tunr will keep your library in its original form, but store it online and give you access to it from anywhere. You’ll even be able to sync your library to any device in the format you originally uploaded it in. New tracks that are added will be stored and synced as well. Your library is everywhere at once, and always up to date.
This persistance of your library has a huge number of benefits outside of just data security as well.
- Playlists and preferences stored in one central location, accessible anywhere
- Adding music on your phone or computer and having it available instantly on other devices
- Long term analysis on music discovery and listening patterns
This last point is huge. Data is powerful, and if you use one platform to manage and consume your music across all of your devices, you’re unleashing a treasure trove of data that can be used to further your listening experience. At a surface level, this could reveal things like what sort of music you tend to listen to during the winter, or if your mood tends to shift toward a different genre during weekend nights. The possibilities are endless! Imagine mood-driven music experiences, where the system is already informed about what sort of moods you tend toward given the current context.
I’m super excited about this project, and have been for a long time. Hopefully I can manage to at least get a working prototype to production quality this time!