Dare Obasanjo is exploring support for Atom 1.0 based podcasting in RSS Bandit. In a note on his blog, he points to the article I wrote recently about Atom and notes that the enclosure link and content-by-reference mechanisms in Atom provide podcasters with two different ways of creating podcasts.
<link rel="enclosure" type="audio/mpeg" href="http://www.example.com/myaudiofile.mp3" />
<content type="audio/mpeg" href="http://www.example.com/myaudiofile.mp3" />
IMHO (and I believe most if not the entire atompub working group), the right way of doing podcasts with Atom is to use the enclosure link and not the content-by-reference mechanism. Why? Several important reasons:
- You can have multiple enclosure links in a single entry allowing you to offer your podcast downloads in multiple formats (e.g. MP3, BitTorrent, etc) and in multiple languages. In contrast, there can only be one content element per entry.
- Using enclosure link for the audio allows you to use the content element for show notes.
- Enclosure links include a length attribute that tells you the size of the file being downloaded, the content element does not have a length attribute.
- Enclosure links are extensible allowing expressive metadata to be added to the link; content elements that use the src attribute for content-by-reference are not allowed to have any child content.
The bottom line is that using the atom:content element for podcasting would be quite similar to using the RSS 2.0 link element for podcasting instead of the enclosure tag. Sure, it could work, but enclosure is significantly better suited for the job and it would really just be silly to do anything else.