ABC Feeds - what the ... ?

Dave posted a few days ago that ABC News now has 23 RSS feeds. What surprised me is that, as keeper of the RSS spec (OK - one of three keepers nowadays), he failed to comment on the unusual way these feeds are set up.

First of all, it uses RSS 0.93 with the http://backend.userland.com/rss093 namespace, but as far as I know RSS 0.93 is not namespace aware. As an aside, because SharpReader does not recognize this namespace, it does not see any items in the ABC News feeds. I would assume it's not the only aggregator with this problem.

Second of all - what kind of date-format is this?

<pubDate>20031101T2425</pubDate>
or, in some of their other feeds:
<pubDate>20031001T1114-08</pubDate>
Sure, I can understand what the dates are (well, half-way... what time-zone is that first date in?), but it's certainly not a RFC 822 date, which is what the RSS 0.93 spec mandates. I would imagine very few (if any) aggregators will understand it.

A quick check using the feed validator found even more problems, like the lack of a <description> element, which according to the feedvalidator is required (although I see no mention of this in the RSS 0.93 spec and the RSS 0.92 spec specifically states <description> is optional). The feed validator also complains about the fact that the ABC feeds mention a DTD. Again, I'm not quite sure where the RSS spec says that DTDs are not allowed (isn't RSS supposed to be XML?), but to be honest, SharpReader ignores it anyway.

Either way, in the spirit of Mark Pilgrim's Parse RSS At All Costs, and because this is ABC News and not just some little obscure blog, I will make sure the next version of SharpReader will be able to handle these feeds. Of course it would be much better if they'd just fix their feeds and stick with the standard...

UPDATE: Sam correctly pointed out that <description> is a required <channel> element, and that's what the feed validator complained about. I had misread the validator's report and thought it was complaining about a missing <description> on the <item> instead.

TrackBack URL for this entry: http://www.hutteman.com/scgi-bin/mt/mt-tb.cgi/99
Comments

Mark is quoted as syaing "The Feed Validator also crosses this line by flagging things like SCRIPT elements, ambiguously relative URLs, and invalid date values." (see his entry from the end of August). Maybe this is something that it gets fussy about.

Posted by Neil T. at November 1, 2003 3:09 PM

Luke,
I was going to chastize you for encouraging such funky RSS feeds to exist by supporting them until I checked and found out RSS Bandit does already. Oops.

A while ago we made the decision to not recognize specific namespaces for RSS versions other than 1.0 (due to everyone rolling their own namespace URI for RSS 2.0) as well as supporting as many funky date formats as possible since it seemed every week we came across one we didn't support.

I guess parsing RSS at all costs is just a part of life for us aggregator authors.
:)

Posted by Dare Obasanjo at November 1, 2003 4:07 PM

Dare: While I certainly don't want to encourage RSS authors to publish funky feeds, there are times when I feel a need to support things that aren't necessarily part of the spec. Feeds from ABC News have the potential of being subscribed to by thousands and I don't want SharpReader users to have a sub-optimal experience with them. Currently it's way worse than just sub-optimal: these feeds don't show any items in SharpReader right now.

You're right - parsing at all costs has become a way of life by now - unfortunately.

Things like this make me wish ATOM would be success - until I remind myself that there's nothing stopping users from making a mess of ATOM feeds either. Sure, it will be better specified, but - as displayed by these ABC feeds - the parts of RSS that are specified aren't being lived up to either :-(

Posted by Luke Hutteman at November 1, 2003 5:10 PM

Parsing RSS At All Costs ?

Trackback from Julien Cheyssial's Blog at November 1, 2003 5:57 PM

Luke,

That date format looks like the output of the ToString() method from a MS SQL Server date object in ASP 3.0. I forget exactly where I last encountered it. But I'd bet money on some programmer at ABC just forgetting to call .ToGMTString() instead.

Posted by Matt at November 1, 2003 6:11 PM

That's a standard date format, ISO something-or-another. vcal/ical use it.

Posted by mb at November 1, 2003 10:31 PM

What Goes Around
Luke thinks Dave's enthusiasm for ABC's RSS feeds is funky. Don't you just love irony....

Trackback from Rodent Regatta at November 2, 2003 5:05 AM

Luke, can you find a reference which states that description is an optional subelement of channel?

Description is optional on item.

Posted by Sam Ruby at November 2, 2003 6:50 AM

The date/time format is ISO 8601.
More on Google

Posted by Tobias at November 2, 2003 2:00 PM

I don't really care what date format it is; the RSS 0.93 spec clearly states that "All dates conform to the Date and Time Specification of RFC 822." These dates are not RFC 822, so the feed is invalid. The validator correctly flags this error (along with several other errors, all of which are correct reports).

Posted by Mark at November 2, 2003 3:00 PM

Sam: oops - I thought the feed validator was complaining about a missing description on the item, but it was talking about the channel's description instead. You're right, <description> is a required channel-element.

Posted by Luke Hutteman at November 2, 2003 4:29 PM

Mark: Where is it specified that RSS feeds should not contain a DTD? While I personally prefer feeds without DTDs (I'd rather not have to worry about parsing custom entities), they are part of the XML spec are they not?

Posted by Luke Hutteman at November 2, 2003 4:41 PM

Parsing RSS At All Costs ?

Trackback from Julien Cheyssial's Blog at November 3, 2003 5:12 AM

Dear blog owner,

I have started a new project called BlogSpam.ORG, the reason, the increment of spam in blog enviroments.

www.blogspam.org

I have collected methods to fight this plague and articles of general topics about spam.

I want to know your opinion, you are invited to participate in my blog.

If you want to send me some stuff about spam IŽll be glad to add it to my blog. Help me to build this site, yours is excellent!

Thanks for your attention.

*The blog is under construction, but there is good stuff inside!

Posted by David at November 7, 2003 5:18 AM
This discussion has been closed. If you wish to contact me about this post, you can do so by email.