Entries Tagged 'Development musings' ↓

Podcasting talks and lectures

Recently I’ve been asked to put a number of talks and lectures online for our local Christians in Science group. The usual structure is to separate the lecture into a couple of audio files; providing a track for the main talk and another for the question and answer session. The last talk had 3 speakers and they wanted 3 separate MP3 files posted online, one for each speaker.

I provide a M3U for people who want to listen to everything, but this time I thought I’d provide a podcast as well, widening the audience reach (hopefully, as talks on Science & Religion aren’t always people’s first choice to listen to ;)). At which point the separate tracks, so handy when downloading via the website, became a problem.

For those not familiar with podcasts, here’s an overview of the structure.

A podcast is effectively a RSS feed for a ‘radio show’ (for want of a better description). It’s also the name given to the audio within it - so “listen to a podcast” is referring to the audio, not the RSS feed :)
Inside the podcast are many items: usually one item per show. The Item will contain details such as the show’s title, a description of the show and other associated details.

Inside each item (yes it’s all confusingly nested) is an enclosure. The enclosure specifies the MP3 file which contains the audio show.

Right. It sounds more complex than it is, but for the discussion coming that structure (RSS feed/podcast -> Item -> Enclosure) will be important.

My problem was that for our local group of Christians in Science, we put on 4-5 events a year. That would suggest each event should be an item. However there are many audio files for each event. Technically you can have many enclosures in an item, but iTunes doesn’t support this feature, which if you care about a sizable chunk of the podcast listeners is a big problem.

So what can I do? Put each audio file in a separate item was my first thought. In a way this makes more sense, as it allows a different description for each speaker. However, if you stumble across one of the files, how will you know it’s speaker 2 of 4 at the event?

This raised another question: what consists of a podcast? I had originally planned to have one RSS feed for CiS-CS listing all events. With multiple items for one event, should I create a separate RSS feed (podcast) for each talk and lecture? Again, that makes sense at one level, but then there’s no way to keep up to date with new talks as they’re posted online, which defeats the point of podcasting in the first place!

So what have I done? I took the coward’s route out, and haven’t put up a podcast yet!

Which approach makes the most sense to you?

Paul Scrivens: The Hardest Part

“Paul Scrivens”:http://www.itnextgen.net/pseudo/ has a very good piece entitled “The Hardest Part”:http://www.itnextgen.net/pseudo/archives/programming/the_hardest_part.php, which sums up exactly where I get stuck on all my projects/ideas. Let me quote the part I resonated with most:

bq. I wish I could run through projects like everyone else seems like they do on the web. You read one blog where someone is implementing a CSS designed site and the next day another. Then someone else is reinventing a new syndication format and it makes me wonder how do they even get started.

bq. When I do something I want it to be perfect. I like to plan things out so that I waste less time actually doing the work and messing up.

The comments offer some useful tips on how to get around the problem, which I shall have to try and put into practice. It’s also heartening to see that I’m not the only person that struggles with this problem that makes me far less productive than many other people.

Many of the comments suggest writing test cases. I’ve never got into writing test cases, as I cannot see how to apply them to a web application - the case would have to mimic a human user. I guess where forms are involved you could automatically submit known values and check you get the result back, but is this what most people mean?

There’s also a comment suggesting the use of a Fusebox architecture. Anyone who’s had practical experience of it like to comment? To my mind it’s always seemed messy to stick the core in one file, but as I’ve realised that a lot of my applications duplicate at least 10 lines of code in each file this may be a better approach.