RadioValencia dot fm

Radio Valencia logo by Rick Abruzzo

Tune In while you read the story:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

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.


Planned Serendipity

schedule-driven "now playing" bar, powered by a custom WordPress plugin

schedule-driven "now playing" bar

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.

the chat window in action on RadioValencia.fm

simple chat widget allows DJs and listeners to heckle each other in Real Time

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.


WordPress 3.0: Some Assembly Required

Radio Valencia's Station News feed

simple category-based filtering of posts gave us a Station News feed.


Some batteries were not quite included, however. While doing the Station News feed was a no brainer — a simple category-based selection of posts for the index — the “Recent Posts” feed required a bit of custom code.
The "Recent Posts" feed on radiovalencia.fm

DJ's blog RSS feeds are pulled into a special table to show all recent station activity on the front page


We assumed we’d be able to build a front page of varied blog posts from everyone’s show blogs through some magical new template functionality in WP 3.0. Instead, we ended up using each sub-site’s RSS feed to build a new table in the database, which the front page would then pull from. This prevented the excessive database queries that would have occurred if we’d polled each sub-blog’s latest posts each time the page was loaded.


From Nifty Widget to Operations Panel

The Radio Operations plugin created for Radio Valencia

The Radio Operations plugin has an interface even our station manager can use!

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.


Any Template You Want, As Long As It’s Black

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).


Pogress! [sic]

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:

  • Smoother user experience that encourages discovery of new music (e.g. “related shows you might like”, ability to browse shows by genre).
  • Automated podcast RSS feeds, allowing linkage with a DJ’s blog post for the playlist for that show.
  • On-page music request buttons that let users send requests directly to the current DJ.
  • Ability for listeners to download custom podcasts based on spans of time, directly from our archives.
  • Tighter inter-blog interactivity (e.g. “related posts about this kind of music”, “see comments by this DJ on other blogs”, etc).

Other Stuff

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!)

Share and Enjoy

  • Facebook
  • Twitter
  • Delicious
  • LinkedIn
  • StumbleUpon
  • Add to favorites
  • Email
  • RSS

Email
Print
WP Socializer Aakash Web