Monthly Archives: May 2005

OpenID – Part IV – URL as Global Identifier

OpenID’s #1 feature is the decision to have a web page for every persona. For example my OpenID might be “enthusiasm.cozy.org” (well actually it’s https://enthusiasm.cozy.org/ but OpenID sanctions some shorthands). This becomes in effect a universal identifier, like an email address or a social security number.

Deciding to adopt a web page as the user’s handle is an interesting design choice. It’s not hard to see how they fell into this choice. The primary driver of OpenID is a blogging company. Their users all have blogs. Their users are pretty much defined by their blogs. It’s a natural choice. OpenID is unique among the identity systems I’ve looked it, it has only one use case. Leaving a comment on a blog in a way that ties that comment back to the author’s blog.

This isn’t an identity system, like Liberty, designed to support account linking and sophisticated data sharing between mutually suspicious firms on the behalf of thier supicious customers. Since the design’s core feature is a universal identifier for users no privacy advocate is likely to love it. The lack of encryption on the message exchanges is a red flag for large numbers of people.

That said there is a lot to like about OpenID.

The question one needs to ask: Will we have an identity system where user persona is represented by public web pages? Once you accept that that is extremely likely then OpenID becomes a lot more acceptible as a point in the design space of identity systems.

Clearly web pages are better than email addresses or a phone number because those have a obvious operation available on them which is open to abuse. The set of operations on a web page are more limited and more easily configurable.

Users already have a mental model for web pages that is reasonable accurate. This reduces the chance they will just assume more privacy than they are in fact getting.

One very nice aspect about web pages is that we already have a deep suite of tools for empowering users to configure them.

User know, or they ought to know, that web pages are public and durable. So what ever the user publically reveals on the page he uses for his OpenID becomes public information, probably forever.

Nothing about this choice precludes users from having many persona. Nothing about this choice precludes those persona from being reasonably anonymous. It’s a shame that persona management isn’t more carefully designed into OpenID; but at least the mechinisms for it are reasonably transparent for users.

As a choice the decision to adopt the URL of a web page as the corner stone of a public open idenity system seems enivitable.

It’s important to take OpenID on it’s own terms. In it’s heart of hearts it is really just attempting to tie contributed content back to authors; at least a little. That is a more central problem that it might at first appear. OpenID is not trying to solve all the world’s identity problems.

Chasing the Tail


I like this posting at Chris Anderson’s site. It’s some slides. They are good, but I want to pile-on a bit.

These slides all follow the same pattern, exemplified by this first one on products. They are the rows in a three column table.

The still bother’s me that Chris’s curve doesn’t particularly look like a power-law, it doesn’t cling to the axis. Gives the viewer a misleading impression about the middle class, it rarely captures as much of the energy in these these systems than it really does. It remindes me of the way politicians always pander to the middle-class. People seem to like to think they are in that class.

These slides all follow the same pattern, exemplified by this first one on products. They are the rows in a three column table. Here are the rows in Chris’ table.

Elite Middle Tail
Content Hits Existing Goods that haven’t reached their full potential market New goods, made possible by new distribution and markets
Incentives $$$ Reputation (leading to $) Expression
Status Pros Marketing/moonlighting Amateurs
IP Protection Copyright No Copyright Creative Commons

If we were talking about another power-law distribution we would find very different entries in the three columns. Study the distribution of wealth and you get a row with entries like: upper-class, middle-class, and the poor. Chris decided early to avoid some of these tar pits. Still, he as touched the tar baby. It will be interesting to see what he does with the issue of globalization.

I thought it would be fun to add more rows.

Elite Middle Tail
Wealth Upperclass Middle Class Poor
Nations G-7 Third World
Weather Hurricanes/Tornados Storms Zephyrs
Animals Birds, Reptiles, Mammals Insects Bacteria, Viruses
Settlements Cities Suburbs Towns, Villages, Rural
Vocabulary ? ? ?
Baby Names ? ? ?
Matter Solid Liquid Gas & Vacum
Firms Hubs, Markets, Platforms Classic Firms Small Business
Labor Politics? Capital Unions Worker
Standards

Tail Light Chasing, Installed Base Migration Industry Consortium Bottom Up
Religion world religion Denominations nondenominational, and private faith

These tables could use some more columns. Chris, for example, is interested in how shifting distribution channels are changing how the finite available attention is distibuted across the content. I’m interested in how businesses emerge that act like drift net fisherman raking the ocean of small players for value; and in turn how that effects the ecology. I suspect we are all interested in how the elite manage, capture, and horde their power.

Powerbook Death Throws

The only good part of the pending demise of my powerbook is that the “genius” at the Apple store found the diagnosis both facinating and obviously entertaining. It took us both a long time to figure out the following. When I came in the machine wouldn’t boot, and the battery was dead.

My battery only charges when the machine is asleep or turned off. When running the power from the adaptor is insufficent to run the machine. The battery slowly discharges when the machine is running. If the battery fully discharges; which happens if I don’t keep an eye on it, then it is impossible to start it. If fully discharged it doesn’t charge. At that point I need to find another machine of the same kind and recharge the battery on that machine.

The charging subsystem is on the main logic board; so that needs replacing. Since my case has a small dent Apple insists that both are fixed. Total cost of repair is the cost of both the case and th logic board, i.e. around $900. Machine’s is about two and half years old.

Looks like I’ll be buying a new machine and then disassembling this one and selling it’s organs one part at a time on eBay (except of course the failed main logic board).

I didn’t really want to be this kind of spending money at this instant, but I am grateful for firewire.

Nokia 770

It must be a pain being Nokia, because you only have a handful of very very powerful customers. For example if the 3 or 5 largest phone companies don’t buy your phone then you don’t sell any. Which means you just build exactly what they tell you to build.

Meanwhile your technologist are telling you that Open Source, open platforms, and the end to end principle are not just cool, but so powerful that any business that tries to control the edge is toast.

What to do? Handspring tried a few different things. In the end they caved and now thier products are carefully obedient to the demands of the phone companies.

The Nokia 770 looks like an attempt an answer, an attempt to route around the damage.

It makes me wonder if bluetooth is the hole in the armor of the cell phone companies.

it comes around

“Customers have a tendency to become like the kind of customers you treat them.”

That quote really goes to the heart of something I’ve observed in plenty of senarios, but then I don’t even like the word customer.

It really is true, you get back what you sow. For example I bought a hundred dollar item today. This purchase involved a price match, a rebate, a coupon and 15 minutes of waiting while various assistent managers sought ways to decline to deal. The three vendors involved treat the entire exercise as a form of gaming for the benefit of their advertising and discrimitory pricing schemes. The customer service people treated me if I was very likely a criminal. The entire relationship created by these games is a train wreck. No trust at all anywhere in the transaction. What a mess! Not really worth saving 40$ on a 90$ purchase; but they created the game and I’m playing.

One of the facinating things about Open Source is the how the people that consume the output of the projects are treated. No coddling customer support lines staffed by people who though they never ever loose their temper but sadly know little about the product. But instead the users are treated as peers. Always a hope that this user will become a contributor. Always the expectation that everybody is in this together. And yes, if you treat people like that they tend to grow into the role.

The quote also reminded me a bit of one company I work with: T-mobile’s prepaid cell phone service. When you call these guys it’s great. You always feel as if they are happy in their work. You always feel as if you have a bit of common cause with them against the mysteries of modern telecom systems. Not that your allied against the company, but that your allied against your joint problem. I don’t know how they manage this; but I like it.

Scott Lofftesness pulled it from an essay that otherwise didn’t greatly impress me. But that quote is exactly right and it runs deeper that it might at first appear.

Many many years ago I was working on a project and we were optomistic that a large firm might partner with us. It was going well until our contracting people got involved. Suddenly the folks at the big firm called up and announced that don’t work with people who worked like that. They were right, you shouldn’t. When you start to realize your going to have to mirror the behaviors of the other guy, and those behaviors aren’t constructive – well bleck.

OpenID – Part III – PingPong

That drawing is, hopefully, an illustration of how OpenID allows a site, Steve, to authenticate a user, Alice. Steve asks Alice for here OpenID URL and Alice reveals that. Steve uses that to fetch the associated page, hosted at Bob’s. Information on that page tells him about Alice. For example that page could be Alice’s blog, or home page, or even just her public account.

To be sure that Alice’s claim to her page at Bob is valid Steve extracts from that page a pointer to a OpenID server. That server is run by Victor. Steve then asks Alices browser to obtain a signed assertion from Victor in support of her claim to the page. When Alice get’s the assertion she passes it back to Steve.

None of this requires JavaScript, but elements of it can be made to appear smoother by it’s addition.

This drawing does not show how Steve came to trust Victor, nor even how he came to be able to validate Victor’s signature on the assertion.

OpenID doesn’t say very much about the format of the page Alice reveals to Steve. The page is HTML, and it needs to have a link to the Victor’s service point. Of course Alice can reveal lots of information on that page. Pointers to FOAF files, ICMB links, VCards, what ever. That’s up to her.

The page that Alice reveals is very likely to be public. Steve does not have an account relationship with Bob. Similarly all this traffic is HTTP, not HTTPS.

Hopefully this is reasonably accurate.

Here is the scenario in words.

1. Alice visits Steve.
2. Steve prompts Alice for her OpenID URL.
3. Alice reveals here OpenID URL to Steve.
4. Steve cleans up the OpenID URL Alice Revealed.
5. Steve Fetchs the OpenID page Alice revealed from Bob.
6. Bob normalizes the OpenID URL and redirects Steve.
7. Steve fetchs the actual OpenID from Bob based on Alice
   and Bob's input.
8. Bob returns Alice's OpenID page.
9. Steve extracts the OpenID service end point from that page.
10. Steve requests an assertion from Victor, via Alice, to prove
    that Alice controls the OpenID page she claims.
11. Alice asks Victor for the assertion Steve wants.
12. Victor checks that it's Alice who's asking.
13. Victor, now working for Alice, checks that Alice has authorized telling Steve anything about her.
14. Victor creates the assertion Steve needs, checking of course that Alice controls this OpenID url.
15. Victor signs the assertion.
16. Victor sends that assertion back to Alice.
17. Alice sends the assertion back to Steve.
18. Steve verifies the Victor's signature.
19. Steve studies the assertion and acts approprately.

OpenID – Part II

I was confused about OpenID. This posting is second run at explaining how it works. Hopefully I’ll get it closer to right this time. (Nope, it’s not quite right yet.)

Like most identity systems we have three parties in the story. The user, a site that can ID the user, and a site that would like to know the user. It helps to personify these.

  • Alice – the visiting user.
  • Steve – the site Alice is visiting that wishes to know Alice.
  • Victor – a site that knows Alice and can introduce her to Steve.

I think of Steve as suspicious and Victor as able to vouch for Alice.

In OpenID Alice is denoted by a URL, typically her blog’s URL, and then Victor helps Steve to be sure that when Alice actually owns the URL she claims.

The protocol is simple.

  • Alice, via her browser, visits Steve.
  • Steve asks Alice to reveal her URL, so he can get to know her better.
  • Alice tells Steve her URL.
  • Steve fetches that page.
  • Steve finds a pointer to Victor’s service on that page.
  • Steve works with Victor (via Alice’s browser) to check the URL.
  • Victor provides Steve with a signed statement: “This URL is owned by the person currently signed on with Victor via this browser.”

This design has a number of options that aren’t obvious at first glance.

For example Alice might enter a URL that triggers a series of redirects before it finally generates a page. So she might enter alice.isp.com and the redirects could lead to http://alice.isp.com/homepage.html. The URL of page that is finally retrieved is used to denote Alice. This helps to normalize the URL used to denote Alice, but it also provides the chance to do some clever things.

Denoting Alice with a URL can be bad. Important ID safety I do not hand out global identifiers! It encourages revealing a lot more about Alice to Steve than Alice may desire, and it can make it easy for information about Alice to be aggregated from Steve and others like him. There is a work around for this, but it’s a bit unnatural.

Normalizing the URL could be used to work around this. If Alice enters is logged in at isp.com and enters id.isp.com then it the redirect could return http://id.isp.com/anonymous/for-steve/234145. All this reveals about Alice is what appears on that page, and that she has an account with isp.com.

I must admit the work around is beginning to grow on me. That thing (i.e. http://id.isp.com/anonymous/for-steve/234145) is what’s known in the trade as an opaque id for Alice; getting it out in the open has some advantages.

Another point to make is about Victor. Victor’s job is to introduce Alice to Steve, that’s it. He doesn’t need to run Alice’s blog, or host her pages. Alice doesn’t even need a blog. In one scenario Victor might work at Technorati; Technorati already has a page for every blog including Alice’s. If Alice gets an account at Technorati and claims her blog then she then Technorati knows enough to be her vouch for her. In another scenario Alice doesn’t even need a blog, she just needs an account with some site that’s willing to play the role of Victor.

The service that Victor offers to Steve is very limited in the current version of OpenID. Victor signs a statement: “The user denoted by this is currently signed on at my site via the browser in question.” Steve can check that signature by using Victor’s public key. Steve can grab the key from Victor’s web site.

Currently the design is only as safe as the Steve’s ability to get Victor’s public key, trust it, and trust Victor. The design doesn’t dig into these issues very deeply.

The design does not include a way to check Alice’s reputation, or tarnish it if she misbehaves. So if Alice isn’t a spammer she doesn’t get to accumulate karma for her good behavior; nor does it provides a way to revoke that karma if she suddenly turns into a raving loon. Of course one man’s loon is another’s endangered species; or in other words reputation is very contextual. If Alice’s ID URL is valuable to her that helps some.

Yes, but…

Yes, but why do I think this is hilarious?

In sum, Shamay-Tsoory and his/her colleagues propose a neural network for processing sarcastic utterances:

* 1-The left hemisphere language cortices interpret the literal meaning of the utterance;

* 2-The frontal lobes and right hemisphere process the intentional, social and emotional context, identifying the contradiction between the literal meaning and the social/emotional context;

* 3-The right ventromedial prefrontal cortex integrates the literal meaning with the social/emotional knowledge of the situation and previous situations, helping the listener determine the true meaning.

I consider this pretty funny too: “I work in the Artifical Intellegence Lab.” I have personally uttered that one, without irony.

Update: Lanugage Log or laugh track, you be the judge.

How fungible is attention?

Drawing a crowd and then advertising to them is now common web business architecture. Pay for your business with other people’s eyeballs. Here is a variation on the idea I’d not seen before though. This hosting company asks that you pay for their hosting services by spending time in their online forums. Pay for your business with your own eyeballs. Interesting.

While this reminds me of those free vacations paid for by spending two hours locked in a room with a timeshare salesman; it’s actually more like the online communities where members accumulate karma points to achieve status. In this game you win hosting services. They even show the current score of the player’s in their forum postings.

Systems like this are a fascinating edge case in the space of accounting or currency system design. The points are slightly analogous to loyalty points like those used in the travel industries pricing games. Of course these points aren’t even as fungible as those. outragous seeming patent case suggests that somebody has probably already patented the idea of creating attention points and their related markets, accounting, etc.