There Is No Cat

Hollering into the void since 2002

Tuesday, August 5, 2003

Literature and code

A few days ago, Dave Winer explained that the reason he doesn't like namespaces in XML is that they make XML difficult for humans to understand.

I think Dave is wrong. I had no problem writing the PHP script that creates my RSS 1.0 feed, choc-full-o-namespaces, and I'm not exactly the swiftest programmer around. It's not rocket surgery™, as Steve Krug would say. And I think that the added metadata is A Good Thing to have. Why?

Structure and metadata make it easier for computers to understand my feed. Winer talks about the need for RSS to be understood by humans. But humans are very adaptable. We can understand a lot of things. Our pattern recognition abilities are miles ahead of those of computers, and will be for the foreseeable future. When I created the software that produces my RSS 1.0 feed, I looked at other RSS 1.0 feeds and imitated, just the way Winer says is needed. I was able to figure it out. It made sense to me. Computers, on the other hand, do a pretty lousy job by comparison at figuring things out. It's easier to get humans to understand a computerish thing than to get computers to understand a humanish thing.

That would seem to go against trends in computers, you say. And besides, how can an advocate of human-centered computing like me advocate adjusting our ways to conform to those of computers? That sort of thinking leads to abominations like MS-DOS and UNIX.

That assumes it's necessary for humans to create RSS feeds. I don't think that's true at this point. Far and away the majority of people with RSS feeds on their blogs today have them automatically generated by their tools. Anyone who creates their blog with Radio Userland has an RSS feed automatically created; I dare say most of them are unaware of it and probably uninterested in the details. Movable Type, TypePad, and Blogger Pro have the same thing. People don't need to create RSS feeds; their tools do it for them. I have no sympathy for the idea that all things need to be easy for the programmers. If it's hard for a programmer to create something that's easy for users to use, well, them's the breaks. Some things are just hard, and always will be, and programming is one of them. Writing is another, incidentally.

By way of analogue, look at the way Postscript code is created. Fifteen years ago, I was working as a production editor. I would take computer manuals after writers finished writing them and make them look like books (at least to the point of creating camera-ready material for printers to use). Postscript was a pain. There was no EPS yet. I had to work a way to take the Postscript output of the drawing programs on the Macintoshes used to create the artwork and integrate it with the Postscript created by the troff files containing the text of the books and do so in such a way that the Postscript interpreters inside the laser printers and typesetting machines we used wouldn't barf on them. I did a lot of manual editing of Postscript code to get the system to work. I got to be pretty good at it, too. But it's a useless skill these days. Nobody hand codes Postscript any more, and hasn't in more than ten years. The programs do it for us. Print drivers shield us from having to tweak code. Drawing programs output Encapsulated Postscript files that can be imported into page layout programs without having to toy with them. The workarounds I was forced into using fifteen years ago are simply unneccesary today, because the programs create the Postscript code themselves and do it in such a way that other programs can make use of it.

Similarly, it's not necessary for the vast majority of bloggers to create RSS feeds by hand today. So the idea that RSS needs to be kept at an absolute baseline of simplicity is, to my way of thinking, simply wrong.

The concept of a namespace isn't that difficult to grok. And even if you fail to understand it, to implement the software to create the feeds, you don't need to be able to write an XML parser; you just need to accept that some items in the feed come with a dc: before them. Doesn't matter why; they just do. Once you accept that, working with those items becomes no more difficult than working with items that don't have a colon in them.

In short, I think that the idea that RSS needs to be human-readable is wrongheaded. The output of RSS needs to be readable, as in an aggregator. I would no more think of reading a site's raw RSS feed on a regular basis than I would of reading a book in the raw Postscript code sent to the imagesetter. That's not the product. The product is the excerpts or posts we see in the aggregators or on the sites that syndicate them, just as the product is books rather than Postscript. In this context, Dave's contention that RSS should be a literary form seems kind of ridiculous. Hey, I'm someone who sees beauty in clean HTML, so I can understand where he comes from. But I tend to agree with Ben Hammersley, who makes the point that since namespaces enable metadata, metadata provides context, and context enables literature, so namespaces make RSS more literate. But he makes that argument more literately than I do, so go read his post on the subject.

Posted at 8:59 PM


Note: I’m tired of clearing the spam from my comments, so comments are no longer accepted.

Thank you for writing this. I've been trying to put this into words for months now. Personally, I grokked namespaces a few seconds after I first read about them (heck, I understood the basic idea the first time I heard the term "XML Namespaces"). But even for those who find them difficult - well, that's what being a programmer is about. Working with difficult data in order to make it seem easy to the end user.

And even the most complex XML document is still a terrific compromise between readability and a well-defined data model. No other format I know of is able to simultaneously convey as much meaning to both human readers and computers as XML.

Besides - what programmer has to work with the XML directly? One of the primary benefits of XML is the very fact that we *don't* have to work at the text level, because there are so many good XML libraries available.

The efforts to make RSS "easy to hand-roll" give inordinate weight to the convenience of the tiniest minority of it's potential users. Only eccentric web technology geeks are going to hand-roll their feeds. It's really elitism masquerading as interest in the end-user. I think the advocates of this approach are really more interested in making the web safe for hobbiests than for ordinary people.

Posted by Avdi at 10:43 AM, August 6, 2003 [Link]


This site is copyright © 2002-2019, Ralph Brandi.

What do you mean there is no cat?

"You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there. The only difference is that there is no cat."

- Albert Einstein, explaining radio

There used to be a cat

[ photo of Mischief, a black and white cat ]

Mischief, 1988 - December 20, 2003

[ photo of Sylvester, a black and white cat ]

Sylvester (the Dorito Fiend), who died at Thanksgiving, 2000.


This site is powered by Missouri. Show me!

Valid XHTML 1.0!

Valid CSS!

XML RSS feed

Read Me via Atom


Home Page
Flickr Photostream

There Is No Cat is a photo Ralph Brandi joint.



Family Blogs

Jersey Girl Dance
Mime Is Money

Blogs I Read

2020 Hindsight
Apartment Therapy
Assorted Nonsense
Backup Brain
Chocolate and Vodka
Creative Tech Writer
Critical Distance
Daily Kos
Dan Misener likes the radio
Daring Fireball
Design Your Life
Doc Searls
Edith Frost
Elegant Hack
Emergency Weblog
Empty Bottle
Five Acres with a View
Flashes of Panic
Future of Radio
Groundhog Day
Hello Mary Lu
Jeffrey Zeldman Presents
Jersey Beat
John Gushue ... Dot Dot Dot
john peel every day
JOHO The Blog
Kathryn Cramer
Kimberly Blessing
La Emisora de la Revolucion
mr. nice guy
oz: the blog of glenda sims
Pinkie Style
Pinkie Style Photos
Pop Culture Junk Mail
Seaweed Chronicles
Shortwave Music
Talking Points Memo
The Unheard Word
Tom Sundstrom -
WFMU's Beware of the Blog