# Tuesday, 06 July 2010
I watched a video the other day from someone whose blog I read and whose presentations and sessions I have enjoyed. I was drawn to it because it said C++ in the title, and it was a really non-C++ person. Oh my. I did manage to last about 12 minutes, until it was pretty clear there really wasn't going to be any C++ content at all. There even was a tiny bit of useful content in those 12 minutes. But it was all mixed in with joking between the hosts, including something that must have been a running inside joke, because they sure were liking it and I didn't get it, snips of music, throwaway lines about "as we all know" when I didn't know what they were talking about but it might have been interesting to explore, and actual interesting things. Plus, the two hosts disagreed a lot, which I suppose was interesting, but impeded my ability to actually learn what one of them was trying to convince me of or explain to me. I couldn't watch to the end of it.

It got me thinking about the number of times I have read people blogging that they don't bother listening to podcasts. The theory goes that podcasts and videos are super quick to produce - just turn on the camera or Camtasia, plug in the mike, press record and off you go. A lot of them are not edited at all. And it shows :-). There are good podcasts (.Net Rocks comes immediately to mind, and not just because I appear on it once or twice a year) and they are the product of significant effort. There is conversation in advance about "what are we going to talk about". There is awareness of how the conversation is going, and genuine work during the conversation to keep it flowing well. And there is editing afterwards. All of this combines to make a higher quality experience for the listener, which is the point, right? You can find a zillion bad podcasts, and the good ones have one thing in common: they are motivated by the experience for the listener, not the ease or fun for the creator. I wish that wasn't so, I wish there was a magic easy way to get your knowledge out there to the community that was quicker than blogging or writing books or teaching courses or traveling to far away places and getting up on stage - but there isn't, they all take work.

I have all this in mind while I'm recording some screencast/tutorial type videos. When I give an actual presentation, I probably say um and ah and you know. I hope I say it less than some folks, but I still expect I say it. I know for a fact I say it when the mike is plugged in. How do I know that? Because right after I hit Stop on the recorder, I hit Edit. And I listen to the whole thing and whenever I hear um and ah and you know, I edit it out. I also edit out the pauses and the messups. I think that's the exchange we make between in person and recorded materials. An in person presentation or session or training is spontaneous and adjustable - you can ask me a question and I can go deeper on that one thing you want to know more about. When it's recorded, you can't interact. But hey, you get a crisper and more polished presentation. You don't have to ever watch a demo fail. Products that in real life take 15 seconds to launch are already launched when the demo starts, or appear to launch in two seconds because I edited out 13 seconds of splash screen.

This means that producing a ten minute video is going to take me way more than ten minutes. First, there's prep time - writing slides, creating starting point demo code, practicing a demo and ensuring that I have a good example that really covers the point I want to make, rehearsing to be sure I can do it crisply, and all of that. When I present at a conference or user group, deliver training, or even just visit a client one on one to show them something, I have to do all that prep. It's often about 3-5:1 - for a one hour talk there will be 3-5 hours of prep - and that's if you know the material cold, it doesn't count learning what's new in product X or learning how to do thing Y. Don't underestimate this effort. Folks who skip it find themselves the bad example in other people's blogs. Then there's rehearsing the whole talk a few times, which I generally don't do for recorded videos but have to do for in person material. What recorded videos need is about 12 minutes to actually record it, with pauses and ums and false starts and all, then 30 minutes or so to play that and edit out the two minutes that don't belong.

I'm not complaining, mind you. I think if a job's worth doing, it's worth doing right. And for videos, that means prep beforehand and editing afterwards. Is the medium the message? Well, you can't do the exact same thing in different media (eg in person or video) and expect to deliver the exact same message. Um in person and um in your video carry different messages. Joking with the guy who introduced you at a user group and joking with the guy who introduced you at a 5000 person keynote carry different messages. McLuhan was right.


Tuesday, 06 July 2010 14:24:37 (Eastern Daylight Time, UTC-04:00)  #    Comments [3]
# Sunday, 04 July 2010

About 6 weeks ago I blogged about the technology behind the amazing Olympics experience I had here in Canada watching CTV, and my American neighbours had watching NBC, as well as the Norwegian and French coverage. Now another case study has been released from that work. This one focuses on the way the broadcasters were able to insert ads (to pay for all that glorious coverage) and build highlights packages. As it says in the case study:

NBC teamed with premier technology vendors, led by Microsoft, to cover 4,485 hours of 2010 Winter Olympics events in HD via Microsoft Internet Information Services (IIS) Smooth Streaming to a video player based on Microsoft Silverlight. In addition to pleasing sports fans, the programming offered an audience of more than 15.8 million unique visitors to the many advertising partners of NBC. The exceptional capability of IIS Smooth Streaming and Silverlight technologies gave technology vendors the tools they needed to deliver midstream ads while providing an engaging experience for Olympics enthusiasts.

I find it interesting that Canada, with one-tenth the population of the USA, consumed double the hours of video. Not per person mind you, but total. We were lucky enough to have a lot more to choose from. As you can see when you look at the unique visitor counts, it is mostly that we each watched a whole lot of Olympics back in the dark winter months. Definitely worth a read to see how it was done and how it will no doubt continue to be done in the future.


Sunday, 04 July 2010 15:57:53 (Eastern Daylight Time, UTC-04:00)  #    Comments [2]
# Friday, 02 July 2010
I love demoing restart and recovery. This is the feature that will bring many users to Windows 7 - getting your work back even after the application blows up. Sure, Word saves your document every 20 minutes - but why does it seem I always lose 19 minutes of work? In my simple demo apps, there's a form with one or two controls on it, and one is some text, and when the application blows up I write all the text out, and then on restart I reload it from wherever I wrote it to. It's simple and for most applications it's exactly what you want. But for some applications that approach won't work as well. For example, what if you have an MDI application and the user has 20 or 30 documents open, each with unsaved changes, when the application is terminated? There may not be time to save all those unsaved documents. And then on restart, perhaps the user doesn't want them all restored, or at least not with their real names... it can get complicated.

You are going to need to know your own application and make an intelligent decision about how to handle restart and recovery for your application. But it might help you to know how a certain MDI application near and dear to all our hearts does it ... Visual Studio. Visual Studio does a Word-like autosave every 5 minutes. When the application blows up, it doesn't do anything in particular on the way down. But when it's restarted, it takes a look at the files it has auto recover versions of and asks if you want any of them. You might, you might not, and as the user it's up to you. Zain Naboulsihas a tip-style blog post that explains how it works and how you can control it. Read that for its own sake, since you're probably a Visual Studio user and should be using it as effectively as you can. But also take the opportunity to think about a good design for restart and recovery in your application, which is probably a little more complicated than one text box and one other control.


Friday, 02 July 2010 20:37:43 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Wednesday, 30 June 2010

I'm recording some videos again (I'll announce when the project is live) and I'm doing it, as I really like to these days, in a bootable VHD. I've got the environment set up just the way I like it, without messing with my day-to-day setup, and as an extra bonus I avoid the distractions that Outlook, Instant Messenger, Skype, and the Favorites menu in my browser have to offer. When I went to record the first video I realized I had forgotten to install Camtasia in the VHD so I quickly downloaded a trial from www.techsmith.com. I got to work recording my video, editing it, and so on. Then I rendered the video. This can take a few minutes, but I don't complain because I know it's doing a lot of work. But I got a great surprise ... this latest version uses the taskbar progress bar overlay, so that I can put the rendering into the background and work on something else full screen while it renders. I can still see at a glance how it's doing, but I don't have to keep the little progress window on top. It's a really nice touch.

Then as serendipity would have it I spotted this video on Channel 9 that calls out this and other Windows 7 features in TechSmith products. It's only 9 minutes long, so go and watch it. And if you haven't added Windows 7 features to your client apps yet, why not? It really makes a difference.


Wednesday, 30 June 2010 19:22:20 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Monday, 28 June 2010

With summer finally under way for real it seems like a million years until the fall. But in the world of event organizing, autumn is just around the corner. Session selection for TechDays is in the final stages and I'm looking forward to seeing the completed list. In the meantime, the Early Bird pricing is still in effect.

There will be an event roughly every two weeks from mid September to mid December. In each city (Vancouver, Calgary, Edmonton, Winnipeg, Toronto, Ottawa, Montreal, and Halifax) it will be two days, and while most of the sessions will be the same in every city, a new Local Flavours track will vary from location to location - just as the local tech folk vary! You can register now - go ahead! If you have some questions, Damir has answers for you.


Monday, 28 June 2010 19:22:03 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Saturday, 26 June 2010
If you use the Microsoft Visual C++ debugger, the team would like to hear from you. They have a quick (6 questions!) survey they would like you to take. Here's the survey, and the team's post about it, if you'd like to leave them a comment.


Saturday, 26 June 2010 19:25:31 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Thursday, 24 June 2010

Interested in playing with extensions to Visual Studio 2010? You should be, just for the fun and productivity of it. But in case you need extra incentive, how does this sound:

What will you create with Visual Studio 2010?

Enter the Summer of Extension Competition and let the US and Canadian Developer community know! Show your peers what kind of extension you can build for Visual Studio 2010 for your chance to be featured on the ReadWriteWeb website. Other prizes include a one-year MSDN Embedded subscription license (a $1,199 USD value!), an Xbox Elite prize bundle and a Natural Wireless Ergonomic Desktop 700 Keyboard and Mouse. Prizes will be awarded to winners in both countries.

Just create your extension, upload it to the Visual Studio Gallery, and tag it with rww to enter. (ReadWriteWeb and Microsoft are sponsoring the contest.) More details at ReadWriteWeb, where you'll also find some handy resources and links.


Thursday, 24 June 2010 15:50:25 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]
# Tuesday, 22 June 2010
The last (at least for now) in my series of articles on Visual Studio Extensions is live on Code Project. This one is on creating your own item and project templates. Like all the articles, it's really a train-the-presenter package designed to help you deliver a talk on this topic at a user group or Code Camp. If you care about the topic and would just appreciate the shortcut of a deck, working demos, and speaker notes that combine to hit a good talk length, then this is just what you need. It's all highly supplemented by videos - of all the demos and in one case of the entire talk. A quick reminder of the 7 articles I have there:
If you would rather learn the material than deliver the session, I suggest you follow the first few steps I recommend in the Introduction for a presenter:
  • If there is a recording of the entire talk, watch it from start to finish.
  • If there are only recordings of the demos, open the slide deck and read the slides to myself, pausing to play the demo videos at the appropriate points in the deck.
  • Read through the speaker notes to see what the author suggests I add to each slide as I present it.
You owe it to yourself to learn about extensions. Honestly, creating an item or project template will save you time the very first time you use it - it's quicker to make an use a template than to copy an old project and hand edit the file, project, and class names. And the astonishing array of free extensions on the Visual Studio Gallery is sure to include something that will save you time and frustration. Give it a whirl!


Tuesday, 22 June 2010 16:06:20 (Eastern Daylight Time, UTC-04:00)  #    Comments [0]