Recorded Presentations - The "Lipsync" Pattern

07 Dec 2009

Presentation Recording, The Origins

This is a tidbit of insight about my radically revised techniques for assembling complex compelling presentations this year. I'm certain it will create a widely varied set of comments and feedback.

Earlier this year, Neal Ford, Nate Schutta and I were driving from the Des Moines No Fluff Just Stuff show in the pouring rain. Pouring hard enough to stop a dashboard GPS device from working. Hard enough to stop all outbound flights from the airport. Hard enough to cause us to lightly hydroplane. In short, a normal NFJS weekend.

This fury of nature would not deter us from our technical discussions and the subject of presentations with large quantities of moving parts came up. I said that "for a certain set of presentation demos that contain around 5 or more interwoven components -- not JAR dependencies mind you -- keeping this operational for the course of a year of presenting was more work than building it in the first place and highly crash prone." We debated aggressively, but Neal interjected at one point and said "You should just try it." And thus, I did.

Neal, Nate and I have a project that we'll be able to tell you more about soon. Related to this project, we're attempting to give names to these presentation patterns and anti-patterns. For example, Neal dubbed the above discussion's output the "Lipsync Pattern."

Recording Tools

In terms of tooling, I've become very attached to Screenflow 2.0. I previously used iShowU HD, but its capabilities are now far exceeded by Screenflow in terms of seamlessly stitching together multiple pieces of footage in a meaningful way.


Feedback from this technique for my Open Source Debugging talks have been overwhelmingly positive. Some examples are:

"Thanks for giving the great talk on open source debugging tools last night at BJUG. Specifically the part where you "played through" the typing/console. It sort of reminded me of, with the way you were able to zoom into sections of slides, seemingly capture keyboard input, etc. Loved it."

and another really captures the essence of why I feel this is a meaningful way of teaching:

"I liked that you used a recorded version vs. live coding. I felt like you were able to explain things better than other presenters I've seen who try and field questions while coding live. Also the spotlighting and highlighting really helped the flow."

Applying this Technique

When using this approach, I've found, through the feedback of friends like Scott Davis, that it's best to exaggerate the fact that you are not live coding. Joke about it. And lastly, make it a positive trade by discussing what's happening in the playback in a dialogue with the audience.


I'm becoming so jaded that I (internal voice, not external) am having a hard time watching some live coding speakers now. It's often swordplay showmanship on the level of Errol Flynn. It has nothing to do with teaching. And it usually bombs, at least in a minor way, somewhere, and we spend 2 minutes watching the speaker "clean it up."

I hear that there's going to be a "Presentation Patterns and Anti-Patterns" book with Neal's name on it. Based on my positive experience, I can only say, "the sooner the better Neal."