digg_url = “http://blogs.msdn.com/b/vbertocci/archive/2010/08/18/programming-windows-identity-foundation-has-been-sent-to-the-printer.aspx”;digg_title = ““Programming Windows Identity Foundation” has been sent to the printer”;digg_bgcolor = “#FFFFFF”;digg_skin = “normal”;digg_url = undefined;digg_title = undefined;digg_bgcolor = undefined;digg_skin = undefined;

[this may look weird at first, but bear with me]

The Roman numerals notation emerged with Roman civilization itself, around the 9th century BC, though its roots go all the way back to the Etruscans.

It is not an especially handy system: it’s not well suited for representing large numbers, and arithmetic (especially multiplications and divisions) gets tricky real fast. Nonetheless it beats counting with fingers, scratches on sticks and stones, and backed the growth and development of Western civilization for more than 2 millennia. Although scientists and professionals managed to do their thing despite of the inherent complexities of the system, the layman was forced to rely on experts for anything beyond trivial accounting.

What I find absolutely amazing is that Europe got exposed to Hindu-Arabic numerals, an obviously superior system, before the year 1000; and our good Fibonacci, who learned about the system in Africa, even wrote a book about it. Despite that, pretty much everybody stubbornly stuck with the old system well into medieval times.

You know what changed everything? Printing. Once printing was invented, information started to circulate fast and the superiority of the new system became evident to a wider and wider audience. Network effect and Darwinian selection did the rest, and today we pretty much all use the new system. Now anybody with basic education can do most of the math he or she needs, and science advanced to marvels which I doubt would have been invented or discovered if we’d be stuck in some Roman numbers-fueled steampunk nightmare.

Why did i bore you with that tangent? Because I believe there’s an important lesson to be learned here: no matter how incredibly good an idea is, it’s the availability of the right technology that can make or break its fortunes.

The idea of claims has been around for quite some time now, however despite the wide consensus it gathered it didn’t enjoy widespread adoption until recent times. In fact, you have just to look at our platform to observe a Cambrian explosion of products and services which are taking hard dependencies on claims. What happened? Why now?

I’ll tell you what happened on our platform: Windows Identity Foundation showed up on the scenes. Windows Identity Foundation, which is at the heart  of Active Directory Federation Services, Sharepoint 2010 and can easily be in your applications and services, too. Windows Identity Foundation gave legs to the ideas that, while very compelling, often failed to cross the chasm between the whiteboard and a functioning token deserializer, a manageable STS.

Windows Identity Foundation is what makes it possible for you to take advantage of the claims-based identity patterns, without feeling the pain of implementing the entire stack yourself. Since 2007 my job included evangelizing Windows Identity Foundation: a great experience, from which I learned a lot. One of the things which I’ve observed is that oftentimes people have a hard time using WIF in the right way, because they are stuck in mental models tied to the artifacts of the old way of doing things, such as dealing with credentials and protocols directly. This happens to security experts and to generalist developers alike. Invariably, just a bit of help in seeing things from the right angle is enough to push people past the bump and unleash great productivity; like many things on the Internet, once seen claims-based identity cannot be un-seen. The frustrating part of this is, though, that without that little help it’s not always easy to go past the bump. If you follow this blog you know that we go out of our way to provide you with samples, learning materials and occasions to learn through live and online sessions: but I wanted to do more, if possible. I wanted to capture some of the experience I gathered in the last few years and package it in a format that beginners and experts alike could consume.

The result of that effort has been sent to the printers yesterday, and it’s the book Programming Windows Identity Foundation.

In later posts I will perhaps go in further details about the table of contents, the people who contributed to the book, and even some content excepts, but right now I just want to breathe and look back at the reasons for which I took on this commitment, which is what I did while writing this weird post.

Writing this book has been hard work, but I truly, truly hope that it will help you past the bumps you may encounter and fully enjoy the power of claims-based identity.



7 Responses to “Programming Windows Identity Foundation” has been sent to the printer

  1. Nothing to do with ‘Printing’. The US and Mynmar still use the obviously inferior lbs/miles/gallon/fahrenheit system and we have printing.

  2. Mads says:

    Hi, I hope that you covered in your book identity selector subject/implementation, more precisaly, the Windows Cardspace.

  3. Lorenzo Van Eenoo says:

    Congratulations Vittorio! The amount of (quality) material you put out in the public is staggering. You should definately ask for a raise 🙂

  4. Congratulations, Vittorio 🙂

    I hope to see your book in a Italian library, translated into Italian maybe 🙂

  5. Pamela says:

    Hi Vittorio,

    Will you release an ebook version?  I’d really like to be able to put this on my kindle, and think of the trees that will be saved!  Also it means I can have my copy everywhere I travel…



  6. Gene says:

    August 30th 2010 is release date for an ebook version. I am desperately waiting for it.

  7. SonOfPirate says:

    I am very interested and anxious to see what you’ve covered in the book.  Does it go deeper than the WIF Training Kit topics?  Any chance you can post the table of contents?

Leave a Reply

Your email address will not be published. Required fields are marked *