Tips for making screencasts for presentations

Technical talks can quickly become dry and boring. Live demos are a great way to practically illustrate the points you like to bring across. But live demos are also risky. Too often something goes wrong, so often that there is a name for it – the “demo effect”. But there is an alternative.

Prerecording videos

For the talk Experiences building apps with React Native (only slides, video is coming) I wanted to try something different.

I love screencast series like for example Destroy All Software. Recently I’ve been watching LearnElixir and LearnPhoenix, both are really nice. The combination of hearing an explanation with seeing someone interacting with software works really well for me. Here is an example screencast that I used in the presentation:

How to make the videos

Because I didn’t want to spend money on a screen casting software I went with the QuickTime Player which comes preinstalled on macOS. It has a screen recording option, go to File -> New Screen Recording or press ^⌘N.

QuickTime: Record screen

Presentations are usually either in the format 4:3 or 16:9. I usually record the whole screen then use HandBrake to crop the screen to the required size. Before starting to record, make sure you position what you like to record within this ratio.

Talk when recording

Talking already during the recording helps a lot because it usually aligns when you are presenting. Pauses are at the right time and the presentation seems more natural.

Make short videos

Recording short videos of 10 seconds to 2 minutes, helps avoiding mistakes. You can expect to make multiple attempts before getting it right. The shorter the videos the less mistakes happen.

Shorter videos also help you to get the timing right when presenting. When a video ends, you have enough time to finish your explanation before starting the next.

Hide your desktop icons

If your desktop is a bit cluttered, you can hide your desktop icons. That makes the screen recording look a bit more neat. Run this in your terminal:

defaults write CreateDesktop false
killall Finder


Adding a bunch of short prerecorded screen casts to your presentation is not too much work, makes your talk more interesting and doesn’t suffer from the demo effect.

Related Posts

Learning Elixir: My side-project

Learnings from starting on a side-project written in Elixir.

Learning How to Learn – Online Course Notes

My notes for the online course “Learning How to Learn”.

Why the Elixir language has great potential

Elixir enables creating fast, reliable and concurrent modern applications with high productivity

Trust and Integrity

My notes for the Speed of Trust by FranklinCovey.

NodeJS: Factory Function Pattern, Dependency Registry and Hot Reloading

This article shows how to combine Factory Functions with a rapid feedback loop using hot reloading.

Better back swiping with the React Native Navigator

Swiping back works only close to the edge by default which can be hard to accomplish. It is easy to optimize this.

How to keep plugins when updating PhpStorm

When updating PhpStorm my plugins seemed to be gone, but you can easily move them over.

Command duration in fish shell

Display how long the last command took and notify when a long running command is finished.

ES6 in Node and in your Browser with Traceur

How to use Google traceur to transpile ES6 javascript to ES5.

PHPUnit find slow tests

When optimizing your testsuite it can be handy do find out how long each test takes to run. It would be nice to have a list of and how many seconds they took.