There's a long post (and a lot of good comments) over on Sam Ruby's blog about the various problems with Apple's new PhotoCast RSS Module. I find that I'm having a very hard time getting worked up about this. Sure, Apple could have done things better on this module. Tim Bray and Mark Pilgrim have been two of the more vocal on this; witness Mark's comments:
To sum up, the “photocasting” feature centers around a single undocumented extension element in a namespace that doesn’t need to be declared. iPhoto 6 doesn’t understand the first thing about HTTP, the first thing about XML, or the first thing about RSS. It ignores features of HTTP that Netscape 4 supported in 1996, and mis-implements features of XML that Microsoft got right in 1997. It ignores 95% of RSS and Atom and gets most of the remaining 5% wrong.
Phil Ringnalda found that Apple's test feed was doing some nasty user agent testing as well; read his comments on my post from a couple days ago, for instance.
I don't know. I understand the desire for cleaner XML; heck, I reversed my longstanding ambivalence toward Atom awhile back after Dave Winer decided announced that he was pushing work on the abomination that is OPML. It's hard to come up with something less well specified than MetaWebLog API, but Winer's just the guy to manage that feat.
Having said all that, at the end of the day, end users of aggregators don't really give a damn about how XML, or RSS, or OPML (et. al.) ought to be. They see nifty features (or hear about them), and want results. Which means that developers have to just suck it up and slog through the crap. It's not as if we always get things right either; I joined a long list of aggregator developers in not dealing properly with namespaces. Incidentally, I just uploaded a fix for that issue - if you care (in the wild, the kind of bug that post raised is unlikely to come up), you can grab the update.
I've also been following the OPML reading list threads, and - as much as I dislike OPML - the idea has merit. BottomFeeder already reads OPML and OCS, either for importing lists of feeds, or for addition to what's become an afterthought - feedlist support. As it happens, it won't take much work to change the current feedlist support into reading list support. At present, feedlist feeds only update when you select them, and the feedlist itself is never re-read. Changing that will be pretty easy, and will be something that hits the next release.
So at the end of the day, I just can't get that worked up over the various things that disturb the XML geeks a lot (and I don't use that phrase disrespectfully; I'm a Smalltalk geek, and care deeply about a number of things that many developers can't get worked up about). In my dealings with XML, I'm a developer, and I mostly have to make sure that my code works for my users.