Hey guys,

When I first started at Microsoft 8 years ago, I was an awful presenter.  I hardly made any eye contact and I spoke really, really, really fast.  Over the years, I’ve had some training by some really good instructors and gotten a lot of practice.  Now I like to think of speaking as one of my strong points.

Mentally, I’ve been keeping a little list of tips and tricks – many of which have come from fellow speakers – that have helped me.  I thought I would share some of them in this post.  A lot has to do with doing technical demos since I feel like that is one of my strong points in any presentation I do.

Make sure the audience can see what you’re doing

It can be really hard for an audience to see things on the screen when you’re doing a demo; particularly in a complicated user interface like Visual Studio.  There are some things you can do, and utilities that you can use to help them out. 

  • ZoomIt is a great tool for zooming in on specific parts of Visual Studio (thanks for the tip Martin Woodward!)

Try the following from Tools -> Options in Visual Studio

  • In the Environment->Fonts and Colors setting, make the text editor font use at least size 16 and change the font to Lucida Console (I find this font shows the larger text better).  Try to make this change before you speak because the first time you access the Fonts and Colors settings it takes a long, long time.
  • Turn your system font up to Large from the properties of your Windows desktop.  The Visual Studio tool windows will pick up this larger font.  Make sure to test all the windows that you are going to show since some VS windows don’t handle the large system font that well.  You might have to restart Visual Studio as well.
  • Try hiding as many tool bars as possible to keep Visual Studio from looking cluttered.

Keep things snappy

Performance is always important for any demo that you might do.  It goes without saying to get a machine with as much RAM and CPU horsepower as possible; here are some of my other favorite tips.

  • If you’re running a Virtual PC or Virtual Server, a secondary hard drive is an absolute must.  Virtual PC and Virtual Server are really IO intensive, so if you run a virtual image on the same hard drive as your native operating system, you will get a lot of contention on that drive.  Another hard drive, either native in your computer or USB does wonders.
  • Buy as much RAM as you can afford/fit into your machine – at least 2 GB is ideal
  • Try to use fast hard drives, at least 7200 RPM.
  • I’m addicted to defragging my VPC drive – I do this after almost every time I run a virtual PC image.  The built-in defrag utility in Windows is pretty good.  The commercial product from Diskeeper seems to defrag faster and can be put on a schedule.  I’m not sure if it does a better job or not.  I’ve also used a free tool from http://www.flexomizer.com/PermaLink,guid,ce99367e-158c-487a-879d-b32145cc1957.aspx.  That tool probably takes the longest, but does the best job I’ve seen.  Thanks to David Whitney for writing this tool! 
  • There are tons of ways to optimize your VPC images themselves.  A good document can be found at: http://blogs.msdn.com/nolansax/attachment/700992.ashx.  These tips really do make a big, big difference in performance.
  • Before you finalize your VPC image, try running CCleaner.  This handy tool cleans up IE history, old setup files and a bunch of other bits of data cluttering up your system.
  • If you can, don’t use differencing drives – they are really handy, but they eat up your performance.
  • If you can, don’t enable undo drives – again, undo drives are super handy, but they do eat up performance.  Despite this, I tend to run with undo drives enabled.
  • If you turn off themes in the VPC OS, or set the UI to maximize performance, your image will run faster.  I don’t usually do this because I don’t like the way the display looks.
  • For Visual Studio Team System demos, my colleague, Ajay Sudan has a nice technique where he runs a Team Foundation Server in a VPC, but uses a natively installed Visual Studio to access it.  That’s a nice combination because you can’t beat running the client bits natively when it comes to performance.
  • This can be time consuming, but I think it’s worth it.  If you’re showing Visual Studio, open up each file type (i.e. C# files, resource files, etc) and note what tool bars they enable in Visual Studio.  To maximize the perceived performance, close every tool bar that every document you are doing to show enables.  This way, when you switch from document to document in Visual Studio, there are no delays from drawing the tool bars.

Slow Down!

This is something that I use to really, really struggle with - trying to slow down my speaking pace.  What I’ve found is that I can’t just tell myself to slow down.  What I try to do is concentrate on maintaining my volume from end-to-end when I’m presenting.  One thing I’ll notice when I’m speaking quickly is that my voice tends to trail off at the end of a sentence.  This is usually because I’ve used one breath for the entire sentence and by the time I get to the end of that sentence, I’ve run out.  Using one breath for a sentence like that is usually a sign for me that I’m going too fast.  So, I concentrate on making sure I take a breath somewhere in the middle so that I can finish strong.  To get that breath in, I’ll need to pause somewhere between my words.  With some practice, I’ve been able to take a quick breath and still sound like I’m speaking naturally.  That has really helped me slow down.  I’m still a fast speaker, and I probably always will be, but what I’ve found with trying to breath better is that I can make myself easier to understand.

A funny thing to keep in mind is that I think that no matter how experienced of a speaker you are, there is some inaccuracy in how you perceive yourself and how your audience perceives you.  This is particularly true for pace.  What tends to happen is that when you’re trying to slow down your pace a bit on stage, your brain will tell you that you’re speaking way too slowly and that you sound like an idiot.  In reality, you sound perfectly normal to your audience.  This is where video tape comes in handy.  What I’ve done in the past is record myself speaking at various speeds.  I’ll go really, really slow; so slow that I can barely take it  and then go watch myself on tape.  What I’ve noticed is that you can go really, really really slow and feel awkward doing it, but it looks and sound perfectly normal.  I didn’t have to do this too many times before I got a better at gauging my actual pace versus my perceived pace.

All that said, the last thing you want to do is stretch out every single word and put your audience to sleep.  Varying your pace is always good and makes you sound (and be) much more a genuine speaker.  If you’re excited about something, let yourself speak a bit faster, a bit louder.  Just be sure to slow down now and again when you wanto make a point or do a re-sync with the audience.

Enjoy Yourself

We’re lucky to be in an industry that is driven by so much passion.  If you’ve taken the time to put together a presentation, take the time to enjoy delivering it.  No matter how badly you think you did, chances are it wasn’t that bad.  Chances are, you did a good job.  In almost all cases, your audience wants you to succeed – so if you meet them 1/2 way, you’ll have done a nice job more times than not.

Anyways, just some thoughts I wanted to share.

Eric.