Back to Work: Looking Beyond the Play Button
Wednesday, February 04, 2015, at 03:25PM
By Eric Richardson
KPCC's new iPhone app showing its ability to rewind to the beginning of a currently-playing show. Behind the app is code from the project.
I've been back at KPCC for about four months now, and it's been a trip to drop back into code and ideas that I had left behind in 2012 when we headed east to Atlanta. There have definitely been times where I've wished code that I wrote back then wasn't still around to greet me, but on the whole it's been great to get to pick up the process of thinking about how radio works in the digital age.
Today some of that thinking actually gets into the hands of users. We just pushed a completely-rewritten version of KPCC's iPhone app that lets you rewind to the start of the currently-live program regardless of when you start listening.
Right at the tail end of my first stint at the station, we switched KPCC's online streams over to StreamMachine, a server package that I had written to replace our aging Shoutcast processes. It's done a great job serving our online listeners over that period, but until today it hasn't had a chance to show off its party trick: letting listeners step back in time and explore "nearly live" radio.
In March of 2012 I wrote here about "taking radio beyond the play button" and a little bit about the potential for new listening experiences we could enable by treating our "recently live" stream as a big buffer that you could use in different ways.
StreamMachine has had that buffer for three years now, but no one really ever got a chance to take advantage of it. The Knight Foundation didn't choose to take us up on the grant proposal we submitted, and other priorities left StreamMachine dutifully serving up plenty of live connections, but none that wandered back in time.
With today's launch—credit for which should go to @seandillingham, Ben Hochberg and @meeker5—we're finally taking a first step into those capabilities. The app lets listeners play the live stream or rewind to the start of the current show, along with the usual complement of on-demand podcasts, etc. You can't yet seek to arbitrary positions or explore previous programs, but you can finally solve the problem of tuning in only to realize you missed the top of the show.
Under the covers is another very cool change: the app and StreamMachine are now using Apple's HTTP Live Streaming (HLS) protocol instead of Shoutcast for pulling the audio stream. Where Shoutcast is one long connection that needs to stay active, HLS uses a stream of short-lived connections that grab segmented chunks of media content. That's way more user-friendly in a mobile world where listeners hop from WIFI to 3G/LTE and back with regularity.
There's lots that I'll want to write about the process of implementing HLS and its implications for things like listener analytics, but that will be a different post.
A nifty byproduct of the switch: you can now hit pause, run into the store, and hit play again afterward to pick up right where you left off. In the Shoutcast world, that would have required that the app keep sucking data while you weren't listening, but HLS lets us just go back to pulling segments as needed.
As today's launch trickles down to users, we know we'll run into lots of edges that could work just a little bit better, but hopefully we'll also get listeners excited about new ideas in how a radio stream fits into their daily life.