PageRenderTime 53ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/blog/2010/11/ratios-and-rework.html

https://github.com/imrehg/website
HTML | 34 lines | 32 code | 2 blank | 0 comment | 0 complexity | 81dc0da7b534d4d8962b7b7d3b4d4317 MD5 | raw file
  1. {% extends "_blog.html" %}
  2. {% block file_metadata %}
  3. <meta name="journal" content="True" />
  4. <meta name="post_id" content="3747" />
  5. <meta name="post_date" content="2010-11-16" />
  6. <meta name="author_id" content="wilson.g" />
  7. <meta name="title" content="Ratios and Rework" />
  8. <meta name="category" content="content" />
  9. <meta name="category" content="education" />
  10. <meta name="category" content="opinion" />
  11. {% endblock file_metadata %}
  12. {% block content %}
  13. <p>It's been six months and a bit since we started working on Version 4 of this course, so I'd like to share two things we've learned about creating online tutorial videos:</p>
  14. <ol>
  15. <li>It takes a long time.</li>
  16. <li>A lot of that time feels like it should be unnecessary.</li>
  17. </ol>
  18. <p>Let's start with "a long time". It takes me 3-5 hours to prepare a good slide deck for an hour-long lecture that I'm going to deliver in person. A slide deck for a screencast takes 8-10, because I need to prepare more slides: since there isn't a lecturer making eye contact and pointing at things to keep viewers engaged, a slide deck for online use has to have many more small transitions.</p>
  19. <p>Writing a script to go with those slides is another 3-5 hours, much of which is spent rearranging the slides as I discover things that don't work as well as I thought. I don't know if it's fair to count this as an extra cost, or whether it's just bringing time I would spend on the second run of a course forward to the first run, but it's still time.</p>
  20. <p>Recording audio takes about 1.5 times as long as the audio (if I stumble, I just pause, take a breath, and restart that sentence), so call it 1.5 hours. Editing takes longer than recording, so let's say 4-5 hours all in (again, including some rework as I notice glitches that escaped me before). Getting everything off my machine and onto software-carpentry.org is another hour by the time all is said and done, so an hour-long lecture made up of 5-6 episodes comes in between 20 and 25 hours.</p>
  21. <p>But now we come to #2: the stuff that feels like it should be unnecessary. If I want to make a change <em>after</em> an episode has been posted&mdash;even a small one&mdash;it's substantially more work than changing a few slides in a PowerPoint deck would be. First, I need to record new audio, or get whoever originally created the episode to find a microphone and record some snippets of MP3 for me (having the voice change for a slide or two in the middle of a screencast is very jarring). Second, I need to re-export the PowerPoint slides as PNGs, and if the number of slides has changed, rename some of them: Camtasia refers to imported image files by name, and if I simply re-export and re-import, I have to go back and change the time boundaries for all the images after the ones that have been updated.</p>
  22. <p>How bad is this? Well, I just fixed a small mistake in <a href="/4_0/python/lists.html">the episode on Python lists</a>. It took almost an hour, start to finish, and the change in audio quality where the fix was made is painful.</p>
  23. <p>And then there's version control. PowerPoint is effectively a binary format: yes, there's XML in there, but version control treats that XML as lines of text, which means its diffs and merges are senseless. I've used HTML and LaTeX in the past&mdash;at least I can structure them so that line-oriented diff/merge is sensible&mdash;but both formats force a strong separation between text and image, where PowerPoint allows me to mix them freely as I would on a whiteboard. I don't like PowerPoint, but the final result is easier on the eyes than what I can do with today's HTML or LaTeX with equivalent effort.</p>
  24. <p>What do I want instead? I want something that:</p>
  25. <ol>
  26. <li>Plays nicely with version control (i.e., diff and merge just work).</li>
  27. <li>Allows me to mix text and images freely (PNGs ghettoed in text isn't good enough).</li>
  28. <li>Has stable open source authoring tools with a long likely life in front of them (so that investing in them won't be insanely risky).</li>
  29. <li>Includes a decent text-to-speech engine (something better than <a href="http://www.xtranormal.com/">Xtranormal</a>'s, please) so that when I update what I'm displaying and the script of what I'm saying, I can just push a "compile" button and get a seamless video out the end.</li>
  30. </ol>
  31. <p>What's that? "And a pony for Christmas?" Yeah, that too. But let me share a secret with you: whoever builds this thing first will be rich, famous, and popular, because <em>this</em>&mdash;content creation and maintenance that the average instructor can afford&mdash;is the real bottleneck in online education.</p>
  32. {% endblock content %}