dive into mark

You are here: dive into markArchivesApril 2004Hot RSS

Wednesday, April 14, 2004

Hot RSS

I would like to applaud CNET for their courageous invention of a completely new and incompatible version of RSS. They call it dlhottitles, but I think it deserves to be named something sexy, like Hot RSS. Here’s a live sample (static mirror). Some people might say that CNET was ripping up the pavement by inventing their own incompatible syndication format instead of re-using one of the myriad of existing incompatible syndication formats. Some people might get a little hot and bothered about the fact that CNET is featuring it prominently on a page entitled Simply RSS, complete with the requisite orange XML button that shows that this is truly the product of a clued-in syndication producer. But I say: the more RSS the merrier!

But enough chatter. Let’s dive into Hot RSS:

<dlhottitles>
  <feedInfo>
    <title>Download.com Hot Titles</title>
    <link>http://download.com.com/</link>
    <description>New and popular software downloads
      from CNET Download.com.</description>
    <copyright>Copyright 1997-2004 CNET Networks, Inc.</copyright>
    <language>en-us</language>
    <lastBuildDate>2004/03/22</lastBuildDate>
    <ttl>24</ttl>
  </feedInfo>

The first thing to notice is that the root element is <dlhottitles> instead of the usual <rss>. A little unusual, dare I say… funky. But remember, this is Hot RSS; doesn’t it deserve its own root element?

The second thing to notice is that the channel element is called <feedInfo>, but otherwise contains all the usual elements you would find in a valid RSS feed: title, link, description, copyright, language, lastBuildDate, and of course everyone’s favorite, ttl. No one is sure what ttl stands for, except that it’s the product of a brilliant mind and has something to do with peer-to-peer networking and solving the scaling problem and, uh, peer-to-peer. Let the architect astronauts figure out the rest, damn it; I just want to write apps! Hot apps!

The third thing to notice is that lastBuildDate is not in the One True Date Format (codified in RFC 822, and later amended in RFC 2822, and later superceded by every other XML vocabulary on the planet, but never mind that), but is instead in Y/M/D format. I understand this might present a bit of a problem for existing syndication consumers, but hey, this is Hot RSS. Doesn’t it deserve its own date format?

Are you excited yet? Can you feel the incompatible love? Don’t stop now, we’re just getting started:

  <product>
    <title>MSN Toolbar 1.0</title>
    <producturl>http://download.com.com/3000-2379-10265670.html?part=download&amp;subj=hottitles&amp;tag=feed</producturl>
    <summary>Block pop-up ads, find search terms quickly, and get access to your favorite MSN products.</summary>
    <prodlink><a href="http://download.com.com/3000-2379-10265670.html?part=download&amp;subj=hottitles&amp;tag=feed">
              Get the free download</a></prodlink>
    <keywords>toolbar, msn toolbar, google, search,download msn toolbar,free toolbars,msn toolbar,
              search tool bar,toolbar downloads,download free toolbar,custom toolbar,custom toolbars,
              browswer toolbars,internet toolbars</keywords>
    <date>02/25/2004</date>
    <category>2379</category>
    <pick>new</pick>
    <os>Windows 98/Windows Me/Windows 2000/Windows XP</os>
    <filesize>0.00 MB</filesize>
    <license>Free</license>
    <cpd></cpd>
  </product>
  <!-- other products omitted for brevity -->
</dlhottitles>

OK, now we’re grooving. <product> instead of <item>, <producturl> instead of <link>, <summary> instead of <description>. Praise Murphy, and pass the ammunition! But wait, there’s more: don’t forget <prodlink>, nestled in there with its inline (and unescaped) HTML content. Gonna need quite an ultraliberal parser to pick up on that one, eh? Don’t worry, I got you covered there. More on that in a minute.

Also, my eagle eyes have spotted another important incompatibility: <date> instead of <pubDate>, and this time it’s in D/M/Y format instead of Y/M/D. No, wait, that’s M/D/Y format. Confusing? Maybe. But hey, this is Hot RSS. Doesn’t it deserve its own date format… again?

I think the other elements are self-explanatory. Hey, this is XML, it’s supposed to be self-describing data, right? And by XML, I mean RSS. Someday I think all XML formats will be recognized as RSS. And I’m going to do my part to make that happen. Today, I am proud to announce that 3.0 beta 21 of my Universal Feed Parser supports Hot RSS. Beta 21 is available immediately, because you shouldn’t have to wait for Hot RSS. It’s that good. No, it’s better than good; it’s hot. And, of course, it’s RSS.

[Hot RSS]

Update for the legions of clueless fanboys filling my inbox with the usual stream of crap: it’s a joke, you morons. CNET’s fixing their feed. Tim has the details.

Filed under , ,

Respond privately

I am no longer accepting public comments on this post, but you can use this form to contact me privately. (Your message will not be published.)



Recent Stuff For You, Special Price Stay Here
  • Greasemonkey Hacks
Good Stuff Buy The Cow Go Away
Dive Into Python
Powered by Google Drink The Milk Don't Steal

 

posts / comments
© 2001-8 Mark Pilgrim