Do you include any tips for including live coding demos in your presentation?
I practice live coding demos several times until I can do it off by heart. I found crib sheets tended to slow me down, as does trying to talk and type. If anyone can share any tips on how to talk and type at the same that would be most welcome.
As I backup I'll sometimes create a screencast of the demo, especially if the demo needs a good internet connection or its a relatively new demo.
I try and avoid cut & paste or typing of a lot of code, although some times its unavoidable. So am also experimenting with git and branches to see if that is a good way to keep things going at a decent pace.
As ever, I continue to pray to the demo gods before every live coding session
I guess the main problem whenever code is involved: Making it readable (big fonts, so people in the back can see it) vs. being able to show relevant portions of the code. I'm afraid I don't have a good solution for this, but I'd always lean towards making things more readable. Try to get rid of everything else on the screen - toolbars, window borders, etc. to have more room to make everything as big as possible.
Having a recording as a backup is a good idea. I've seen so many demos going wrong, and then the audience just has to sit there and watch the presenter struggle with the problem, trying - often unsuccessfully - to recover. Consider being able to show things live only a bonus - the audience will usually trust you that you're not faking things. So if you run into a problem with the live demo, apologize and switch to the recording. No time wasted and not much damage done.
Talking and typing just takes practise, I think. Try to avoid the usual mistakes, like pointing at your local screen or trying to type while looking at the big screen. I'd record myself doing the demo and then - painful as it may be - watch the recording, looking for these things.
Preparing code snippets for copy&paste is also a good approach, as long as it's not too much code. Typing can take a lot of time and presenters often make many typos, since they're nervous - which doesn't leave a good impression with the audience. Don't overdo it with the pasted code, though, since it will only irritate the audience if half a screen full of code suddenly appears out of nowhere. Introduce it in smaller portions instead.
Hope those help a bit.
I'm not aware of any book that covers live coding demos. Mine has a few tips on showing code (i.e. static slides). There's also a good book on software demos in general that may be worth a look: "Great Demo!" by Peter Cohan.
Dirk Haun wrote:I'm not aware of any book that covers live coding demos.
Please excuse me for jumping in, but I've read (and own) quite a few books on presentations, and I think you'll find Chapter 6 of the book "Presentation Patterns" interesting as it describes several patterns/anti-patterns concerning live coding demos that you might find interesting.
Please note that I am not recommending the book instead of "Presenting for Geeks"; rather I suspect the two would work well together in helping someone interested in giving a good technical presentations.
Hoping this helps,
posted 6 years ago
Burk Hufnagel wrote:Please excuse me for jumping in, but I've read (and own) quite a few books on presentations, and I think you'll find Chapter 6 of the book "Presentation Patterns" interesting as it describes several patterns/anti-patterns concerning live coding demos that you might find interesting.
I have that book but have to admit that I didn't finish it. Thanks for the hint, I'll have another look.
posted 6 years ago
Dirk Haun wrote:I have that book but have to admit that I didn't finish it. Thanks for the hint, I'll have another look.
I understand - it's not like Garr's books, I haven't read all of it, but the Live Demo part was something I heard Neal Ford talk about during a different presentation. By recording it he can talk while 'writing code' and never make mistakes.
The other trick is to run everything locally so you're not depending on an external network connection. This may mean creating mock servers that return canned results, but it makes the presentation more bullet-proof.
If you are doing a demo such as a weekly sprint review or retrospective using webex or something and you are connected to a projector, you can extend your display and have your notes and IDE displayed on your monitor and run your programs on the projector display. If you are not connected to a projector or at a remote location, you can have your notes on your smartphone using something like evernote. Have all your code you want to demo setup in IDE windows with run configurations setup as well - most agile/scrum meetings are time-boxed so avoid spending meeting time typing.