As a site operator, you don't need to choose which company you're going to accept as an auth provider, or have a login page with lots of icons on it; you just have one button that says "Log in".
1,293 karma · joined August 14, 2007
As a site operator, you don't need to choose which company you're going to accept as an auth provider, or have a login page with lots of icons on it; you just have one button that says "Log in".
The major difference is it's totally irrelevant to the site (relying party) what provider you're using. The site doesn't need a login page with a facebook button, a twitter button, a livejournal button, etc., it just needs a "sign in" button.
Presumably you could sync them up if you really wanted to, but it would be an awful user experience if that was mandatory.
Decentralization leaves the possibility of that situation changing open. That matters.
(Or, less philosophically: there was a time that everyone and their dog were on Internet Explorer. I think we're all glad that we didn't close the door to browsers other than IE.)
Would be happier if there was only one company that provided email service and you were only allowed to have one address? That's essentially the situation with Facebook.
You're free to apply whatever constraints you like to your use of email. An email address is as unstable an identity as you make it.
When your browser and email provider both support BrowserID:
1. You log into e.g. gmail.
2. Your browser generates a keypair and sends the public key to gmail.
3. Gmail signs your public key and sends your browser a certificate saying "this key is owned by whoever@gmail.com".
4. You click "sign in" on some site (e.g. Hacker News) that uses BrowserID.
5. Your browser sends Hacker News an message saying "my user is whoever@gmail.com", that is signed with the private key generated in step 2.
6. Hacker News looks at the "gmail.com", grabs gmail's public key (the one that signed your public key in step 3) and verifies the signatures.
Hacker News now knows that you control whoever@gmail.com.
The process is described fairly well (diagrams and everything) at http://lloyd.io/how-browserid-works
What a weird double-standard. A feature of email (that you can have several, and you can change which one you use) is a failure, and a failure of Facebook (that it's one site, forever) is a feature?
We're all familiar with ways to migrate from one email address to another. If/when you leave Facebook/it disappears, how will you migrate your identity then?
1. Primary Identity Authority. This is a host (i.e. the one in your email address) that supports BrowserId. This is fully decentralized.
2. Implementation Provider/Secondary Identity Authority. For now the site has to choose one to trust, but once your browser has support it becomes the IP, and when your host becames a PIA there's no need for an SIA.
Having in-browser support for this kind of thing seems like a plus, too.
(Unless you meant "BrowserID" the protocol.)
Unfortunately the fashionable thing to do these days is to assume that everything will work out for the best on its own.
The Picard MP3 tagger uses this kind of thing (and MusicBrainz' database of tracks and audio fingerprints) to identify files.
But - and I hate to be the REST Nazi - this is RPC, not REST.
"REpresentational State Transfer" is about making things happen by Transferring REpresentations of resources' State.
The GET requests are good, but for setting outputs it should do something like:
PUT http://192.168.1.177/9
with body HIGH
POST could work too, the important thing is that the resource's state, the resource's address, and the action being performed are all separate.This RPC system is beautifully simple, it does what it needs to and I can't think of any way that making it RESTful would improve it, but it's not RESTful right now, and calling it that only deepens the confusion about what REST is.
(* let's forget the word "offensive" because this is not the same territory as yo' momma jokes and curse words - racism affects the real world)
The important thing is that the identified resource is unambiguously identified.
> Meh.
There were many circumstances that prevented the adoption of XHTML-as-XHTML. One of them was the fact that your users would get a cryptic error page, with no context, if something went wrong.
What Webkit does is much less threatening.
Who says the page has to be replaced? Webkit and Opera (IIRC) happily render the page up to the first error that they encounter.
Gecko's decision to do the YSOD was a bad one.