BlogMatrix
 

Enclosure Independence

edit David Janes 2005-01-24 23:42 UTC  ·

A variant was originally posted to the Podcasters Yahoo group. It will be in the next version of Sparks!

One theme that I've noticed this list comes back to over and over is "how do I add the tags to my RSS feeds/how do I get podcatchers to automatically download my podcasts/what's the correct X for the element". A number of podcasters (34, to my count) have gone with using FeedBurner to automatically create the enclosure elements for them.

I've also looked at a number of video blogger (the strange parallel world to podcasting where they're sending out _videos_ rather than _audio_ files. Strange, eh?) feeds and many, maybe most, are not doing anything to facilitate automatic download of their data. I had decided to (in Sparks!) to allow the user the option of automatically recognizing all linked attachments in RSS entries -- that is, find all the <a href="...">, decide whether they are "podcatchable" and converting them into attachments.

This will work fine if the attachments end in a friendly extension (".mp3", ".mov", et al) but really isn't ideal since there may be a reason that the HTTP file is not so nicely named. Perhaps the solution then is to allow the podcaster to _explicitly note that this is an attachment_. That is, instead of posting:

<a href="http://example.com/blog/MyPodcast.mp3">

then would slightly modified to

<a rel="enclosure" href="http://example.com/blog/MyPodcast.mp3">

and that's that. News followers will note that Google is using the "rel" tag in an attempt to stop comment spam; this is also perfectly valid HTML.

This method slays several birds with one stone:

  • it defines multiple enclosures per entry
  • it's trivial for podcasters to add to their RSS feeds
  • it's fairly easy to implement on the client side
  • it's very close to what users are doing now (i.e. often they are linking to the attachment in the HTML text of their RSS anyway!)

Here's a screenshot of Steve Garfield's video blog with attachments automatically identified (and selectively downloaded):

Notes: