Re: Mailto misnamed not misdesigned (Was: Hyperlinks depend on GET (was: Re: REST and the Web))


We agree that URIs should not specify behaviour, even "default"
behaviour like "send message" or "mount NFS file system". What we
disagree on, it seems, is whether there should be URIs for things that
are not in the "information space" (i.e. GET-able in some sense). I
think no, we can reference them without giving them URIs.

Tim Berners-Lee wrote:
> The mailto:  schema name was badly chosen, but the concept is
> sound as originally defined.  It was intended simply to be a space
> in which to put all the internet email addresses, which are called
> mailboxes.  A mailbox is an abstract thing, related to email messages
> by (for example)  To: From: and Cc: feilds but also used in many
> other situations.  It also normally has a relationship with the social
> entity
> -- typically a person or group --which owns it.
> The unfortunate choice of name "mailto", my fault,  has lead browser
> designers to think that it specifies an action. 

When you assign a part of the namespace to an abstract thing you kind of
invite abuse.

Browser manufacturers are *required* to map URIs to actions. When the
end-user clicks they need to do something. If you don't tell the browser
vendors what action to invoke then the first popular action will become
the defacto standard.

> The disadvantage is that you have just lost your address space.  You have
> lost
> the ability to simply and unabiguously refer to an email address.
> Instead, you have to dererence lots of tiny documents  just to compare two
> email addresses for equality. (You may be looking at email offline!)

I disagree. Just as with any other URIs, you can either use pointer or
reference equality. The mapping of my email address into the web space
might be:

There is no reason for anybody else to define another URI for my email
address (although they could), so pointer equality will suffice for most

Fine, but that doesn't imply they need to be part of the URI space. IMO,
the URI space is for addressing the information space! Things that use
protocols that do not support GET can be referenced through non-URI
mechanisms. That's already what RealAudio does (for example). They need
to do that because of the difficulty of deploying new URI types, but it
is also a good idea because it makes it easy to associate metadata with
the resource.

 Paul Prescod

Received on Tuesday, 2 April 2002 17:26:32 UTC