1. Luke Shepard says:

    Hey Eran,
    I’m glad to see innovation in this space, and I agree that we need to experiment and try it out. However, I believe in general that your arguments against using HTTP addresses are still pretty weak.
    1) inefficient/unpredictable. – I agree that it’s inefficient for a site to have to do a lookup on every address just to determine that it is an identifier. However, you said “we can use discovery to define such a template for each domain, which is what we are proposing for WebFinger”. I like that a lot more. And with smart caching of results, the extra HTTP hit is not required for the vast majority of lookups (which will cluster among the top providers).
    2) grandmas – really? I don’t think the average internet user has any concept of what “http” means other than “that junk in front of my website”. If we introduce “acct” it will just be ignored by most people. I’m hard-pressed to say that “acct://luke.shepard@facebook.com” is any easier than “facebook.com/luke.shepard”. I don’t think the readability can get much easier here.
    3) context sensitive – I agree with your point, but I don’t see how it’s relevant. If you want the link to say the meaning, couldn’t you just add an attribute – like or some such? isn’t inferring semantic information from web addresses sort of bad – it seems like it violates some other principles of the way the web works.
    Anyway, I’m really interested in your answers, this is an interesting discussion.

  2. The main focus here is on identifiers that look like email addresses and in many/most cases will be email addresses. We need to give web users (i.e. grandmas) something they can use. But we also need that something to identify ownership and such of web resources.
    In many ways this is the same never-ending debate on how to make OpenID usable as a global identifier, not just as an internal interop protocol to save developers time. We don’t have answers but we do have some ideas about what might work better. This is an attempt to be able to start the user discovery process with something other than a button or an HTTP URI.
    As for your specific comments:
    1. Inefficient / Unpredictable – it is not really practical to expect clients to grab a template and try to match a URI they find against it to find out if it is a URI. It is one thing to take parameters and apply them to a template. It is a completely different story to do it the other way.
    2. Yeah, really! Users should never have to type in acct:… they should type in something that makes sense to them, like their email address. But in case they end up seeing that acct:, it should look like an email address and not an HTTP URI because that is a much better pattern for people. If we end up using this by asking people to manually type acct:something, we failed.
    3. Inferring information from URIs is a bad thing, but that is limited to the authority specific part. URIs have clear structure such as the scheme and authority which you have to parse in order to access them. Having to extend basic facilities like links is not any better.
    Note that I have expressed my dissatisfaction with the rational we have for minting this new URI scheme. We know we need a URI, and we know we don’t like HTTP URIs. We also know we need a better story to make all this useful.

  3. Ian McKellar says:

    Hmm, I don’t understand the advantage of using mailto: (or implied mailto:) and http depending on the kind of the account. The big mistake people make when they want to add a new URI scheme is that they want to represent a new way of using a relation, not a new relation. Apple’s feed:// disaster is the prime example. Should we be using image:// to link to images on HTTP servers? Obviously not.
    It should be trivial to define a way to express in DNS how to map email addresses to HTTP servers supporting OpenID. We already describe in DNS (via MX records) how to map email addresses to SMTP servers and we already use SRV records to describe how email addresses (or email-address-like identifiers) map to XMPP accounts.
    Frankly, I’m not sure why this hasn’t been completed and standardized.

  4. > This doesn’t work for humans. Why? Because as pattern seeking creatures, we can immediately identify the syntax and it makes intuitive sense to us.
    I’m really sceptical to this and I’m sure my non-geeky friends will not understand acct://3392830912@example.com syntax too. You identify this syntax because you’re a geek, my mom doesn’t make the distinction between a URL and an email adress… “merging” both is just more confusing to her.

  5. I have updates the post to remove the // from the new URI scheme syntax based on the following feedback:
    1. There is no relative path, the URI is always absolute.
    2. There is no hierarchy, therefore no need for a top level authority.
    3. mailto: and others have established a pattern that is more appropriate here.
    4. Removing the // does not change the meaning of the identifier in any way.
    5. The authority component is harder to internationalize than the path.
    6. Using // seems to only benefit the spec writer in having to write less text.

  6. The main question is, should we solve the two parts of this problem using a single identifier or two.
    The first part is coming up with an identifier people will be comfortable using as an identifier for themselves. So far people are happy to use a username, screenname, handle, or email address. Not so happy to use an HTTP URI.
    The second part is finding an identifier machines can use to associate a user account with web resources just like any other resource, link to it, describe it, etc.
    While the second part is purely technical where the challenge is scalability and efficiency, and HTTP is a valid choice, the first part is very much up in the air.
    This proposal reflects the current thinking of addressing both parts with a single identifier. Is that the best approach? I am not sure, but putting it in front of people is the only way to find out.

  7. But I expect your mom to feel comfortable with just 3392830912@example.com. And I would also expect most people who are not geeks to simply block out the acct: part and focus on the someone@somewhere part.

  8. Luke Shepard says:

    Agree with David – I think the prevalance of phishing attacks demonstrates the general user confusion over web addresses. Many people just see “htt…….gobbledygookthatmakesitwork”. I think there’s a strong chance that something different – ANY different – from what they are used to will, if anything, make people confused. Obviously they can get used to it but still, it’s certainly not clear that this is a usability win.
    It’s definitely worth structuring some user tests over.

  9. Luke Shepard says:

    Oh, just saw this. Yeah, removing // would be cool. Still need to define what happens when you click on it but it feels more lightweight already.

  10. Toby Inkster says:

    I don’t understand why a new scheme is needed. mailto: could just as easily be used as an account identifier – e.g. mailto:bob@accounts.example.com. It needn’t be the cause of additional spam problems, because servers needn’t actually accept e-mail to these addresses.

  11. Because mailto: has a very well defined meaning and behavior in user agents and other software.

  12. [...] back in the days. It’s chaining together some upcoming protocols, like XRD and the proposed acct: URI [...]

  13. [...] its part, WebFinger has minted the new URI scheme acct: to denote a generic account. From this generic concept, the WebFinger protocol can be used to [...]

  14. Carry Megens says:

    Interesting idea. I like the approach of applying finger and like the approach of using known-to-humans patterns like email addresses, which BTW are also, if I’m not mistaken by the Session Initiation Protocol (SIP) to identify (federated) users.