Recording High Quality Demos (Screencasts)

I get asked by various people about how to create fancy demos such as this one: Why NetBeans part 1Why NetBeans part 2. I am tired of replying by e-mails so I thought I'd share the experiences again using a blog entry (so that I can send a link to it when someone asks me - I am lazy :). So this entry is about how to create advanced demonstrations of software products using various tools. I do different kinds of demos but here I will explain how to create a complex presentation which involves menus, slides, audio and flash screencasts. I've been recording many demos for almost two years, so I think I got some experience with doing it which is worth sharing.

If you need a basic demo, there are great free tools such as Wink (for screen recording) or Audacity (for audio recording and post-processing). These tools are good especially if you don't have experience with screencasting and you don't want to spend time with figuring out all the little details. You can use them to create a screencast quickly but the quality might not be perfect. On the other hand it's a free solution which works well enough for basic flash demonstrations.

To create fancy presentations similar to the "Why NetBeans" referenced above, I use a combination of following tools:

Some of these tools are commercial - I use them because there are no open source equivalents providing some of the functionality.

The process of creating such a fancy flash demo is following:

  1. Conceptual phase - I gather ideas and create the concept of the presentation with high-level points. I often discuss the concept with other people to create a better story. Sometimes I do domain-specific presentations and then discussing the concept with an expert can help a lot to get it right.
  2. Creating of slides - I create all slides for the presentation in OpenOffice. I use a slide template to make them look nicer. I leave empty slides for parts of the presentations where I do demos.
  3. Demo conceptual phase - I discuss the demos with other people and pre-record a draft of the flash demos using Camtasia without voice. I share these videos to gather high-level feedback on these demos and re-record the drafts if necessary.
  4. Scripting - I write script for the whole presentation. I actually script every word that I say during the presentation, because the quality of the final speech is much better than if it's not scripted. This may not be necessary if you are a native English speaker, but in general a presentation without "uhmms" will be better received by the listeners.
  5. Voice recoding - I record the voice for the slide parts of the presentation. I read the script and use Audacity to record my voice. I edit pauses and re-record parts which don't sound right or if there is any background noise.
  6. Voice postprocessing - I use Audacity to postprocess my voice. I use the noise filtering feature to remove periodical background noise such as the fan from my computer. This makes the audio much cleaner. Then I use Sony Soundforge - as the first step I use the noise filter feature to remove various cracks, breathing and background noises. Then I use the normalize feature which increases the volume of the speech. It also makes the audio sound much better and professional thanks to RMS normalization.
  7. Demo recording - I record the flash demos using Camtasia. In ideal case I script all things which I do in the demo, but for simpler demos it is just enough to record what I do in the IDE.
  8. Demo postprocessing - I edit the demos using Camtasia. I remove "dull" parts (e.g. when I need to look into my script which causes a pause). Sometimes it is also necessary to cut some sections because of various problems (e.g. an exception if I use a daily build) or I do editing of startup of the application server. I don't want the user to watch the application server startup - they will understand if I edit the startup out that I edited it - I can also mention it using the voice.
  9. Audio scripts for demos - I write audio scripts for demos according to what I do in the demo. I again write all that I will say because the quality of the final demo is much better than if there are pauses or "uhmms". I try to write the script in a way that it fits to the video.
  10. Audio recording for demos - I record the audio for the flash demos using Audacity. As usual, I apply the noise filter and postprocess the audio using Sony Soundforge to eliminate other background noises and normalize the audio level. I use .wav files as storage format because by manipulation with wavs I don't lose quality like in case of mp3s.
  11. Synchronization of video and audio - I play the flash demo in Camtasia and audio in Audacity at once. Whenever there is a problem with the synchronization I have several options how to fix it: a) add silence b) remove silence c) cut video. By using these three techniques I synchronize the video and the audio. It is a lot of work and this step has a lot of impact on the quality of the flash demo.
  12. I import the created audio files using Camtasia and add the audio to each of the flash demos.
  13. I import the Openoffice slides into Articulate and save them as Powerpoint presentations (created during step 2).
  14. I import the audio files for each of the slides (created during steps 5 and 6).
  15. I import the flash demos into Articulate (created during steps 7-12).
  16. I generate the final presentation using Articulate and watch it to see if there are any problems.
  17. Usually I spot many different problems and I solve them by either editing the demos, editing the demo audio, changing slides & slide audio or sometimes even re-recording the demos.
  18. I send the presentation to the team (still marked as draft) and gather feedback.
  19. Based on the feedback I receive I change the video, audio, demos, slides, etc. Often this means re-doing some of the parts of the presentation which is very painful but some feedback can really increase the quality of the demo so mostly it's worth the effort. Then I recreate the presentation using Articulate.
  20. I publish the final presentation on a website, watch it to enjoy the fruits of my work and take some time off after this long and painful process. Sometimes I am thinking that I don't want to do this again, but mostly positive comments from people who find my presentation useful charge me for another round of such masochism :)

I didn't touch many topics such as flash demo resolution, which hardware I use, etc., so if you have any questions feel free to ask. I may write another blog entry about some of the technical issues involved with flash demo recording.


"...Sometimes I am thinking that I don't want to do this again..."


Once I've seen a flash demo, then I realized: wow, this is awesome.

At that time I was an employee of a development company, which was starting from scratch his projects in Java! I used to work with GNU/Linux (servers/network) but was introduced to Java (with another IDE as everybody else in that company). After a while I went to Sun Tech Days and after a closer look to netbeans I've though: wow (again!)

Nowadays I'm taking degree in development and working (in other place but probably most of the time) writing Java code (under GNU/Linux of course). Everybody else in that company like me uses Netbeans, and they are happier this way!

It all started with 'just' a flash demo, a yours one!

Thank you very much and keep on rockin' in the free world! (and if possible creating flash demos! lol :)

Posted by kenpozeiro on červen 21, 2007 at 12:39 odp. CEST #

You might want to check out this applet-based tool:

Posted by asj on červen 21, 2007 at 01:05 odp. CEST #

Which of the Sound Forge versions do you use or recommend? Sound Forge Audio Studio is around $70, while the full version is around $300.

Posted by Eric Burke on červen 22, 2007 at 10:08 dop. CEST #

G'day Roumen, from Down Under! Thanks for the detailed explanation of your methodology. I have made some webcasts too, but not up to your excellent standard. used the old Camtasia 3 and later Camtasia Studio 3. Each newer version provided better editing and output options. Then a few months ago I purchased the latest version, Camtasia Studio 4, which so far I have only experimented with but seems to have even better recording and editing options (such as auto sound level balancing), see and the webcast at ......... So I'm wondering why you need to use the separate Audacity and Sony Soundforge at all. Could not most of the job be done using just Camtasia Studio, making life rather simpler?

Posted by Tony Austin on červenec 12, 2007 at 08:03 odp. CEST #

Hi Tony, Camtasia still misses some features which are available in Audacity (e.g. good noise reduction) and in Sony Soundforge (mainly noise filter and RMS normalization which I can't live without :)

Posted by Roman Strobl on červenec 13, 2007 at 04:20 dop. CEST #

Post a Comment:
Comments are closed for this entry.

Roman Strobl


« duben 2014