Trying to score a goal
As the best and the brightest focus on the possibilities of FOAF, I turned my attention to yesterday’s news: RSS. I knew that Movable Type automatically produced RSS 0.91 and RSS 1.0 feeds but I wasn’t sure which I should use. A search for RSS in Mark Pilgrim’s archives turned up a wealth of material. In a post titled Upgrades, Mark Pilgrim wrote :
Should you upgrade to RSS 1.0? Absolutely. Dublin Core solves half the problems with RSS 0.92, and the syndication module solves the other half. This is where the action is; don’t let anyone tell you different.
I knew that on my home page I had an XML icon with a link to my RSS 0.91 feed: http://weblog.delacour.net/index.xml. I decided to leave that in place while I played around with RSS 1.0—I knew that at least some of Mark’s information would be out of date but I figured that if I followed his tips systematically I’d learn enough along the way to be ready when the RSS 2.0 spec was finalized.
Later in Mark’s post:
if you upgraded manually from MT 2.0 to 2.1, you might not have the RSS 1.0 template. If you’re mucking around with the template and want to know if you screwed it up, try Leigh Dodd’s RSS 1.0 validator. [via Ugo Cei: RSS 1.0 Validation]
My old RSS 1.0 template produced a feed that validated, so I upgraded to the latest template. It also validated. Then I read Mark’s next installment:
Ken MacLeod just taught me that the MovableType template has a minor bug in it; admin:generatorAgent should be a web address, not a name. I’ve fixed my feed, and he’s filed a bug report with the MovableType authors, so I’m sure it will be fixed in the next point release. (Ben and Mena are really good about that sort of thing.) Meanwhile, here’s what I’m using for my admin:generatorAgent:
<admin:generatorAgent rdf:resource=”http://www.movabletype.org/?v=<$MTVersion$>” />
As soon as I made the recommended change, the RSS 1.0 feed returned a validation error:
Element admin:generatorAgent is from an unknown namespace. Please ensure that the namespace declarations are correct. ()
Around the same time, AmphetaDesk choked on my RSS 0.91 feed:
There was an error parsing this channel. The parser reported: not well-formed at line 12, column 215, byte 583 . You may wish to contact the owner of this channel informing them of this XML parsing error, but AmphetaDesk will keep trying to get new updates for you.
Turns out that a block of text I’d copied and pasted included an ® entity instead of ® in the word “Kincade®.” And, as I write this post, the same feed includes:
HASH(0x9cc7ed0) The view from a distant province:…
(I suppose) because that post title contains a <span> tag. RSS is a harsh mistress.
Finally, today I received an email from Phil Ringnalda, imaginatively titled Your slip is showing.
In your RSS 1.0 Index template, there’s a line that reads:
<dc:creator><$MTEntryAuthor encode_xml=”1”$></dc:creator>
and I’m guessing that you really don’t want to be advertising to the world that you log into MT as yourLogin. If in fact you don’t, it would be a good idea to change that line to:
<dc:creator>Jonathon Delacour</dc:creator>
Unbeknownst to me, I’d been feeding Phil’s RDF in RSS project and he picked up the security breach in my RSS 1.0 file. The problem, as he explains it, is that by default Movable Type uses one’s log-in the <dc:creator> tag. I changed my log-in and password lickety-split. Phil Ringnalda, once again, lives up to his reputation as a Prince.
So, what did I learn? That, although the RSS 1.0 vs RSS 2.0 battle appears headed for a kind of resolution, generating RSS 0.9x and RSS 1.0 feeds is not exactly straightforward. My RSS 0.91 feed seems to work OK but I still don’t know why the RSS 1.0 feed won’t validate. Though, if Phil’s using it, maybe validation doesn’t matter—I can’t believe I said that, let’s hope Mark Pilgrim wasn’t listening.
If you want to learn some RSS basics, Mark Nottingham’s RSS Tutorial for Content Publishers and Webmasters is probably the best start. But, even though I’m not one of the best and brightest, I’m not a technical dummy. And if I can’t manage to generate secure, reliable RSS feeds without some hand holding, I wonder if this is really ready for prime time.
Hmm, Mark Pilgrim seems to have read my mind:
For each domain (RSS feeds, FOAF files, whatever), somebody (or some group) needs to come along and document best practices. We need better goal-oriented documentation. We have a lot of reference documentation, task-oriented documentation, but very little that documents that larger picture and answers questions written in English. “How do I include personal information in my RSS feed?” is a goal-oriented question. “Create a FOAF file using this tool and then insert this line at this location in your RSS feed” (with as many examples as necessary) is a goal-oriented answer. Anything less is like trying to master a foreign language by reading a dictionary.
Exactly.

You're a brave man ;-)
Posted by: Allan Moult on 24 September 2002 at 09:35 AM