{"id":301,"date":"2011-02-21T20:47:00","date_gmt":"2011-02-22T05:47:00","guid":{"rendered":"http:\/\/www.cloudidentity.com\/blog\/2011\/02\/21\/archaeopteryx\/"},"modified":"2011-02-21T20:47:00","modified_gmt":"2011-02-22T05:47:00","slug":"archaeopteryx","status":"publish","type":"post","link":"https:\/\/www.cloudidentity.com\/blog\/2011\/02\/21\/archaeopteryx\/","title":{"rendered":"Archaeopteryx"},"content":{"rendered":"<p><a href=\"http:\/\/blogs.msdn.com\/cfs-file.ashx\/__key\/CommunityServer-Blogs-Components-WeblogFiles\/00-00-00-26-94-metablogapi\/4024.Archeop_5F00_043AB279.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px;padding-left: 0px;padding-right: 0px;border-top-width: 0px;border-bottom-width: 0px;border-left-width: 0px;padding-top: 0px\" title=\"Archeop\" border=\"0\" alt=\"Archeop\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2011\/02\/4024.Archeop_5F00_043AB279.png\" width=\"400\" height=\"332\" \/><\/a><\/p>\n<p>The <a href=\"http:\/\/bit.ly\/hDmW3M\">archaeopteryx<\/a> roamed the south of Germany in the late Jurassic. It is considered the very first bird species, although many of its features (teeth, wing claws, bony tail) are clearly still dinosaur-like rather than avian. It had the first ever-recorded asymmetric wing feathers, one key characteristic which helps the lift in the flap of modern birds: however the asymmetry was not yet very pronounced, making flight possible but difficult.<\/p>\n<p>Archaeopteryx has gone extinct 150 million years ago: however it would be foolish to bring that as proof that the body plan of birds is a failure. Birds developed and refined the ideas first appeared in archaeopteryx to their full potential, becoming in the process one of the most successful animal classes on the planet.<\/p>\n<p>If you\u2019ve been following the news in identityland, you already know where I\u2019m going with my little paleontological detour.    <br \/>Last week <a href=\"http:\/\/blogs.msdn.com\/b\/card\/archive\/2011\/02\/15\/beyond-windows-cardspace.aspx\">we announced that CardSpace 2.0 won\u2019t ship<\/a>. Predictably, the announcement triggered a wide range of reactions in twitter and the blogoshere. I\u2019ve been asked why I didn\u2019t chime in yet, as the lead author of <a href=\"http:\/\/amzn.to\/hGjG11\">the book on CardSpace<\/a>: the easy answer is that <em>I did<\/em>, as I wrote part of the announcement; the longer one is that last week I was tied up for our biannual internal conference and didn\u2019t have time to sit down and give this the time and attention it deserves. Now I finally found the time. Heck, I even did a (digital) painting for the occasion <img decoding=\"async\" style=\"border-bottom-style: none;border-left-style: none;border-top-style: none;border-right-style: none\" class=\"wlEmoticon wlEmoticon-smile\" alt=\"Smile\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2011\/02\/8750.wlEmoticon_2D00_smile_5F00_6C072250.png\" \/><\/p>\n<p>More than any other time, please remember this blog\u2019s disclaimer: <strong><u>I am not an official Microsoft spokesperson on this blog, those are my opinions and mine alone<\/u><\/strong>. <\/p>\n<h1>Why I Produced Less and Less Content for CardSpace<\/h1>\n<p>The reasons for which CardSpace 2.0 won\u2019t ship are in the announcement, and there\u2019s not much to add that would not be speculation or 20\/20 hindsight: I have my opinions like everybody, of course, but it would not be especially productive (or concise) to list them here. The main thing I can <em>factually <\/em>report on is why you\u2019ve seen less and less CardSpace content on this blog, and why it never made it in the <a href=\"http:\/\/bit.ly\/dP9ir5\">training kit<\/a>, in the <a href=\"http:\/\/archive.msdn.microsoft.com\/FabrikamShipping\">pre-SaaS version of FabrikamShipping<\/a>, in <a href=\"http:\/\/bit.ly\/dPeR6m\">FabrikamShipping SaaS<\/a> and so on. Remember, I have a very specific audience: developers.<\/p>\n<p>When I moved from Italy to Redmond, my first mission was evangelizing the \u201cserver side\u201d of WinFx (remember? WCF, WF, CardSpace) for enterprises. At the time I already did <em>a lot<\/em> of SOA and web services, including ws-trust, and I was very familiar with authentication and authorization issues. As I read about CardSpace, I was absolutely awestruck by the elegance of claims-based identity, the natural way in which it <a href=\"http:\/\/www.identityblog.com\/?p=354\">the laws of identity<\/a> integrated the human factor to the underlying architectural principles, and its enormous potential: I started thinking more and more about it, and wanted <em>everybody<\/em> to know about the identity metasystem and how it could finally give a both correct and sustainable solution to many identity woes. I blogged, delivered sessions, met customers, wrote samples and even a book. For more paleo, here there\u2019s <a href=\"http:\/\/channel9.msdn.com\/shows\/Going+Deep\/Vittorio-Bertocci-WS-Trust-Under-the-Hood\/\">my first Channel9 appearance<\/a> from that period <img decoding=\"async\" style=\"border-bottom-style: none;border-left-style: none;border-top-style: none;border-right-style: none\" class=\"wlEmoticon wlEmoticon-smile\" alt=\"Smile\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2011\/02\/8750.wlEmoticon_2D00_smile_5F00_6C072250.png\" \/><\/p>\n<p>All that really worked well at the architectural level, where the shift in perspective yielded immediate results in term of rationalizing solution architectures. Moving to the next level, however, proved difficult. I wrestled for the longest time with the lack of tools for issuing tokens for IPs and consuming them for RPs that would preserve the abstraction, without drowning the developer in the details of the protocols we were trying to <em>meta <\/em>away. Raise your hand if you went through the <strong>SimpleSTS.cs<\/strong> and <strong>TokenProcessor.cs<\/strong> at least once! Those samples were great for showing the scenarios in action rather than hand waving or whiteboarding them, but going in production was another matter. Writing robust protocol and security code is not for everybody, and the grind it required was in stark contrast with the simple elegance of the high-level idea. Every customer was interested in the idea, but moving to the next level nearly always stumbled on that. So at the time I blamed the lack of tools for the slow adoption. <\/p>\n<p>Nonetheless, I kept posting samples using CardSpace, interleaved with abstract claims posts, and once we got the first tools in <a href=\"http:\/\/bit.ly\/gCAqv1\">Zermatt<\/a> (the proto-WIF) out I pushed and pushed (walkthroughs, CardSpace-ready VS template, etc). At PDC 2008 we finally announced <a href=\"http:\/\/bit.ly\/ftBJlV\">our more comprehensive initiative, Geneva<\/a>, and from that moment on the interest in claims accelerated like crazy.<\/p>\n<p>I kept writing about CardSpace, but people were more and more using the new tools for implementing claims-based identity in card-less scenarios. When I had to prioritize the scenarios to cover in the first release ever of the identity training kit, planned for the release of the beta2 of Geneva, I just had to face it: the requests for guidance where overwhelmingly about passive single-sign on, authorization and customization, delegation and similar but not about cards. I had a limited amount of labs I could produce, hence no card-related lab made the cut. And it never made it for all the subsequent content. The tools were there, but developers were simply (more) interested in something else.<\/p>\n<p>As of today, in my experience the scenarios that developers want the most are around single sign-on, be it on-premises or in the cloud: expecting the identity of the caller to be inferred from the context is pretty much the opposite than putting the user in charge of which persona he\/she wants to be, which claims should be disclosed and so on. Yes, home realm discovery remains a problem, and CardSpace offered a great solution for it: but as soon as people heard that it required a client component, they moved on.<\/p>\n<p>I am far too invested in the idea to be impartial about CardSpace not shipping. But I have to admit that if even for my deliverables, very small when compared to product development and multi-year support commitments, I had at a certain point to start cutting its presence, then I must accept that data-driven decisions must sometimes contrast with my opinions and expectations. Innovation can be proposed and even promoted, but not shoved down the throat.<\/p>\n<h1>CardSpace 2.0 Won\u2019t Ship: Your Argument is Invalid<\/h1>\n<p>As mentioned, I\u2019ve seen a lot of commentary in Twitter and blogs on this. Many posted measured and thoughtful blogs or tweets. Some other\u2026 well, I am not sure if they were deliberate attempts at demagogy (FUD) or if the tendency to linkbaiting\/easy headlines finally atrophied the collective modus ponens muscle. Instead of going after specific examples, anyway, let me take a positive attitude here and stress few key points. You do remember what I mentioned about the whole thing being 100% my personal opinion, right?<\/p>\n<p>Three years ago I wrote the first 165 pages of <a href=\"http:\/\/amzn.to\/hGjG11\">Understanding CardSpace<\/a>, the ones describing the problems with traditional identity management and exploring the identity metasystem in details. <em>I stand behind those pages today<\/em>: they could have easily appeared in my latest <a href=\"http:\/\/amzn.to\/d9gg8T\">Programming Windows Identity Foundation<\/a> book, as the issues we deal with and the intellectual tools we use in claims based identity remain the same, CardSpace or not CardSpace.     <br \/>Have you been at some Microsoft technology conference lately? Claims are <em>everywhere<\/em>, in keynote demos and numerous, all-times-popular sessions (you can thank SharePoint for the last one <img decoding=\"async\" style=\"border-bottom-style: none;border-left-style: none;border-top-style: none;border-right-style: none\" class=\"wlEmoticon wlEmoticon-winkingsmile\" alt=\"Winking smile\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2011\/02\/2376.wlEmoticon_2D00_winkingsmile_5F00_72BA2BD3.png\" \/>), in more and more products and services. For me it\u2019s a joy to look at those full rooms, see people from the community using WIF for solving their problems in new ways, and many other similar things that were science fiction at the times of SimpleSTS.cs. Claims based identity is an incredible success, and it is still growing at crazy pace.<\/p>\n<p>Wait, that? Does that mean that the Selector was useless after all? Far from it. In my opinion, the above just means that the current claims uptake is mainly taking place in the business world. In the business world the user tends to carry a strong context which can disambiguate a lot of situations, and in general many decisions are taken in advance by the administrators: the tendency is precisely toward guiding and constraining the user on predetermined paths, rather than granting him\/her more control over how their identity(ies) flows. Note, I am not passing any judgment about if that\u2019s ethic or not, just stating things I\u2019ve observed.<\/p>\n<p>Now, that doesn\u2019t mean that a Selector is useless in business context? Again, no. There are still many complicated problems we don\u2019t have a good solution for, that a selector would indeed solve: from the home realm discovery (with cards is pretty trivial) to offering an authentication experience for rich clients calling web services (today\u2019s solution of popping up or hosting a browser are less than clean, if you ask me). That just means that the problems being tackled now are perceived as more urgent than those ones, but the matter is not solved: just delayed.<\/p>\n<p>For the non-business word, what should I say? The \u201ctoday\u2019s youngsters don\u2019t care about privacy, look at pleaserobme.com, etc\u201d is now pretty trite, hence I won\u2019t inflict it to you: but it is true that people seem content with oversharing and living behind few walled gardens, even if often the way in which their identity information is handled is lax to say the least. If you don\u2019t care about security, an antivirus warning you that a website contains malware is just an annoyance; if you don\u2019t care of controlling with whom your identity is shared with and to which extent, a selector is just a burden.<\/p>\n<p>And yet, and yet\u2026 all that oversharing notwithstanding, people DO care about what happens to their identity after all: simply put, they usually realize it when it is too late (job lost, broken relationships, and so on). I think that many of the identity issues we observe today would simply not take place if only users were more aware of what <a href=\"http:\/\/amzn.to\/hiieer\">Sherry Turkles<\/a> calls their mixed self, or better the various facets of it.&#160; A selector would help people to develop an awareness of who they are online, and with it it would come more awareness and control about who can see what. A selector would also help with many of the issues that are being reported about OpenID lately, such as helping users to remember which identity they used for signing up with a certain service. <\/p>\n<p>Today\u2019s majority of approaches come from the web: but reality is that certain problems are just too complicated without being able to enlist the client as active part of the solution. Unfortunately seeing this requires to walk down from the current local maxima before being able to climb to the next, taller one; but once again, innovation cannot be shoved down anybody\u2019s throat.&#160; In any case, I am pretty sure that the time for a selector will come; it may not look like our idea of it today, but it will come. <\/p>\n<h1>Correlation is Not Causation, Especially When It\u2019s Not Even Correlation<\/h1>\n<p>Let me summarize my main point here, in case it got lost in my hopeless logorrhea.<\/p>\n<p><em>The fact that CardSpace is no longer shipping does not diminish in any way the power of claims-based identity, much like the fact that you won\u2019t spot archaeopteryx during a hike doesn\u2019t mean that those feather thingies weren\u2019t such a great idea after all.<\/em><\/p>\n<p>But oh, what a magnificent view it must have been.<\/p>\n<div style=\"clear:both\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>The archaeopteryx roamed the south of Germany in the late Jurassic. It is considered the very first bird species, although many of its features (teeth, wing claws, bony tail) are clearly still dinosaur-like rather than avian. It had the first ever-recorded asymmetric wing feathers, one key characteristic which helps the lift in the&#8230;<\/p>\n","protected":false},"author":1,"featured_media":1336,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[39,9,5],"tags":[],"class_list":["post-301","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cardspace","category-identity","category-wif"],"_links":{"self":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/301","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/comments?post=301"}],"version-history":[{"count":0,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/301\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media\/1336"}],"wp:attachment":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media?parent=301"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/categories?post=301"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/tags?post=301"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}