From: Gerald Oskoboiny (firstname.lastname@example.org)
Date: Tue Sep 05 2000 - 10:35:34 PDT
On Tue, Sep 05, 2000 at 09:27:15AM -0700, Dave Winer wrote:
> Gerald, as a software designer, I ask the question the other way.
> For every feature, ask what value does it add?
> And if the value isn't great, out it goes.
Well, after watching HTML's dysfunctional evolution for the last
7 years or so, the value of namespaces seems fairly obvious to me.
They just let anyone make up tags, yet do it in a way that we all
know what we're talking about when we use a certain tag.
Early, naive approaches to accomplish the same thing might be to
give each vendor a certain tag prefix, like 'ms-' for microsoft
and 'ns-' for netscape; then <ms-table> would mean "microsoft's
implementation of HTML tables" and they could each make up their
own attributes for tables without causing problems, like when
netscape decided to change the meaning of <table border>.
There are many Web products deployed that use made-up prefixes
like these, though none come to mind right now. I'm sure I could
come up with at least five examples just in the HTML world if I
In the long run, this doesn't work very well, for obvious reasons:
Who gets to use 'ms-'? Who coordinates this prefix registry?
And why do they get to do it?
But we already have such a registry, the domain name system.
So why not use that to coordinate everything?
That's the main problem namespaces solve, I think.
Back to my specific application,
I don't know a lot about the Dublin Core, but I know there are a
bunch of nerds that have thought long and hard about how to classify
this kind of data, and they probably know way more about it than I
do, so I'm happy for my data to be classified using their schema:
I can be fairly confident that it will still be useful 50 years
from now, or at the least there will be a mapping from DC to
whatever other schema becomes popular.
If there's anything I need that they forgot, no problem; I can
make up my own namespace pointing somewhere on my own server.
And if it's useful, other people can use it too.
And I won't have to worry about any of these names suddenly
starting to mean something else in the future:
because they don't have sexy names that everybody wants to use
like '<table>' or '<item>'.
This doesn't make my application any more complex; the "tags"
that are read and written by my software so far have names like
"dc:Title" and "dc:Description", which parse just as easily as
"Title" and "Description"; the namespaces are just hard-coded at
the top of each file, and I don't think about them much.
You might ask "why does the average RSS user care about any of
this? They don't need this data to be useful 50 years from now."
Well, that's fine... for those people, tell them "just put
this crap at the top of your documents, and forget about it."
They'll thank you for it later. :)
-- Gerald Oskoboiny <email@example.com> http://impressive.net/people/gerald/
This archive was generated by hypermail 2b29 : Tue Sep 05 2000 - 10:38:58 PDT