Apple has released their
PodCast Specifications. I note three places where the
specifications deviate from their sample, in one case,
significantly so.
Spec: <itunes:explicit> There are 2 possible
values for this tag: Yes or No
Sample:
<itunes:explicit>no</itunes:explicit>
Spec: <itunes:duration> The tag is formatted:
HH:MM:SS
Sample:
<itunes:duration>7:04</itunes:duration>
Spec: <itunes:image>
Sample: <itunes:link rel="image"
type="video/jpeg"
href="http://www.itunes.com/podcasts/everything/AllAboutEverything.jpg">All
About Everything</itunes:link>
Other thoughts:
Given the rather constrained set of permissible values for
itunes:category, validation can be a significant value
add here.
I like the way the specification clearly states that a number
of elements are not to contain HTML.
I also note with interest that this specification encourages
the use of utf-8. Perhaps a warning is in order if the itunes
namespace is encountered and the encoding is other than
utf-8.
I ran into the same issues this morning. And now, when I try to submit my feed, I get “We are currently experiencing technical difficulties. Please try again later.”
Oh, well. Hopefully they get it all worked out. Still not sure how they want images included, though.
"<itunes:block>
This tag is used to block a podcast or an episode within a podcast from being posted to iTunes. Only use this tag when you want a podcast or an episode to appear within the iTunes podcast directory."
The first and second sentences are contradictory, aren’t they? Shouldn’t the second say "...when you DON’T want..."?
And what should the value of this element be? Should it just be empty (eg. <itunes:block /> or <itunes:block></itunes:block>)--ie., does it’s mere presence indicate that the item should be blocked (that' how I read it), or should it have a value?
And finally, I assume this can appear either at the channel or item level to block the entire feed or just one item, right? Being explicit about that wouldn’t hurt.
What’s your guess about the itunes:block element? No example, and I doubt they mean what the spec text says “This tag is used to block a podcast or an episode within a podcast from being posted to iTunes. Only use this tag when you want a podcast or an episode to appear within the iTunes podcast directory.” but once you change that to “not to appear” do they mean it’s an empty element, or one or the other of their Yyes|Nno values?
I love the smell of disintermediation in the morning. The new iTunes software update enables a little Podcasts folder. Suddenly you get a clean aggregation of a selected fat heat of the long tail in an integrated experience....
Get it NOW! Oh and while you’re at it: don’t forget to pick up the new iPod updater as well. First quick impression: cool stuff. The interface still needs a little polishing, though - the menu navigation seems inconsistent. The tags are not...
Word on the street is that <itunes:image> doesn’t work, and <itunes:link href=""> does.
Most amusing (in the sense of "I laughed so hard I spit bitten-tongue blood across the room") find, while looking at their prominently featured partners' feeds for clues: Disney has replaced the core /channel/image/url with <itunes:link>(their image url)</itunes:link>
Well, back to the RSS 1.0 RSS 0.91 module, which defines <rss091:webmaster> for sideways compatibility with <webMaster>. If Mark ever does find that hobby, I sure hope he tells me what it is, and how to get started in it.
Sam Ruby identifies the IP address of every person who comments on his weblog, as you can see by hovering over a name. For message boards and weblog software I have developed, I won’t reveal user IP addresses out of privacy and security...
FWIW, my experience is that both trolling and spamming were greatly reduced once I implemented this. Related: Beware of Strangers Users Who Share Locations...
[more]
Phil - even more amusing, there is a very subtle mistake in Disney’s xmlns:itunes declaration, making all of their ITunes metadata effectively invisible to any parser than understands namespaces.
I wonder if it works anyway (for things other than the image), implying qname-matching regex parsing?
Yes, the Disney namespace (PodCast instead of Podcast) works. But it’s not based on qname, and it’s not based on regular expressions. From my tests so far ( [link] ):
If the itunes namespace matches exactly, it works.
If the itunes namespace matches case-insensitively (lowercase, uppercase, or any mixed case other than the correct case), it works. (This is a generalization of the Disney case.)
If the itunes namespace matches case-insensitively and is defined by a prefix other than “itunes”, it works.
If the itunes namespace is something else (like substituting “example.com” for “itunes.com” in the namespace), it works but does not find any of the information in the iTunes namespace, and it falls back on information in the RSS feed (channel/description instead of channel/itunes:subtitle, etc). This “etc” probably bears further research, to determine the mapping between default RSS elements and iTunes elements.
If the namespace declaration is missing, it does not work at all.
If the feed is ill-formed (missing the final end tag on "rss"), it does not work at all.
By “works”, I mean it downloads and parses the feed, displays it in the local Podcasts subscriptions list, and downloads my sample MP3.
By “does not work at all”, I mean it displays nothing from the feed, only the URL and a “!” icon that, when selected, displays an alert “URL does not seem to be a valid Podcast URL.”
So it appears that iTunes uses a real, draconian, namespace-aware XML parser... except that namespaces are case-insensitive.
I pass along this information without further comment or judgement.
It appears that iTunes 4.9 doesn’t EVER respect the charset parameter in the HTTP Content-type header. Test cases:
[link] displays subtitle with curly quotes (correct - HTTP declares “application/xml” with no encoding, XML says “windows-1252”, iTunes correctly treats it as windows-1252)
[link] displays subtitle with blocks where quotes should be (incorrect - HTTP says windows-1252, XML has no encoding, iTunes incorrectly treats it as UTF-8)
[link] displays subtitle with blocks where quotes should be (incorrect - HTTP says windows-1252, XML says iso-8859-1, iTunes incorrectly treats it as iso-8859-1)
If this were removed, and if iTunes 4.9 ignored the charset parameter, then the feed would not be considered well formed.
You are correct, that feed was not actually testing what I thought it was testing. (The other two appear to be accurate tests.) I’ve corrected the feed to match my prose description (HTTP declares “windows-1252”, XML has no encoding), and iTunes now exhibits the behavior you predicted: it does not look at the HTTP charset parameter at all, and since the XML body has no encoding information, it fails to parse the feed at all.
MarkP: "it appears that iTunes uses a real, draconian, namespace-aware XML parser... "
kellan : MarkP: “it appears that iTunes uses a real, draconian, namespace-aware XML parser... ” - except that namespaces are case-insensitive. (just keeps getting better)...
Tantek Çelik: Excellent! Here’s a few more specific questions. In particular, don’t miss this one. I’d also suggest that you investigate the state of common practice at the moment, for example, Disney, ESPN, CNN and New...
[more]
Hmm ... “The impertinence of all things” ... has a nice ring to it. Inspired by one of Mark Pilgrim’s comments on Sam Ruby’s entries (here and here) about Apple’s Podcast specifications. Or should I spell that "aPplE"? I guess they won’t care....
Otto: I’m still hearing conflicting input on this. Once the spec is available, it should literally only be a matter of hours before I make the change and the code is online.
You know people, I am a total apple fan, have bought a mac with my last money, even though I am unemployed, got excited about the itunes podcasting feature, and I am SO disappointed about them bending the rules to their firm instead of first learning all the rss2 features properly.
I see no reason whatsoever for their tags which are merely doubles of the rss2 tags.
Last but not least: Even worse is their “nice” "enhanced" AAC format which makes lots of podcasters now release their podcasts in those compressions which no other mp3 player can play anymore.
I suggest to all of you to boykott this format by not producing it and not subscribing to such feeds if alternate mp3 feeds are available.
Don’t let apple suck us all into their empire and make us dependent from them.
I am trying to develop another podcast player on CyMeP.org in order to keep podcasting in the community and not in apples hands. You are welcome to suggest features you would like to see there to me - let’s do it together !
HELP PLEASE!
I’m a newbie to podcasting and much of what you have posted is quite helpful- here’s my problem: I’ve got my tags correct, etc. for iTunes, but my inital post of the location of the .xml file to iTunes is WRONG! I want to edit that within iTunes, but it seems to be unchangeable- can I adjust that or DELETE that podcast. There does not seem to be any way to delete a published podcast- any help would be greatly appreciated- jean@indepres.org
This started out as a Random Thought (RT). background The Feed Validator is organized as a recursive descent parser for various feed formats. It is implemented in an object oriented fashion, where each element ‘knows’ what the possible chi...
[more]
Comment on My year in 12 copy-and-paste comments by: Mark
January Pedants! February I’ve been active; you’re just not looking in the right places. March “It looks like you’re trying to view a web page with images. Would you like the Web Browser Assistant to prompt you for each...
Oh come on, Dewitt, you’re not even trying! Niall hands you the perfect opportunity to diss Apple, and the best link you can come up with is a weak-ass Winer rant? I can think of plenty of better links for a phrase like "Apple’s casual relationship...
Oh come on, Dewitt, youaposre not even trying! Niall hands you the perfect opportunity to diss Apple, and the best link you can come up with is a weak-ass Winer rant? I can think of plenty of better links for a phrase like "Appleaposs casual...