The RadioValencia.fm project is a study in agile, team-based development, small incremental improvements, volunteer management, and a commitment to creating awesomeness that can be used as a foundation for even more awesomeness for years to come.
Radio Valencia formed as a small cabal of “pirate” and indie radio veterans from around the Bay Area, led and spurred into existence by the inimitable ambition of Chicken John Rinaldi, in whose warehouse the studio now stands.
In those first few hours together, we “the brain trust” set out to characterize the sorts of technological features that would make for an engaging radio station website. We wanted each show to have a customizable space of its own, but we also wanted to keep all of the diverse radiovalencia.fm content thematically integrated. We wanted DJs to be able to create the website “atmosphere” most befitting of their own shows, whether they wanted to focus on promoting their podcasts or whether the live experience was more important, whether they would want to use a Radio Valencia blog or just link to their already established websites on other domains.Most of all, we wanted to give visitors to the website the opportunity to discover new music — to get that “AHA!” moment upon hearing that new song they didn’t know they’d been missing their whole lives, and to connect directly with the DJs that would bring it to them.
So when I heard at WordCamp 2010 SF that the next major version of WordPress would come shipped with “multisite” features which had previously only been available through the somewhat-dodgy WordPress MU project, I knew we’d be using WordPress 3.0 for Radio Valencia’s website. I’m a fan of the “blog network” style of websites such as scienceblogs.com which tends to foster lots of interesting dialog and more community interaction — perfect for a community-focused radio station. And WordPress’s superior template-based approach meant that standardizing the experience across all of the show blogs and front page would be a cinch.
Sometimes feature-creep can be a good thing.
To get that nifty Now Playing / Later / Even Later bar on the front page, yet more custom code was needed. Originally we were using Google Calendar, because its interface was easy and its API promised us the ability to integrate it into our website. However, the effort to consume Google Calendar data and keep our website up-to-date with the latest schedule appeared to be about the same as writing something specific to our needs.
So, off we went to the PHP mines and came out with a “Radio Operations Kit”, which allows any random schlub with “manager” level permissions the ability to add and remove shows from the schedule, as well as associate these shows with their Radio Valencia Network show blogs. Now, with its logical placement in the radiovalencia.fm Dashboard and its ease of configuration, we’re set to use it as the “Grand Unified Schedule” to control our podcasting scripts too.
Very much an “alpha” release, we would like to offer it to the world as an open-source, free WordPress plugin, but it, like everything else on RadioValencia.fm, is still a work-in-progress.
With dual goals of seamless surfing across the Radio Valencia Network of shows but also a desire to allow maximum possible customization, careful attention was paid to the creation of templates for the Radio Valencia show blogs.
We presently only have one “approved” Radio Valencia show blog template. But the tireless efforts of Radio Valencia hacker Orin Zebest produced a template that was highly configurable, allowing one, two, or three sidebars depending on where a DJ decides to drag in widgets. More templates will come with time and DJ demand (which is low enough at the moment that we are prioritizing other things).
RadioValencia.fm has come through many successive iterations in the past year and continues to evolve based on the interests and demands of the Radio Valencia DJs and our community of listeners.
Planned upgrades in the works include:
I set up the streaming computer in the studio and also the remote broadcast server. Both computers run linux. We use darkice to create a stream and icecast on the remote server. A rag-tag collection of scripts run our podcasting efforts. (That was a technical journey all its own, and is beyond the scope of this article!)