Way back in July of 2014, a coworker and I decided that we would like to take a shot at becoming authors for Pluralsight. We had both used the site over the years and were impressed with the quality and breadth of the courses offered for such a reasonable rate. This site has become one of the core components of my toolbox for software development work.
In the beginning of January, my first course went live (check it out here), and so I thought I would take a few moments to reflect on how I got there.
In order to become an author for Pluralsight, I filled out a simple form, and they contacted my to discuss what I wanted to teach about. While my interests cover a lot of ground, I had been doing a lot of design and development work with the Dojo Toolkit (dojotoolkit.org) and so I decided to start there. I had to submit a short clip illustrating my teaching style and my ability to put together a cohesive presentation on a topic. I decided that I would give an talk about how to add “toast messages” to a web-application. It was simple, easy to cover in a few minutes, and something that I had done several times recently.
It turns out that Pluralsight was in the midst of leveling up their expectations for how to deliver the course material and I got caught in the middle of it. When I first encountered the site, Pluralsight’s course offerings were aimed at disseminating the knowledge from industry experts to a wide audience. This often led to courses that, while containing very good content, lacked the world-class presentation that really makes it easy for the student to absorb. As they have grown, they have become more sensitive to how best to present content. This led me to a series of “revise and resubmit” requests that forced me to raise my own standards quite a bit. While the process was personally difficult, I can never thank them enough for taking the time to teach me some awesome presentation techniques that shape every presentation I make now. If you are interested, there is one course that was key: John Papa‘s course on public speaking is excellent and I basically used his suggestions as the template for my final (and successful) audition video.
After getting approved to be an author, it was time to author something. I was introduced to my editor and he walked me through the authoring process. As you might imagine, first-time authors are given more support and oversight in order to help them be successful. I was asked to submit several course ideas and then met with one of the content vice presidents to choose one. After that, I put together a more formal course outline and started to create the course material.
To create the course, I adopted a process that loosely matches my software development flow.
Before I started recording, I spent quite a bit of time trying to figure out exactly what I wanted to talk about. During this phase, I used a mind-mapping tool in order to structure the basic course flow that allowed me to take the high level course outline and break it down into the detailed things that I wanted to talk about. This is also the time that I created all of the demos for the course. While this won’t be true for every course, this course was based on a single demo application that evolves throughout the course, adding new elements along the way. With the strategy, I found it very helpful to have the demo application’s evolution completely nailed down before I started to record.
With the course outline complete, I entered what I call my “production loop” for each module of the course. It consisted of the following steps:
1) Create slides
In this phase, I created whatever slides I needed in the module, including presentation-level animations. This phase allowed me to really get an idea of the flow of the module and how the demo would integrate into it. Of course, I was also trying to organize my thoughts and decide what I might say at different points along the presentation. When the slides were done, I would setup the presentation to automatically transition between slides every second or so. This made it easy to record the slides and slice up the video later.
I would not record audio in this phase (or the next). I try to do that once or twice, but I found that there was too much for me to keep track of and the quality really suffered. As a result, the audio was handled separately and combined later.
2) Record demo
The preparation of the slides really helped me get my head around what I wanted to tell the student during that module. I would them record the demo or demos that were going to be used in the module. I would take a few minutes and prepare a “demo script”; this script listed what I wanted to do and in what order. This helped me avoid skipping steps which would require (painful) rework. If multiple demos were required for the module, I would still create them all at once. This allowed me to stay in the same place mentally (writing code and demoing results) rather than constantly context switching.
As a final part of this step, I would combine the two video feeds (slides and demo) into the order that I wanted for production.
3) Write script
Through the first two steps, I would think a lot about what I wanted to say, but I wouldn’t record anything. This allowed me to alter the direction of the slides or demo as I felt it needed, with no fear about having to re-record audio. With the video now in its production-intent order, I would watch through it and write the script for what I wanted to say throughout the slides and demo. This is also the part of the process where I would put the clip-boundaries that make up the different pieces of a module. In addition to breaking the work down for me, this also served as a nice quality check. Since I was watching the video to create the script, I was hyper-focused on what was going on. This allowed me to find many errors in the video and correct them.
4) Record audio
After the script was done, it was time to record audio. I would do this with only my script and recording software open. I had a pretty good idea of what the video would be showing (since I already had that), but I didn’t want the distraction of watching it while trying to read my script. I recorded the audio in a different application than the video (see the tools section below) to allow me to use the best tools I could for that work. I found this technique to be really productive for me because I could record an audio clip and rough edit it without worrying about resyncing the video to the audio. When a clip was recorded and edited, I would save it out as a separate file.
At the end of this process, my audio was basically production ready. I knew (within a few seconds) the final length of the module by adding up the length of the different clips. I also knew where I wanted the clip boundaries, since they aligned with the audio clips on a one-to-one basis.
5) Sync audio and video
At this point, I have all of the production audio and video, but they are completely out of sync. Due to how the previous steps have left the project, this is pretty easy to correct. At the end of recording the audio, those clips represent the production intent of the course. This meant that most of the editing involved simply altering the video to align with the audio. I would generally use three techniques – freezing the video on a frame, speeding up a section of the video (for large blocks of coding that don’t require a lot of explanation), or deleting a section of video and adding a transition (for ‘auto-completing’ a block of code).
This phase is also where I added the call-outs to the video – visual elements that are overlaid in order to bring the students attention to a specific part of the screen that I am talking about. I normally did this as I synced up a section, not as a second-pass after the synchronizing was done.
6) Final review and course metadata
At this point, the module is production-intent. I would always listen to the clips one more time in order to make sure that everything works together. Specifically, I would check for blank frames (where the video feed has a gap) or missed clip boundaries (the last frame from the previous clip is accidently moved to the first frame of the next causing a ‘flash’ in the beginning of the video).
Finally, I would package up the demo code, create the quiz questions, and complete some files that Pluralsight uses to wire the course into their site infrastructure. With that done, it was time to submit the course to my editor for review.
After a module was submitted, Pluralsight submitted it to a multi-step internal review process. Sometimes, despite my best efforts, issues would creep into the module that were not up to their standards. After the review was complete, I received feedback on the good and the bad in the module. Also, if any corrections were required, I would be informed about what had to be addressed.
Mind Mapping – Mindmup
I have used several mind mapping tools over the years, but I have become completely addicted to always being able to access my data. I looked around and found mindmup to be an excellent web-based mind-mapping tool that allowed me to store my files directly on Google Drive. It can also run disconnected (as a Chrome App) so I could work on it, even if I didn’t have internet access.
I’ve used Evernote quite a bit in the past, but I have recently moved to OneDrive as my cloud storage provider of choice. Since OneNote ties in seamlessly to OneDrive through its web-application, this became my goto choice. I used OneNote to record all of my high level ideas, scripts, and feedback so that I had all of it in one place that I could access from anywhere.
Pluralsight recommends the use of PowerPoint or Keynote for creating presentations. Since I am a Windows user and Microsoft has made it so economical to get OneDrive and Office together, I went that route. All of my course material is stored on OneDrive so that I get free backups and universal accessiblity.
Video Recording and Editing – Camtasia
Camtasia aims to be a one stop shop for recording, editing and producing video. I found it to be a very good at that, I was not thrilled by its audio editing capabilities. Most of this has to do with the fact that I tended to end up editing audio in the context of my video, which caused my problems. I ended up using another tool for audio editing and importing the complete audio clips into Camtasia for synching and editing.
Audio Recording and Editing – Audacity
Open source projects often amaze me and Audacity is one of them. I ended up using it as my goto tool for recording and editing the audio. Not only did it let me focus in on the audio (without the distraction of the video), but it also contains a wide-array of post-processing tools that allowed me to clean up many audio problems without forcing me to re-record. Given all of the power that it offers, I found it really easy to make many edits (inserting re-recorded clips, deleting sections, etc).
Fotolia is an excellent source for images when creating presentations. One of the challenges that John Papa gives in his public speaking course is to resist the urge to create presentations that are composed of slide after slide of bulleted lists. High-quality images can go a long way toware making content easier to understand by the student. While I did use some of the free images made available through PowerPoint’s clipart, I found that spending a few dollars at Fotolia would allow me to find an image that exactly captured the sense that I was trying to convey on a slide.
Overall, I had an absolute blast creating this course and I look forward to creating many others for Pluralsight. If you think you have something interesting to talk about, feel free to reach out to them and start the authoring process. If you have any questions, feel free to reach out to them, or tweet me and I’ll do my best to help.
If you want to see the course, or any of the other courses I have published, check out my author page on Pluralsight.