Refined RSS feeds AUG 06 2003
I took a few minutes recently to make sure the RSS feeds for kottke.org are correct, validate, and such. In addition to a problem that Brent noted in my remaindered links feed, I've received several emails lately about my feeds not working in some RSS readers and aggregators. The MT RSS templates I was using predated the xml_encode attribute, so there was most of my problem right there (well, along with a lack of understanding of the intricacies of RSS on my part). So, with help from the RSS 1.0 spec, the RSS 2.0 spec, the default MT templates, and Brad Choate's Non-Funky MT RSS 2 Template, here are the RSS files for kottke.org for your enjoyment, approval, perusal, applause, and jeers:
RSS 1.0 with short excerpts
RSS 1.0 with medium-length excerpts
RSS 1.0 with full posts
RSS 2.0 with medium-length excerpts
RSS 1.0 feed of kottke.org remaindered links
As of right this minute, all of these feeds validate. When I get the chance to play around with a newsreader (I don't use them), I'll tinker a bit more to improve feed usability.
In the process of repairing my RSS files, I've gained a new understanding of the ongoing battle over RSS that has been going on since forever (it's the web version of the Hundred Years War). I'd never really looked at the RSS code or read the specs before, and I was struck by how much more human readable an RSS 2.0 file was compared to an RSS 1.0 file. Reading and then writing my RSS files, I "got" the 2.0 file right away, but I still don't really understand what the 1.0 file is all about...it felt a little kludgy and inelegant. I also got the sense that the 1.0 format is more usefully complex (powerful?) by default than the 2.0 format.
Obstensibly, RSS files are meant to be written by machines to be read by machines (robot to robot) so human readability shouldn't matter. But looking at the bigger picture, human readability of something like RSS can be important in developing new RSS-related memes (I'm using meme here in the traditional sense, not in the "it's on Daypop Top 40" sense that seems to have taken over the blogger mindspace). If hardcore developers of RSS readers and authoring tools are the only ones technically savvy enough to understand RSS files, the pool of potential memes is limited by the size and narrow focus (not to mention, for the most part, gender) of that group. But if the format is fairly human readable (more like HTML 3.2 markup than, say, Perl code), you're going to get more people from different backgrounds hacking away at it, coming up with new memes that could be useful in the long run.** From that standpoint, RSS 2.0 has the advantage over the more powerful but less readable RSS 1.0.
And just to keep completely rambling on and on, the above is what Dave was getting at with his comment about XML as a literary space (I think). Ben's rebuttal about namespaces and literature is an important point as well, but namespaces could be seen as locking things down too tightly: poetry only for poets, writing only for writers, code only for coders, etc. And if Shakespeare had been constrained by namespaces, how could he have made all those wonderfully bawdy puns? (<cock> Are we talking rooster or phallus here? Both! Take that, semantic web!)
** For an example of what I'm talking about, look no further than HTML. Like RSS, HTML started out as a fairly simple robot to robot markup language...there was no reason to be able to "view source" or edit the code by hand. It should have worked like:
human -> interface -> HTML markup -> browser -> human
with users never needing to see the HTML at all. Instead, browsers exposed the markup, because it was fairly human readable all sorts of people learned HTML by viewing source, those people hacked away at the code by hand, readers became writers, it got messy, and the web *exploded* in almost every way conceivable.
dowingba50 06 200311:50PM
Yeah, I learned HTML by "viewing source", and my site is pretty much the opposite of "valid". But I have Mozilla and IE, and I test it on both frequently, so at least it's a bit compatible.