httpRange-14

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The httpRange-14 issue came up several times at our f2f this week and
we've allocated time to discuss it on Monday. I've just spent some
time talking to TimBL about it and it may just be the three hours of
sleep that I got on the redeye talking, but I think I might see
vaguely a path forward.

(I'm behind on my www-tag email, so apologies in advance if I'm
rehashing old ground.)

1. Using the same identifier for two different, distinct things is bad.
   Humans cope with this sort of ambiguity fairly well, but machines don't.
   If you simultaneously assert that "FOO" is a car "FOO" is a cat, you've
   made life difficult, so don't do that.

2. It is very natural to categorize http URIs as belonging to a class of
   things that are documents. If users type an http URI into a web application
   and hit enter, they almost always get (literally GET) back a document.
   Assuming they get a 200 response back, they also get metadata back about
   the document and it's very natural to think of these metadata fields as
   properties of the document.

     <http://norman.walsh.name/> :date "Thu, 24 Jul 2003 20:40:58 GMT"
     <http://norman.walsh.name/> :expires "Thu, 24 Jul 2003 20:40:58 GMT"
     <http://norman.walsh.name/> :contentLocation "home.html"
     etc.

   (I needed to pick some notation so I chose one that will be familiar to
    N3 users. It just says "the URI (e.g. "http://norman.walsh.name/") has a
    property (e.g. "date") with a value (e.g. "Thu, 24 Jul 2003 20:40:58 GMT").
    The concrete syntax of the notation isn't relevant.)

   The important point here is that I think it's fair to assume that
   most users and programmers and people who don't spend their lives
   thinking about web architecture have a mental model that can be expressed
   informally as "URLs point to web pages".

3. It's useful to classify things and if you believe what I've said in 2,
   many users are likely to classify http://norman.walsh.name/ as a document
   (or more generally an information resource or something like that, but I
   don't think the choice of category name is deeply important.)

     <http://norman.walsh.name/> :type "document"

4. Now suppose I come along and make some other assertions:

     <http://norman.walsh.name/> :type "person"
     <http://norman.walsh.name/> :name "Norman Walsh"

   Standing alone, there's nothing syntactically or logically wrong
   about those assertions.

5. But they don't stand alone because many users (and programmers and
   by extension very likely applications) bring a strong natural
   tendency to think of http URIs as belonging to a class of things
   that are documents.

6. Just like a "FOO" can't be simultaneously a car and a cat,
   http://norman.walsh.name/ can't simultaneously be a person and a
   document.

7. So by using an http URI to identify something that isn't a
   document, we've strongly encouraged people to be mislead.

8. It's an architectural mistake to encourage people to be mislead. By analogy,
   we assert that it is a mistake to assume http://norman.walsh.name/home.html
   is an HTML document just because it ends in ".html".

9. I'm sure a system could be designed to support the assertion that
   http://norman.walsh.name is a person. It could, for example, use a
   level of indirection (I'm sure it could be modeled other ways to):

     <http://norman.walsh.name/> :type "person"
     <http://norman.walsh.name/> :alsoIdentifiesAWebPage <unimportantUniqueId>
     <unimportantUniqueId> :date "Thu, 24 Jul 2003 20:40:58 GMT"
     <unimportantUniqueId> :expires "Thu, 24 Jul 2003 20:40:58 GMT"
     <unimportantUniqueId> :contentLocation "home.html"

In short, the argument against allowing the range of http URIs to be
unbounded is not made on the basis of technical necessity but instead
architectural simplicity.

I think if the argument for httpRange-14 was made along these lines
(and these lines make any sense to folks who've had more sleep :-), I
could be persuaded to support it.

It isn't illegal or illogical or wrong to use http URIs to identify
things that aren't documents. But it is potentially misleading, is
likely to introduce ambiguity that it would be better to avoid, and is
not obviously superior to mechanisms that don't have these defects.
(Or, more accurately, if it is superior, I don't see how.)

Progress?

                                        Be seeing you,
                                          norm

- -- 
Norman.Walsh@Sun.COM    | The Future is something which everyone
XML Standards Architect | reaches at the rate of sixty minutes an hour,
Web Tech. and Standards | whatever he does, whoever he is.--C. S. Lewis
Sun Microsystems, Inc.  | 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.7 <http://mailcrypt.sourceforge.net/>

iD8DBQE/IEq6OyltUcwYWjsRAp9VAKCUoPlX0l8HX0gaGFgup4jEPOyqCwCggcoS
Pz1rWo9xzMUp6H34CbJOMlY=
=PNq9
-----END PGP SIGNATURE-----

Received on Thursday, 24 July 2003 17:08:23 UTC