Mike Macgirvin
Diary and Other Rantings
Beyond Silicon Valley
   
Friday, May 16 2008, 01:32 pm
Dec 05, 2005
itunes DTD really sucks
I've had about enough of the iTunes XML namespace DTD. Think I'll yank support from my codebase. Originally I thought it would be nice to be able to provide Apple compliant podcasts. But whoever came up with this DTD should be drawn and quartered. If you've been following the furor over podcasts over at Wiki, I think we'll probably find that Adam Curry invented this DTD. If you haven't been following - here's how it goes. Somebody has been editing all the references to podcasting on wikipedia. They've been over time removing reference to every name on the page except for Adam Curry. All the developers who actually made it work. Now here is where it gets interesting - all of these edits have originated from IP addresses that are owned or controlled by Mr. Curry.

But I digress. It's the DTD that I'm ranting about. They've got an element called <itunes:duration> - which gives the play length of a sound file. This is a wonderful thing to have on a podcast because the RSS spec only supplies the size of a media attachment in bytes; not in play length. But why - oh - why is <itunes:duration> an element of <item>, which is a description of an article ? It should be an element of <enclosure> - which is the data it describes. The problem arises if you have two such enclosures. Which playlength belongs to which file?

Turns out that this is only one issue with the iTunes DTD. There are hundreds more. After all, it wasn't designed to be a web standard. It was designed quickly as a means to sell Apple products, and coincidentally is a perfect one-to-one match for the iTunes.com database schema. Think I'll wait for a better attachment DTD to come along.

Categories: software
Comments? | More Actions Open/Close menu
Back
"I shall expect a chemical cure for psychopathic behavior by 10 A.M. tomorrow,
or I'll have your guts for spaghetti."
-- a comic panel by Cotham