My Extension Wish: A Joint Jukebox

Thursday, January 14, 2010 | 5:26 PM

In the API corner of the Google Wave cubicles, we're often digressing into energetic discussions about an awesome extension that we want to see, and scheming about how we can encourage developers to implement these fantasy extensions. Since none of us are very good at inserting subliminal messages into forum posts, we figured we'd share our ideas on this blog instead, in a series of posts from various members of the Google Wave team.

To start off the series, I want to sell you on the idea of the "Joint Jukebox". First, some background. Sometimes I find myself in situations where friends put me in charge of playing music during a party, and I am constantly reminded by said people that I have one of the "worst" tastes in music ever.

So, I have experimented with various ways of giving people a way to influence the stream of music. When I was a lab assistant in college, I wrote an app that used Google Spreadsheets to power a Youtube player that I projected on the screen. My classmates could add Youtube video IDs to the spreadsheet, and change the number in the "rank" column to get the video to play sooner. That worked alright, but the voting mechanism (the "rank" column) was too easy to hack, and not that fun to use. I always envisioned writing a digg-like interface for it, but since I never got the chance, I'm putting you up to the challenge of doing it... but Wave-ified!

The Joint Jukebox would let users search for songs (using any one of the various music APIs on the web), and then submit play requests (or skip requests for the haters) on each submitted song. A highly intelligent algorithm would be constantly analyzing the current rankings and play history of all the songs, and use that information to select the next song to play. A group could use this as their DJ for a party or joint working space, just by hooking up a computer displaying the Wave to their audio system. Or, a couple in a long-distance relationship could use it across oceans, to feel like they're aurally connected. The Jukebox could also support playing music videos, or even playing karaoke versions of songs with lyrics displayed. No more listening to lame slow songs by the one depressed dude at Karaoke — you'll just vote him down!

The diagram below — made using a cool UI mockup app called Mockingbird (which would also make a great extension to Google Wave) — shows what the main screen and stats dialog could look like for the gadget. The jukebox shows the currently playing songs, the songs slated to play next, and then tabs to browse other songs users can rate. Users can suggest new songs, of course, when they want to listen to the latest from their favorite pop star or musical TV drama. :)

So, that's my wish — making music listening into a collaborative experience. If you want to help fulfill my wish — or if you're inspired to take it in a different direction — pop by the forum and share your ideas. Thanks, in advance!