As most of you know, I occasionally talk about C# at conferences, user groups or basically anywhere that people won’t attack me. A while ago I rejected PowerPoint in favour of a rather less formal approach: hand-drawn slides. Quite a few people have now asked me about how they’re prepared – even occasionally making the assumption that my awful handwriting is actually a real font – so I figured it’s worth a blog post.
My process is both primitive and complex…
1. Draw the slides
I use plain A4 printer paper and a black flipchart marker to draw the slides. Where I need one bit overlaid on top of another (e.g. to cross something out), I’ll draw the two sections separately, to merge later. Given that I’m fiddling around anyway, it doesn’t matter if there are extra bits on the paper – so if I make a small mistake, I’ll often keep going on the same sheet.
I rarely make a textual plan of my presentations beforehand – I think of roughly where I want to go, and then just draw. Often some slides will be reordered or deleted for the final presentation. I find a good fat pen in my hand helps the creative process.
2. Scan the paper
I have a relatively ancient but still trusty flatbed scanner (a Xerox 2400, if you’re interested) which I use to scan everything in. A document scanner would be more convenient – scanning 25 slides individually is very tedious – but I don’t really have the space at the moment.
I scan in greyscale at 400dpi, into Paintshop Pro v8.10. It may be 7 years old, but it does the job perfectly adequately. I then re-orient them to landscape mode and save them as BMP files. Yes, it’s as daft as it sounds, but necessary for the next step. These files are pretty big – about 15MB – and large in terms of canvas size too… but here’s an idea of what they look like (but as a PNG, scaled down significantly):
At this point I’m done with Paintshop Pro, so I close it down…
3. Convert into SVG
I used to edit the slides as PNG files in Paintshop Pro, but this had various issues:
- Colouring was a pain
- Resizing didn’t work terribly well
- Cutting and pasting shapes wasn’t as easy as it might have been
For line drawing like mine, I suspect SVG is the ideal format. I found InkScape as a free tool which works pretty well… but I need to convert the images first. InkScape does actually have a conversion tool built-in, but I’ve never quite got it to work properly – whereas using potrace directly (I believe InkScape uses potrace internally) means I can batch the conversions and control them as far as I need to.
When I discovered potrace, I was amazed by it. It really does exactly what it says on the tin – it converts bitmaps into SVGs. Unfortunately it’s limited in terms of its input formats – hence the BMPs – but that’s fine.
For the record, here’s the potrace command I use:
potrace -b svg -r 400 -t 8 -O 0.4 -k 0.7 %*
I can’t remember what all the arguments mean offhand, but you can find out if you want to :)
4. Edit in InkScape
So, now I have black and white SVGs which I can edit in InkScape. I generally perform the following tweaks:
- Remove any crud left from my dirty scanner – often there are extra shapes which need deleting
- Resize everything and rotate shapes – usually to straighten them
- Apply colour; I usually stick to red, black, blue and green with occasional other colours where necessary. A bit of colour’s great, but we’re not going for works of art here… and many colours look rubbish on some projectors.
Here’s the result of editing the above picture – assuming your browser can handle SVG:
5. Convert to PNG
So now we’re done, right? Well, no… because I haven’t found any way of presenting nicely from SVGs. Aside from anything else, they take a long time to render, and I really need to be able to flick from slide to slide whenever I want to. However, I’ve found that PNGs work well as a display format. I use ImageMagick to convert from SVG to PNG usually… although very occasionally it crashes, and I have to use InkScape to export to PNG, which it’s perfectly capable of doing. (I use ImageMagick mostly so that I can do it easily in a batch.)
I convert to a 1024×768 (-ish) PNG, so that it won’t be too time-consuming to render, and I don’t need to worry about scaling it. (Most projectors I’ve used have been that size.) Here’s the PNG for the same image again – shrunk to 600×436 just to avoid taking up too much room:
Even if you couldn’t see the SVG before, you should now be able to spot that not only is the image coloured in (and with a lot better contrast than the original) but I’ve tweaked the man to be falling instead of flying. (The aim of the slide is to indicate that C# should push you into the pit of success.)
At this point, I have three directories: one of the original BMPs, one of the SVGs, and one of the PNGs. I could then create a PowerPoint presentation consisting of all of the images… but I’ve found that PowerPoint takes an awfully long time to render images, and it would also be a bit of a pain to add them in the first place.
Instead, I use FastStone Image Viewer to present a slideshow of the images. I’ve tweaked a few options to make the images appear nice and quickly against a white background. It’s easiest if the image files are in alphabetical order, so I tend to go for filenames such as "010 Introduction.png" – always iniitially leaving 10 between each number, so that I can easily slot in an extra slide or two if necessary.
So that’s my process… four pieces of free software and one very old commercial one, a fair amount of time, and a slightly odd result.
Looking to the future…
Obviously this isn’t an ideal process. I now have a Wacom Bamboo Fun tablet, and the hope is that eventually I’ll be able to draw with it directly into InkScape, cutting out huge amounts of the process. However, so far I’m completely inept with it. If you think my drawings are bad and my handwriting is ridiculous when I’m using a pen and paper, you should see it with the tablet… but maybe that will change. I’d like to think so.
I suspect my style may change over time too, although I’m not sure in what way. Different presentations already get different treatment – for some talks I work entirely in Visual Studio, occasionally breaking to talk without coding, but without any slides… for others I’ll have slides but no code at all. If you ever happen to see me present though, please give me feedback afterwards – good or bad. It’s an area I’d love to improve on, and feedback is the best way of that happening.
18 thoughts on “Presentation preparation”
You are my hero. This is just amazing.
I think the audience will appreciate the amount of time you spent on their particular presentation. I think too many presenters these days build their presentations halfheartedly and it shows.
I’ve been doing the same thing (well, roughly, I mean) for ages.
Click to access Tutorial.pdf
Nothing beats pen and paper.
PS: Strangely, you can only right-click and ‘Save Link/Target As’ the PDF file in the link I presented. If you just left-click on the link, I don’t know why it gives you a 404.
Although, I do have to add, it’s been ages and I am quite ashamed of myself at that article. I was naive enough to think that the MSDN would publish it until Chris Sells politely told me that C wasn’t as interesting and that if I wrote something about C#, he would try.
“always initially leaving 10 between each number, so that I can easily slot in an extra slide or two if necessary” – Back to BASICs, eh?
Well from what I’ve seen your presentations are great (I saw a few recordings from NDC). I love your hand-drawn styles. And I think you should make an actual font from your hand-writing ;)
You said “A document scanner would be more convenient but I don’t really have the space at the moment.” Did you mean physical space? We just got a miniscanner at the office that’s really good and takes much less room than any flatbad – I’d estimate it about 25x8x8cm, and it’s pretty good. I can get you the model name if you like.
@configurator: Yes, I’d definitely like to know the scanner name if possible…
For what it’s worth, if you haven’t yet tried the “whole screen” mode for the tablet, that might be easier to use. That’s the mode in which the entire tablet surface is a proxy for the entire monitor, with a 1-to-1 mapping between each point and a corresponding screen pixel.
I’ve found the “mouse mode” for tablets a bit harder to get used to and use, because you’re always starting relative to the last mouse position. The “whole screen” mode seems more intuitive to me.
Of course, if you’re already using that mode and still find yourself inept, this suggestion won’t help. :)
I’m also creating my presentations with the Wacom Bamboo. But it takes a fair amount of practice.
It’s much easier to just use a bigger tablet like a A4 Intuos or a Wacom CintiQ to draw the stuff since the space is more 1:1 to a real page.
Anyway, thanks for sharing your process.
I like this presentation style – it’s fun and unique.
I recently found a great online tool called Zwibbler that lets you create similar images to the one you have here. I spent a few minutes and recreated it as a demo:
Click to access 423.pdf
As you can see, pictures can be shared in PNG, SVG, and PDF formats, and you don’t have to deal with scanners and lots of tools.
Same experience with Wacom tablet as well. I bought it because I’d tried a tablet PC and thought it might be an affordable alternative, but it really isn’t the same, because you’re not drawing and seeing in the same place.
You totally need to get a graphics tablet.
Have you tried the Inkscape command line interface for step 5?
inkscape -f source -e target
@Louis-Charles: No, I haven’t. I may give that a go…
Can we see the presentations online?
@SLaks: Some are up at http://csharpindepth.com/Talks.aspx – I want to put more up when I find the time, but it’s a fairly laborious process to actually make them *useful*.
What happened to the man who was pushed down the hole?
Hi, Jon! I created Zwibbler.com and I must admit that I did it after seeing a video of one of your presentations.
So try out Zwibbler. It was inspired by your style!
@Steve: Interesting – and a lot of fun :)
Presentation is the key to describe one’s view point but it greatly depends on the quality of the presentation. Again to create a quality presentation it not easy. Using of SlideShare is a option but PowerShow in now my choice instead to share and upload my presentations. It’s a lot easier to use and supports more multimedia effects. It is available in http://powershow.com/
Try and rate your satisfaction.