May 242007
 

Phil Karlton said (at least once in my hear­ing any­way) that nam­ing things was one of the two hard tasks in com­puter sci­ence (read­ing X Toolkit Intrins­ics — C Lan­guage Inter­face, to which he con­trib­uted, will give you some idea why he said it); I dis­covered the truth of this yet again when writ­ing the FAQ for our Iden­tity Pro­vider for Open­ID. In this case, it was even more con­vo­luted, being about what to name the thing that names names.

When a Sun employ­ee signs up at the Sun IdP there is no neces­sity for them to put their real names in the fields marked “first name” and “sur­name”; they can use a fic­ti­tious name if they choose (or put noth­ing at all). In com­mon Eng­lish, this fic­ti­tious name is often called a pseud­onym. The vari­ous dictionary.com defin­i­tions of pseud­onym would seem to fit this usage very well, so I was pre­par­ing to use it in the FAQ. Except for, it turns out that those steeped in iden­tity man­age­ment ter­min­o­logy tend to find that plain-Eng­lish usage of the word confusing. 

In SAML, for example, a pseud­onym is defined as A pri­vacy-pre­serving name iden­ti­fi­er assigned by a pro­vider to identi­fy a prin­cip­al to a giv­en rely­ing party for an exten­ded peri­od of time that spans mul­tiple ses­sions; can be used to rep­res­ent an iden­tity fed­er­a­tion. In Liberty Alli­ance work, the defin­i­tion is An arbit­rary iden­ti­fi­er assigned by the iden­tity or ser­vice pro­vider to identi­fy a Prin­cip­al to a giv­en rely­ing party so that the name has mean­ing only in the con­text of the rela­tion­ship between the parties. The same or sim­il­ar mean­ing is used with­in WS-Secur­ity (the user iden­tity [is] provided in a SAML asser­tion as a pseud­onym) and WS-Fed­er­a­tion (A pseud­onym ser­vice allows a prin­cip­al to have dif­fer­ent ali­ases at dif­fer­ent resources/services or in dif­fer­ent realms, and to option­ally have the pseud­onym change per-ser­vice or per-login).

So in order to make life easi­er for those poor, eas­ily con­fused iden­tity man­age­ment experts, I’ll be using the term “fic­ti­tious name” in the FAQ, where I would oth­er­wise have used “pseud­onym”, an added cost of one let­ter and one word per usage. I hope they appre­ci­ate my efforts to help them.

  16 Responses to “Naming Names”

  1. Nom de plume? Nom de guerre? 🙂

  2. I agree (fre­quently and loudly) that nam­ing is still the hard­est issue in IT. It’s com­plic­ated by the fact that the num­ber of unique con­cepts we need to identi­fy is vastly great­er than the num­ber of words in any lan­guage. So jar­gon is all about re-pur­pos­ing exist­ing words to mean some­thing new, and then you have to avoid using the jar­gon words when you are writ­ing text for people who are new to the top­ic. I don’t see this prob­lem going away quickly.

    By the way, isn’t “avatar” almost the geek equi­val­ent of pseud­onym, these days?

    Cheers, Tony.

  3. what to name the thing that names names” (gasp!) — WebArch might sug­gest giv­ing it a URI

    Here’s one:
    http://xmlns.com/foaf/0.1/nick

    (there’s also foaf:accountName)

    btw, the FOAF spec is cur­rently in a phase of tight­ning up, in part to encour­age its reuse in “pro­fes­sion­al” environments.

  4. The name authority?

    Nodes is nodes and prop­er­ties is prop­er­ties. Tell me who gets to name the names so we can get on with business.”

    Tony, an avatar is an imman­ent deity, of course. It’s defin­i­tion in 3D worlds is one of the last­ing arrog­ant pre­sump­tions of gam­ing that will stand based on fre­quency and amp­litude of use. And so it goes.

  5. Avatar fits tho, since it rep­res­ents you, who pre­sum­ably have deity status of a type, exist­ing above and bey­ond the vir­tu­al world.

  6. I’m not clear what level we’re talk­ing about here. If it’s a name for the thing that names names, then some­thing like “nom­in­at­or” might do. But if it’s the made-up name that needs a word to describe it (rather than the thing that makes up the name) then “handle” or “nick­name” seem easy.

  7. Why does it have to be a “name” deriv­at­ive? Could it simply be their Open­Id “ID”? (or is that a sep­ar­ate field?).

    AOL goes for “screen name” (not so pretty).

    On Bul­let­in Board Sys­tems, the term used was “handle”. I always thought that was a good word for one’s moniker.

  8. What is the oth­er hard thing in Com­puter Science?

  9. Accord­ing to Phil Karlton, it was cach­ing (or cache inval­id­a­tion, I can­’t exactly remem­ber which).

  10. But what if it the name is cor­rect? Then call­ing it “fic­ti­tious” is wrong. “Fic­ti­tious” asserts that the name is always made up, nev­er correct.

    On the net, we often call this a “handle”, a usage which goes back at least to CB radio and prob­ably farther.

    If that is too much jar­gon or con­flicts with anoth­er use of “handle”, try “user-provided name”. That is expli­cit about the source and trust­wor­thi­ness of the name.

    Also, I really wish people would stop using pos­i­tion­al labels like “first name” and “sur­name”. We’ve known that does­n’t work for Japan­ese names for at least twenty years. X.400 has a simple, clear altern­at­ive, with “giv­en name”, “fam­ily name”, and “com­mon name”.

  11. If it is the altern­at­ive name, (aka), then ‘ali­as’ is appropriate.

    An avatar would­n’t be the namer of the name. It would be the imman­ent rep­res­ent­a­tion of the named entity. It’s the same dif­fer­ence as a W3C-defined ‘resource’ vs. the thing returned by de-ref­er­ence. (oh… the bag o’ worms of abstrac­tion is fettered thing).

    Wal­ter: you are right about the cul­tur­al name prob­lem. I’m hav­ing that debate with my team as we speak. For­tu­nately, where com­mit­tees have been at it for a few years, I can punt to a schema ref­er­ence, but it is a good example to give to a new young fresh faced intern to thrash for awhile.

  12. You could go Ghost­busters on it and call it “Name­Mas­ter” or “Name­Keep­er” (or Xuul, but that’s already taken by Mozilla).

    Ger­ard: Cache Inval­id­a­tion was the oth­er hard thing, but I think that was before Java encour­aged people to play with threads without really under­stand­ing what they were get­ting them­selves in to.

  13. The prob­lem does not arise from call­ing a par­tic­u­lar piece of data some­thing in one place. The prob­lem arises when you call the fields on the regis­tra­tion screen “first­name” and “sur­name”, then use a term like “pseud­onym” to refer to these val­ues in an FAQ, and pos­sibly even more terms in oth­er places. Then of course there are oth­er fields, such as the Open­ID ID. There might be one name on the regis­tra­tion screen and the field might be called some­thing else (like user­name or nick­name) elsewhere.

    The end user is the one who gets con­fused. The user isn’t always sure wheth­er these are the same or not, so when the user has a prob­lem and calls/emails for sup­port, they start using all the terms some­what indis­crim­in­ately. They might say “pseud­onym” when they mean the Open­ID ID. They might say “nick­name” when talk­ing about “first­name”, because they entered their nick­name into that field. 

    So some simple advice to sys­tem design­ers is to be very, very con­sist­ent in use of terms, and to think about how the terms might be mis­in­ter­preted by end users and sup­port per­son­nel, who typ­ic­ally sup­port many sys­tems, all of which use dif­fer­ent or over­lap­ping vocab­u­lary to refer to iden­tity-related data.

  14. Lauren, I work in a totally dif­fer­ent world so I am not entirely sure I under­stand the prob­lem. But in my world names and what to call them and how to store them are cer­tainly very big issues, it goes far bey­ond the Japan­ese once you have to start deal­ing with nam­ing con­ven­tions from the dark­er bits of Africa.

    In my world, there isn’t any kind of con­sensus. I have seen the law enforcement/security types use “name giv­en” which works except that it con­fuses with “giv­en name” for folks from lan­guages much less word-order driv­en. Some­times they try and deal with it with “name proffered” which has its own and sim­il­ar issues.

    Cur­rently we are using “name you are called” (by my friends? by my acquaint­ances? by my fam­ily? by my spouse? by my boss? by my co-work­ers? by my moth­erin­law? and ahem by my sis­terin­law? and it gets much worse) and “name of your fam­ily” (dad, clan, sept, vil­lage, ances­tral grand­moth­er, dis­trict, tribe, hell) all of which turns out to be very prob­lem­at­ic as well.

    On the immig­ra­tion side of things it basic­ally comes down to shoe­horn­ing which is why I am a Bray not a Bratrud nor a Donaldson/Billson/Williamson or even an Har­ald­son (nor even a Steep­field or Fitzwat­son or Evelyn­son). Hell, I’m not even clearly a Rob or Robert or Bob or what­s’­iz­nameth­at­guy. Clear simple iden­tity is the hope­less holy grail of the secur­ity industry, and in my exper­i­ence, totally and utterly futile.

    To name a namer? Call it fool’s quest or cer­tainly wrong or facist exer­cise or ID idol­atry or conun­drum gen­er­at­or. It would be kinda cool to have a name that actu­ally reflec­ted what is was (or wasn’t).

  15. So duh, on fur­ther reflec­tion, the thing that names names for the pur­poses of entry into some­thing and being forever known and tracked by that name there­after should obvi­ously be called “immig­ra­tion.” (We all see the world through our own lens of course.)

  16. Not really. It is basic:

    1. Self-iden­tity (what the entity knows itself by) is obtained by query.

    2. Iden­ti­fic­a­tion (the pro­cess of assign­ing a name) is a function.

    3. Name main­ten­ance (the pro­cess of check­ing that the entity quer­ied is named as quer­ied) is a call and response pro­cess, so a vari­ation on one.

    It does­n’t become mys­tic­al until the named entity is abstract and can­not be queried.

    Nam­ing is hard because it is polit­ic­al. Cacheing is hard because it has a real-time com­pon­ent. Real-time or dynam­ic sys­tems is one aspect that the URI-based naming/identification web sys­tem has prob­lems with because a resource is abstract and the rep­res­ent­a­tion is many-to-one so iden­tity, as illus­trated by Claude Shan­non’s work, is inher­ently noisy or ambigu­ous and the prob­lem is now cost of cre­at­ing redund­ant sys­tems to elim­in­ate noise in a single chan­nel. Thus sys­tems such as SAML.

Leave a Reply to Pat Patterson Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

/* ]]> */