Joy and elation and clapping of hands and feet! The Improvizone podcast is here. The url is http://improvizone.com/podcast.xml and if you've never subscribed to a podcast before in iTunes, have look at the picture below. If you still can't manage it, ask the nearest primary school infant, they seem to have all this techno-bollocks sussed. Probably best not to use those words exactly.
A couple of weeks ago I began to explain what has taken me so long to introduce a podcast. Basically, the two missing things that I wanted were a hit monitor that would work from a podcast as well as on the site, for my own vanity thinly disguised as a marketing assessment, and a consistent set of metadata for the download items, for the benefit of everyone. I've now sorted out both.
One thing I was insisting on that turned out to be a red herring was encoding site-generated metadata into the ID3 tags of the mp3 files. I knew this would be less important when you have a podcast, because the podcast feed itself contains all the metadata the user will see. What I didn't realise is that iTunes itself overwrites the ID3 tags with podcast feed info for mp3 files it downloads. So I almost needn't have bothered spending days working how to hack the mp3 headers myself, though it was all good clean techy fun, and anyway it's still useful if you're downloading the file through the site.
Here's a quick summary of what I've been doing.
The file url on the track download page looks a bit different. The idea was to serve the mp3 files through a common php web page, called
audio.php, which would log a download hit as it issued a file, whether to a web browser or to a podcast client like iTunes. Technically, you do this by sending the appropriate http headers to tell the browser that it's about to receive an audio file. Your browser will then play it if it has an audio plug-in, otherwise prompt you to either open the file in your default media player or save it to disk.
If you save the file disk, you don't a get our helpful file name any more (compare me downloading the new and the old in the picture). This is annoying, but at least in files uploaded from now onwards you will get a consistent naming convention in the ID3 tag metadata when you load it into your media player later. The name comprises the gig date and venue and the order in which I uploaded them. So now that I've finally uploaded something from last week's gig, you can see that it's called Upload 1 from 2007-08-28 at The Plough E17. Sorry about that date format, it's so that file names will sort alphanumerically. For the older downloads, you get whatever inconsistent metadata mess I came up with at the time.
I thought this new link mechanism would do the job. Trouble is, it was no good for iTunes. iTunes doesn't understand http headers, because it is not a web browser. It can only only recognise media files. That meant I had to make
audio.php look like an audio file, as in
_audio.mp3. It is technically possible to have an mp3 file that contains php code and have the web server parse mp3 files as well as php files looking for code to execute. I did get it working at home using a
AddType application/x-httpd-php .mp3 instruction in the
.htaccess file. Unless you run an Apache web server you will have no idea what I'm on about. But it doesn't look like I'm allowed to do that kind of thing on my live hosted site. Probably a good thing, as it would potentially allow anyone to upload mp3 files containing php code to attack us (though I could get round that easily just by stripping off the .mp3 extension as soon as it was uploaded). In the end, there is in fact no
_audio.mp3 file on the site. It's just a simple redirect in the web server. I say simple. I'm talking about the end result. Days and days of trying and faffing have crawled by, slower than slugs on my cannas (actually those buggers are pretty fast) before I finally got all this sort-of-working. If you've noticed any site outages in the last couple of days, that will have been me inserting various sizes of spanner into the
.htaccess file. But then it's all good learning fun.
So the end result is a much more robust hit counter that doesn't rely on a separate instruction from your web browser to register a hit, and that works from iTunes too.
On the subject of stuff I've been doing, I'm reworking the track download page. I've split up the three feedback response sections, so that the page isn't so full of stuff. It may need further work, because in its current state it will forget your entries if you switch from one to the other without submitting. But one advantage is that you can now submit a score without having to enter those annoying spam-blocking characters. So if you're an occasional visitor that doesn't want to get involved too much, you can still click on a score just for fun, eh.
One small thing that put me off podcasting originally is that making the audio available independently of this feedback screen might spell the end of the feedback. I'll just have to see how it goes. Feedback traffic is pretty light anyway, though I'm hoping that will improve at least by making it easier to score. If we end up with many times more hits but absolutely nobody saying how much they like or hate the stuff, I'll have to review the podcasting strategy.
Initially, only items from gigs will be included in the podcast. If you upload your own audio, it won't be added. The first reason for this is technical, in that we use gig details as a title for the track in the podcast feed. Pathetic and feeble, I know. The second is that if we restrict the podcast to gig stuff, then for people checking us out for the first time, it's the best representation of what we play at gigs. If other stuff creeps in that is nothing like what we do, those people will get the wrong impression and go to karaoke instead. That's right, we would never want that sort anyway. Later, I may well add a feature to include non-gig uploads that we like, as we would almost definitely want their progenitors to play at an Improvizone gig anyway.
If you have any comments about the podcast, or the track feedback page, don't be shy about leaving them below. If I've bummed, tell us all how. Or mail me.