Friday, November 12, 2010
The Presenter’s Fallacy: Lack of Context
The other night, I read a mildly interesting article in one of my all-time-favorite “just for fun” programming magazines (Game Developer Magazine). It talked about the lack of context in many games. What made the whole thing very interesting to me is that they illustrated the example with something that is just as applicable for technical presentations, and it happens to be one of my pet peeves: Too many presenters explain things in great detail in ways that can be followed by just about anyone in the room, yet still, attendees have no concept about what the heck the presenter is talking about, since no context was ever given. The best explanation is no good if people do not understand what it is you are trying to explain!
The article used an interesting paragraph to showcase what happens when there is a lack of context. Here is that paragraph:
“The procedure is actually quite simple. First, you arrange things into different groups. Of course, one pile may be sufficient depending on how much there is to do. If you have to go somewhere else due to lack of facilities, then that is the next step. Otherwise, you are pretty well set. It is important not to overdo things; that is, it is better to do too few things at once than too many. In the short run, this may not seem important, but complications can easily arise. A mistake can be expensive as well. At first, the whole procedure will seem complicated. Soon, however, it will just become another facet of life.”
There you have it! Quite simple to understand, isn’t it? It is clear and concise English language. A good English speaker should have little trouble making sense of this and walk away enriched and enlightened. (And if you aren’t, go and read that same paragraph one more time right now!). Still doesn’t make much sense?
Well, of course it doesn’t. While it may all be normal and simple English language, the above paragraph doesn’t teach you anything at all unless you know what it is about. So let me set the stage and provide the context: Today’s presentation is about how to clean your clothes. Let’s call it “Bachelor’s Laundry 101”. Now, go and read the above paragraph again. I’ll wait.
As you can see, it now all makes a lot more sense, and it really is quite simple. And the same thing applies for any kind of presentation or communicative situation (and really a lot of other things too). I can’t begin to tell you how many sessions I attend where the speaker doesn’t seem to understand this simple aspect. Another area where I encounter this a lot is during requirement analysis. A customer will explain to me in great detail how things are to work, but it is like pulling teeth to get to what the heck he is even talking about.
Example: I can explain in great detail how the new C# “await” keyword works and how the compiler internally handles it and re-arranges code and all that. But it will be completely meaningless to anyone unless I previously explain why the heck anyone would want to use “await” and what it does and what problem it solves. Seems trivial, but more often than not, the speaker forgets to mention little details like that. And when that is forgotten, it will take you half the session to deduce the context from the explanation. Once you have that, you can back-track and try to figure out how the explanation applies, and by the time you have done that, the speaker has moved on into more complex areas and you are lost. You feel that “the talk was over my head” when it probably shouldn’t have been. (Ironically, the speaker my sound clear and coherent and may demand great admiration from the audience, because he clearly understands things that people feel are too difficult to understand for them. Not so!).
So there you have it: If speakers (and other people) would just learn to add context, we could comprehend things more easily and at a more rapid pace!
Posted @ 4:09 PM by Egger, Markus (firstname.lastname@example.org) -
Friday, November 05, 2010
The whole Silverlight Brouhaha after PDC
A week has passed since PDC 2010. That is a week since we've had quite a Silverlight (and by implication, WPF) brouhaha, brought on by a statement made by Bob Muglia in an interview with Mary-Jo Foley, that was a mixture of unfortunate wording and being taken out of context (not by Mary-Jo, but by many others). Since then, things have calmed down a little as Microsoft has clarified a number of things and people have done some logical thinking. So with some distance, let's take a look at the situation:
The original interview that contains the statement of Bob Muglia can be found here:
In short, Bob Muglia referred to Microsoft's effort around Silverlight and Windows Phone 7, as that was one of the big focus areas of PDC 2010. Bob referred to the strategy having shifted and how Silverlight is now an important platform for the phone. The way this was taken by the community was "our Silverlight strategy has shifted from the web to the phone". This is rather unfortunate, as this is not what it was meant to say. If Bob would have simply changed one word, and instead of "shifted" would have said "expanded", everything would have been much clearer. A message that is really very positive ("Silverlight has just gotten more important by also making it the main technology for Windows Phone 7") all of a sudden became troublesome in the eyes of many who took it as a shift away from Silverlight's original strategy.
Of course what made matters worse is that Silverlight itself (or a future version of Silverlight) was not a focus of PDC 2010. Furthermore, HTML5 was a focus of PDC 2010 as Microsoft talked a lot about Internet Explorer 9 (HTML5 support is one of its major features) and Microsoft also for the first time publicly stated HTML5 was an important strategy (not a big surprise to any of the insiders... after all, it's not like HTML4 wasn't a big focus for Microsoft, so why think HTML5 all of a sudden wouldn't be important?).
Of course there was a bit of a further PR mishap that happened at PDC: PDC has always been a future oriented event that covered just about all significant Microsoft development technologies of the time. This PDC however, was different. (My personal impression even is that this was planned as some other event – perhaps focused entirely on Azure? – which was then re-branded as a PDC). It focused on a few key areas only (Windows Azure, Windows Phone 7, and Internet Explorer 9). And it was very much focused on the "here and now". All in all, this PDC really didn't have much in common with what most people think of when they think of a "real PDC". All of this was known ahead of time (especially "insiders" were in the loop, and I assume people who signed up to be on-site in Redmond knew too), but it was not communicated to the extent it probably should have been. Well, hindsight is 20:20. But if this would have been understood by more people, it would have made it clearer why Silverlight "5" (or whatever the next version might be called) was not discussed at PDC and that that in itself is not reason for any conspiracy theories. (Personally, I think it might have been worth considering a different name for this event, but there are pros and cons of course).
So long story short: The future of Silverlight is bright and there is no reason for concern. Silverlight is a great environment to develop rich applications that go beyond of the things you can do in HTML (5 or otherwise). WPF is an even richer environment and has its place as well (and the next version is in the works). None of that has changed. And of course, HTML(5) has its place as well. HTML is the most generic cross-platform UI environment (which is important in times where companies like Apple refuse to do anything but HTML except for their completely proprietary technologies, with no desire to allow companies like Adobe or Microsoft to put their technologies on their platforms). HTML’s strength is a bit more on document centric things, although it can also be used for many typical UIs. But HTML isn't Silverlight when it comes to rich experiences (no, not even HTML5 is… watch my recent WPF/SL productivity and styling video (here) and tell me how you’d build the same thing in HTML5 productively). Each technology has its place. And obviously, neither the move from HTML4 to HTML5 nor the Silverlight support for Windows Phone invalidates or changes that.
Why do I know all this, you might wonder? Am I just making this up?
Well, for one, networks like the MVP and RD communities have been ablaze with emails and discussions regarding the issue (with Microsoft being in the discussion). Clearly, no group (including Microsoft) has an interest in having anyone declare Silverlight to be unsupported. And that is good. Seeing that Microsoft puts great effort into damage control tells all of us that they want to make it clear that Silverlight is an important strategy. That in itself is an important message.
I also know what Scott Guthrie said at the keynote at DevConnections earlier this week (and after PDC). He re-stated that Silverlight (on the web as well as otherwise) is a key technology for Microsoft. He also stated that the Silverlight team is currently larger than it has ever been (a surprising statement, not in its core content, but because Microsoft practically never makes statements about team sizes).
In addition, statements have been issued by Steve Ballmer and Bub Muglia, clarifying what they had really meant to say and what Microsoft's position on Silverlight really is. Here are the links to these statements:
So there you have it! Time to move on and build some Silverlight apps! This has been needlessly disruptive already. I have used Silverlight as strategic technology in several of my companies, and I will continue to do so. And I will sleep better for it.
Posted @ 11:08 PM by Egger, Markus (email@example.com) -