ADFS "2" TechEd Breakout Session Wrapup
Another flight, another post!
While I’m hurdled at impossible speed over the Atlantic toward US, I find myself to reflect about the breakout session I delivered 10 days ago at TechEd in Barcelona. And I better do it fast, since the seat power plug can’t deliver enough Watts for my little Tasmanian devil with a swivel display and the battery already slides the slippery slope toward depletion.
For the ones who weren’t there or didn’t read the former post: I gave a sneak peek of ADFS “2”, namely the developer component of it. See the mentioned post for details.
I want to thank everybody who took the time to enter their evaluations & comments: the session got a very decent score, and the comments were mostly very positive (my absolute favorite is “very good, very Italian”. hehehehhe :-)). I was really glad to see so many people happy with the direction we are taking and eager to play with the bits. Bear with us π
I was especially pleased with the positive comments about the demos. This year the TechEd audience showed no mercy for failing demos: taking the decision of coding everything on stage, snippets or not snippets, was pretty hard considering all the moving parts and I was very, very lucky that everything went as desired.
No session ever gets only positive comments (at least not any of my sessions: I like to be controversial :-)), and I want to use this space for handling the constructive criticism and the misunderstandings.
Zoom In
During the demo I made extensive usage of the zoom tool. Somebody loved it, somebody hated it. Unfortunately certain the fonts of areas of visual studio cannot be easily modified (think the solution explorer), so the zoom tool is pretty much the only option there. Using a lower resolution would have left very little real estate for the code, and it was a very important part of the presentation. However I recognize that there are things I could do better. For example, I should position the zoom tool over the area I want to emphasize and then let go of the damn mouse. If I don’t, I keep gesticulating (Italian style) and the zoom area rocks al over the place, giving motion sickness to the first rows. I promise I’ll fix this!
<Edit>
DuncanS suggests that the solution explorer fonts can be modified after all π It’s very cool! However that’s still a bit of a mess because it does not enhance everything. For example, see the properties window below.
I’m sure that the properties can be somehow enhanced as well, and the same goes for the toolbars, and so on and so forth… you get my point π
</Edit>
Accent
Only 2 comments about my accent, and both pretty mild. It’s true, I am not always very easy to understand. In the last years I improved dramatically (go fish the first webcast I did in English, I spoke at about 300% of today’s speed) but I am still far from Luca‘s clarity (as our speaker coach never fails to remind me, with Luca‘s big amusement. It’s a daily battle with my passion for the subject, which tempts me to shove in more info than the time permits… again, bear with me. Daily battle, daily improvements.
“This is way too simple, what are you hiding?”
There was a “negative” comment that, in fact, is a symptom of the fact that we’re doing a good job.
The attendee was complaining that the STS solution looked too simple, and wanted to see clearly what is being taken care of by the framework and what’s left to the developer to do. Now, I can only imagine that the anonymous commenter is somebody who bravely attempted to write an STS himself (herself?) and witnessed in disbelief the developer productivity equivalent of moving from sublight engines to hyperspace (yes, I like to exaggerate) . Fact is, it’s all there π You have seen me opening visual studio, creating a new ASP.NET website with the default template, and code my way from zero to STS. True, instead of typing I often used snippets; but I always explained step by step what those snippets contained. And I’ve always pasted them in items that I added to the solution directly on stage, there was no hidden files or strange tricks. The only part that I didn’t show, but explained upfront, was the small utility class that I used for accessing claims. It’s just a facade that avoids me to use two nested foreach every time I want to access a claim from the AuthorizationContext, and made the operations clearer; but that’s just syntactic sugar, not a new functionality.
If it looked simple, it’s because now it is!
The TechEd attendees can see the video recording of the sessions: if you have a chance, take another look at the demo and you’ll see that there are no smoker, mirrors or wires π
For all the readers that were not there: I think I’ll make a walkthrough and I’ll post it here, just for giving an idea. It won’t have the level of detail of the typical code tutorials I make, since you don’t have the bits for reproducing it anyway and I don’t want you to get too attached to APIs that with high probability will change in a way or another, but again it should give you a feeling of the delta with today’s means.
Before closing, I would like to thank all the people that came to the interactive session, the QA, the booth or simply stopped me in the hallway for discussing CardSpace and their (always interesting!) scenarios. The awareness and the proficiency in identity matters is growing at every conference, and it was great to exchange opinions & impressions. Thanks, and do not hesitate to shoot me a line π
“[…] the small utility class that I used for accessing claims. It’s Β just a facade that avoids me to use two nested foreach every time I want to access a claim from the AuthorizationContext […]”
And you call it simple?! Do you really find simple and comprehensive an API that requires nested loops in order to perform its most frequient use-case? It always was too complex for ordinary developers just because it exposed its internal programming model to the user, though the user is also a programmer. Doesn’t things like ‘abstraction’ and ‘make simple things simple’ sound familiar?
Great stuff , is there an estimated Beta2 due date ?
@vibro. I know these temporary facades. The same “foreach” programming model has been shipped in the release of CardSpace (in fact System.IdentityModel). It’s all very cool, powerful and extensible, but nowhere near simple enough to be broadly accepted be developers (I mean CardSpace v1). I really like the ideas behind the identity framework, your TechEd sample is awesome (I built an STS with pure WCF and I see the difference). Still I see some complications here: ClaimSet, PosessProperty etc. Having a declarative programming model for defining available claims and the simplest name-value collection for populating them is all 90% of STS developers want. Please, don’t overcomplicate, because there is no other way to make secure popular as making it simple.
“Unfortunately certain the fonts of areas of visual studio cannot be easily modified (think the solution explorer)…”
Oh yes it can! Tools > Options > Environment > Fonts and Colors. In the “Show Settings for” list choose Environment Font, specify a font other than “Automatic” – and you’re in business. A macro to do this would be trivial.