|
This work is licensed under a
Creative Commons License.
However, NetMesh, Situational, LID, Light-Weight Identity, and InfoGrid
are trademarks or registered trademarks of R-Objects Inc.,
doing business as NetMesh Inc. and no rights to trademarks are
granted. For the purposes of attribution, the author is "Johannes Ernst"
and attribution shall provide a (clickable, where possible) URL to this site.
|
|
Slightly updated May 18
If you Google Microsoft’s InfoCard, you mostly seem to find people asking "who can tell me more about InfoCard", but very little actual answers. Here is what I’ve learned from public statements by Kim Cameron and other Microsoft people, and the public demo they did at Digital Identity World 2005. (Disclaimer: I may be wrong about some things, as I don’t work for Microsoft. Also, I believe all of the information here is public. If I’m wrong on either count, please do let me know.)
To understand InfoCard, you need to understand Kim Cameron, InfoCard’s architect. Kim is credited with being the, or at least one of the inventors of the concept of a meta-directory. A directory (as in corporate directory, LDAP, that kind of thing) is a special kind of database run by companies to manage information about their employees, such as their names, phone numbers, e-mail addresses, office locations, as well as computers, printers and sometimes access permissions to various applications or information. When companies started to deploy directories, very quickly multiple directories were found within the same company, and the question arose how those directories could be used together, because some directories would know information about some employees but not others, etc. The idea of a meta-directory is to have a piece of software that would appear just like any other directory, but that would pull its data from other directories. In other words: have your cake and eat it, too. Keep whatever directories you have, but make all their information appear in one place (coincidentally one of the core principles behind our NetMesh InfoGrid as well).
So when Kim decided to do something about digital identity, he used the same mindset that he used for the idea of a meta-directory, because he saw the same market conditions in this area: lots of incompatible digital identity systems, that prevent everybody from interacting with most other people — just like stovepipe directory systems would prevent one person from accessing a printer defined in another. In the identity space, not only do we have Microsoft Passport, Liberty Alliance, SXIP, Identity Commons, and our LID, but thousands, or maybe far more, home-grown account and user registration systems. In Kim’s view, while there may be advantages that one of those systems has versus others, the real problem is fragmentation of digital identity systems, just like fragmentation of directory systems back then. So the core idea for InfoCard is to be a meta-identity system, with the word "meta" meaning the same thing as it does in the term meta-directory system.
Another way saying the same thing would be by parallel with TCP/IP as the universal abstraction layer that abstracts away from things like Ethernet, but nevertheless depends on them. Using this analogy, we could think of InfoCard just like we do about TCP/IP (in relation to digital identity systems and Ethernet or WiFi, respectively).
Kim’s hope that by having such an abstraction layer, such a big momma identity backplane (as Marc Canter puts it so memorably), we can get an explosion of identity-enabled new applications. And he adds another analogy: there was little innovation in graphics before there were commons APIs that developers could use to talk to any graphics card, but then it exploded, we got graphical user interfaces and all of that. Without that common API, the next level of innovation simply wasn’t possible. He thinks that it will be the same about identity.
Before we get into the guts, let’s list some more of the assumptions behind Infocard: (you should also read Kim’s Laws of Identity which I won’t cover here but which contain a lot more interesting assumptions)
Here is an example use case:
OBJECTtag, which triggers a DLL which invokes the InfoCard system.In order to accomplish this, InfoCard employs:
Does this make sense do you? It does to me … Feel free to post back or contact me if I’m wrong or incomplete or you have questions or …