Here’s a quick update on Listening Room, which I first announced about 4 weeks ago.
First, the level of enthusiasm about the idea has been amazing. THANK YOU to everybody who’s tried Listening Room and expressed your love for it. It’s incredibly motivating to have real people using and enjoying my work.
Having real users has also exposed some bugs and design flaws. Originally my idea was that the server would just route bits between clients, and all the ID3 parsing, playback of different music file types, and seeking to the proper position in a song would happen in the client. But it turns out I was underestimating the difficulty of doing that reliably across browsers. So I’ve been gradually moving more functionality to the server, and last night I pushed an update that introduces transparent server-side transcoding with ffmpeg. Everything streams as MP3 now. Besides being well supported between HTML5 and Flash, MP3 has the advantage of being playable mid-stream. So now if you join a room while a song is in progress, your browser can start downloading from the current position in the song, instead of having to download the whole song and then seek to the current position. All of this has made playback a lot more reliable.
I’ve been iterating on the UI, too. Here’s Listening Room at the end of November:
And here it is on December 10. There’s the new design with sidebar, and instead of a big toolbar there’s just a mute button next to the page title. If you look closely, you can also see that the record has a groove in it which shows how long the track is:
Jump forward to December 20 and it’s getting a little closer to my original vision. There’s a record player, with an arm that tracks the current position in the song. Songs that have cover art are rendered as picture disks. The record is actually spinning while it’s playing:
It’s been a good month. Thanks again to everybody who’s spent time trying out Listening Room and putting up with the bugs. If you haven’t tried it recently, I encourage you invite some friends and listen to some music together. And stay in touch, I really appreciate the feedback.


