- From: Tim Kindberg <timothy@hpl.hp.com>
- Date: Tue, 11 Oct 2005 14:32:26 +0100
- To: Etan Wexler <ewexler@stickdog.com>
- CC: URI Interest Group <uri@w3.org>, sandro hawke <sandro@w3.org>
Thanks Etan.
In a nutshell, there are two poitions:
The position I began with ("simplicity") allows in tag URIs a few
special characters allowed by RFC 2822, but no %-encoding and hence no
quotes or "quoted pairs", among other things. This position implies
that e.g. "Fred Smith's uncle!"@example.com can't be used to mint tags,
whereas Fred_Smith's_uncle!@example.com can -- without transformation.
The position I tried following feedback ("inclusivity") allows
%-encoding. So "Fred Smith's uncle!"@example.com could be used for tags
but it becomes something that 99% of humans wouldn't be able to
formulate correctly unaided: tag:%22Fred%20...
Maybe my experience is unusual but I never encounter email addresses
using the new freedoms allowed by RFC 2822 -- which has been around
since 2001. So it's hard to argue strongly for "inclusivity" -- which,
in addition, (a) turned out to add significant complexity to what is
otherwise simple syntax, and (b) is only "inclusive" if you can (operate
a program to) correctly transform your email address.
On balance, I'm inclined to follow my original advice -- and now Etan's
-- and go for "simplicity".
Sandro, what do you think of all this?
Cheers,
Tim.
Etan Wexler wrote:
>
> Tim Kindberg wrote to the URI Interest Group’s mailing list
> (<mailto:uri@w3.org>) on 23 September 2005 in “RFC 2822 email addresses
> in tag URIs” (<mid:43340C98.8020404@hpl.hp.com>,
> <http://www.w3.org/2002/02/mid/43340C98.8020404@hpl.hp.com>):
>
>> I'm inclined to go for [the] simpler approach: take a subset of RFC
>> 2822 email addresses that users could be expected to read & manipulate
>> by hand and brain (following the 'tag' philosophy), and simply
>> %-encode certain of their characters.
>
>
> Percent-encoding strikes me as a complication that moves “tag” URIs
> outside of the target range of ease of use. Reconsider the employment of
> percent-encoding or reconsider the target range of ease of use.
>
>> Principle 1: only allow relatively simple, human-legible/tractable
>> email address to be embedded in tags. So only allow printing
>> characters (%20 - %7E). NB only whitespace character is " " (which has
>> to be quoted in RFC2822-land). No folding, no control characters.
>>
>> Principle 2: disallow obsolete constructs.
>> Principle 3: disallow comments -- no value in a tag but lots of
>> potential for confusion.
>
>
> All the principles are agreeable.
>
>> In addition, the following characters should not appear literally as
>> part of an email address in a tag; they must be %-encoded (ONCE) from
>> the original email address:
>
>
> In the “tag” specification, that word “should” will want to be the word
> “must”.
>
> The characters in the list must undergo percent-encoding only if said
> characters appear in the <local-part> of the e-mail address.
>
>> gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "@"
>
>
> Every e-mail address has a “commercial at” (U+0040) that separates the
> <local-part> from the <domain>. Processors must transcribe this
> “commercial at” literally when embedding an e-mail address in a “tag” URI.
>
>> emailAddress = tag-local-part "@" DNSname
>> tag-local-part = tag-dot-atom-text / tag-no-fold-quote
>> tag-dot-atom-text = 1*tag-atext *("." 1*tag-atext)
>> tag-atext = ALPHA / DIGIT /
>> "!" / "%23" /
>> "$" / "%25" /
>> "&" / "'" /
>> "*" / "+" /
>> "-" / "%2F" /
>> "=" / "%3F" /
>> "%5E" / "_" /
>> "%60" / "%7B" /
>> "%7C" / "%7D" /
>> "~"
>> tag-no-fold-quote = "%22" *(tag-qtext / tag-quoted-pair) "%22"
>> tag-quoted-pair = "%5C" tag-qptext
>> tag-qtext = tag-atext / "(" /
>> ")" / "%2C" /
>> "." / "%3A" /
>> ";" / "%3C" /
>> "%3E" / "%40" /
>> "%5B" / "%5D" /
>> tag-qptext = tag-qtext / "%20" / "%5C" / "%22"
>
>
> I argue for something even simpler. I would eliminate percent-encoding
> and quoted strings, leaving only e-mail addresses that transcribe
> literally.
>
> emailAddress = tag-local-part "@" DNSname
> tag-local-part = 1*tag-atext *("." 1*tag-atext)
> tag-atext = ALPHA / DIGIT /
> "!" / "$" /
> "&" / "'" /
> "*" / "+" /
> "-" / "=" /
> "_" / "~"
>
> So I basically return to Tim’s proposal dated 6 July 2005 (“email
> address in a URI”, <mid:42CBAAE0.3060309@hpl.hp.com>,
> <http://www.w3.org/mid/42CBAAE0.3060309@hpl.hp.com>). The specification
> of the “tag” scheme will be stronger as a result of the discussion, I hope.
>
--
Tim Kindberg
hewlett-packard laboratories
filton road
stoke gifford
bristol bs34 8qz
uk
purl.org/net/TimKindberg
timothy@hpl.hp.com
voice +44 (0)117 312 9920
fax +44 (0)117 312 8003
Received on Tuesday, 11 October 2005 13:37:44 UTC