Creating the Subversion Screencast

A quick rundown of how I created the Subversion screencast. Back in December 2005 I did an Introduction to Subversion talk for PHAD (Philadelphia Apple Developers) and it went really well. Afterwards I decided I would spend some time and convert the content into a screencast for fun, and also for some experience.

At the time, my most significant screencast (though I didn’t call it that at the time) was created a few years prior. It was a Flash-based presentation explaining “eLearning” for the Drexel eLearning website. We went with Flash for download speed and the fact that the presentation was “slide” oriented. According to the marketing department it ended up being a very helpful tool.

Since then I’ve done occasional screencasts (such as the Two-minute tip: Dictionary in Mac OS X 10.4) as well as use screencasts to demo bugs but really have been more of a consumer, enjoying other people’s movies.

When contemplating the lengthiness of this screencast, I knew there was no way I’d get through my notes and be able to capture both my voice and the screen action at the same time, so my first step was to produce a rough screenplay. I wrote a narration script of what would be said and made notes of the action I wanted to see on screen. I spent a few weeks on this, cleaning it up as I had free time and fresh eyes.

To record the screenplay I used QuickTime Pro and a cheap headset mic I’ve previously used for podcasting. It took a while to find the input level I wanted but eventually it was recording fine. (Side note: the visuals QuickTime Pro provides to show the input level is not very accurate.) Actually reading the multi-page screenplay without error was pretty hard. I did my best, re-reading parts when I would mess up. After I captured it all I exported each file into mono-AIFF. (Stereo is overkill for this, and a waste of bandwidth).

At this point I started to think more seriously about my editor. I had considered iMovie since it was easily available but decided not to use it since I knew I wanted to capture and edit the movie in a native 1024x768 resolution as well as do some basic animations. I did own a copy of Final Cut 3 from my college days so I took it off my shelf and dusted it off. After many hours on installing/upgrading/unistalling I came to learn that Final Cut Pro 3 doesn’t install on a fresh copy of OS X 10.4 (one that was installed on a clean hard dive). Turns out if I had upgraded a copy of 10.3 it would have worked for some odd reason. I can’t be bothered to redo my main Mac just for a non-paying project like this so I put FCP 3 back on the shelf.

At this time I thought about upgrading Final Cut. To upgrade to the current version of Final Cut Pro would involve buying the whole studio upgrade for $700 since Apple doesn’t sell just Final Cut Pro anymore. I had a hard time with that price, especially since it wasn’t even a Universal Binary (though it is now). I figured I go with Final Cut Express; it should be fine for my simple tasks and it would be able to run on 10.4 without a problem. A few more weeks go by, I purchase and start playing with FCE, then the bomb drops — I can not set a custom stage size in FCE. I’m stuck with DV-ish sizes, not the 1024x768 I wanted. Ugh.

After some consideration I ended up returning FCE to Amazon and getting half my money back (eBaying it would have brought in about the same amount). I figured I’d reformat my 12-inch PowerBook with 10.3 and use Final Cut Pro 3 on it instead. This really was a let down, especially since I had an agreement to use a Dual 2.5 GHz PowerMac tower for my video work — and now no way to use it to actually edit the video. (See, you can’t install 10.3 on that PowerMac since it’s newer than that OS release).

Armed with FCP 3 on my 12-inch PowerBook I began to edit the audio down, removing all of the flubbed lines in the original recording. Afterwords I finally had an idea at how long this thing would be.

I was still able to use PowerMac for the actual screen capture. Snapz Pro helped me capturing the full screen at 1024x768 and when it came to saving those files I used Photo-JPEG compression at 100%.

When performing the actions for the camera I first tried to listen to the real time audio go by and do what was being talked about, but with all of the typing it was really hard to keep up. Eventually I worked out a pattern of defining every major action on screen, performing that action, pausing, and then performing the next. Doing this allowed me to have breathing room in post production, letting me edit the video to match the vocal tack as I wanted it to.

It takes a while to edit a video like this. I’ve been doing it off and on for a few weeks now. For this screencast in particular I had to create all of the assets that are used in the slideshow portion and then animate them using Final Cut Pro basic key-framing tools.

Editing the screencast in FCP 3 on OS X 10.3

Once I had the screencast all edited I exported a self-contained movie and started to explore compression settings. I made two small samples, 30 seconds each; one of the slide portion and another of the desktop. I then tried various settings and frame rates. I’m very pleased at the end result of my experiments. To get this ~18 min movie at ~18 MB at the clarity we have is pretty freaking cool.

This isn’t the last screencast you’ll see from me. I have another one already in the works. After that one is published, I’m considering doing some shorter screencasts, perhaps introducing Cocoa and/or Xcode. It’s hard to say when they would be done though, since (a) I’m busy with client work and a Cocoa app of my own, and (b) I don’t really have optimal equipment. I’m hoping to buy an Intel tower when they are announced and maybe at that time I can upgrade to a universal FCP.

Thanks to everyone who’s posted comments and sent emails about the screencast. It’s nice to know you enjoyed it.

Posted on: April 29, 2006 – 1:32 PM

4 Comments

  1. Al wrote:

    Hi Mike,

    I enjoyed the screencast very much. It saves time and I got the point right away. My question is, are planning on a more advanced screencast? For example branching, merging branches into trunk with in a team situation. I would be incredibly useful.

    Many thanks -Al

  2. Glad you enjoyed it Al. There is not an advanced Subversion screencast on my immediate todo list. It’s a lot of work and I’m just too busy with other projects. That said I appreciate the feedback.

  3. Bryan Hansen wrote:

    I’m curious if you have the specifics of the compression settings you used. I have played around with them when producing screencasts and have yet to feel like I have it perfect. I use H.264 but notice that black text sometimes gets a red hue on edges due to this compression. Any specifics would be great to see. Thanks.

  4. You can see the settings for the most part via the QT Player. I use H.264 as well. The key is to use a low frame rate, 5-8fps. That is all you really need to these types of movies and dedicating the bits to those few frames rather that less bits per many frame really shows in the quality.

Post a Comment | Comment RSS feed

(used for gravatar), address not displayed on site)