O'Reilly Network    
 Published on O'Reilly Network (http://www.oreillynet.com/)
 See this if you're having trouble printing code examples


Primetime Hypermedia

Movies of Software

by Jon Udell
11/11/2004

One of the themes I sounded in the first installment of this column was the notion of software as a movie:

In the software world, we spend a lot of time describing how things work. To echo Michael Kinsley's lament about music and film, why should those descriptions use only text, possibly augmented with screenshots? Why don't we present, and quote from, live experiences?

It's way easier to do that than you might think. Tools that capture screen video, along with voiceover, can produce compelling software demonstrations. It's true that many of these tools are commercial, but some highly capable ones--including Windows Media Encoder--are free. [O'Reilly Network: PrimeTime Hypermedia ]

Over the past six months, I've made increasing use of this powerful but underappreciated form of video. Here are some examples, in various formats:

My favorite example, though, is Paul Everitt's impromptu demo of the <oXygen/> XML Editor and XSLT Debugger, which he posted on his blog back in March. It impressed me because:

Of course, there's nothing new about the ability to capture and replay software experiences. The first tool I used to do this, back in the mid-1990s, was Lotus ScreenCam. Its more modern counterparts include Camtasia Studio, Qarbon, and Macromedia Captivate. These are all commercial programs designed mainly for professionals who do training and marketing.

That's an important product niche, but I also see a need for widely-available tools, either free or inexpensive, that enable users to do what Paul did: spontaneously capture and share their software experiences. Here are some of the scenarios for use of such tools:

To enable these scenarios, two conditions must hold. First, it must be as straightforward to play back a screen video as it is to view a web page with embedded images. In terms of broadband penetration, we're getting there. The latest reports peg that number at almost 40% for U.S. internet users at home, and 80% for U.S. internet users at work. In terms of format, there remains a confusing array of choices: Windows Media, QuickTime, Real, Flash. For convenience of production and simplicity of use, it would be nice to be able to choose a single format. Among the available options, Flash is appealing. The Flash player is broadly available, either already installed on--or painlessly installable on--Windows, Mac, and Linux systems. But while commercial products such as Camtasia, Qarbon, and Captivate can produce well-compressed and progressively-downloadable .SWF files, I've yet to discover a workable free alternative.

Here's the second enabling condition: the ability to capture and blog a screen video must be as accessible as the ability to snap a static screen shot and blog it. Though I'd like to be proven wrong, I don't think that condition holds true yet on OS X or Linux. There are commercial tools, such as Snapz Pro X for OS X, but you can't expect everyone to pony up for that. I've had some success with a free alternative called vnc2swf, a derivative of VNCviewer that uses a VNC server for screen capture and the ming library for SWF output. But you can hardly expect Aunt Tillie to install X11 and do the configure/make/install dance. And vnc2swf's output files are huge, so even if you provided Aunt Tillie with the tool, the resulting files wouldn't be progressively downloable.

So for now, the best platform for spontaneous user-initiated recording of screen videos appears to be Windows. Microsoft's Windows Media Encoder 9 is a free download, and it does everything you need: captures a window or specified rectangle of the screen, with audio, and produces a compact WMV file that can be progressively downloaded and viewed in Windows Media Player.

In the spirit of this column, I'm now going to show--rather than describe--that process. My demonstration is a layered affair. The innermost layer is a movie of the Firefox browser running the XPath search application I wrote for my blog. Here is that movie:

A demonstration of XPath search: Windows Media

The next layer shows Windows Media Encoder capturing the browser-based demo. Here is that movie:

How I captured the demonstration: Windows Media, QuickTime, Flash.

How did I capture Windows Media Encoder in the act of capturing the browser-based demo? The outermost layer, not shown, is Camtasia Studio watching Windows Media Encoder watching the browser. Whew! A veritable hall of mirrors.

I think you'll agree that the procedure shown here, albeit not quite as simple as ALT-PrtScrn (i.e., Windows' built-in key combo for taking a snapshot of the screen), is nevertheless highly accessible. If you're a Windows user, think of this technique as a way to enhance descriptions of software that you need to convey to other users or to developers. And if you're a Windows developer, consider making that same recommendation to your users.

In the same way that blogging has radically democratized basic web publishing, I expect that Windows Media Encoder--along with counterparts that I hope become broadly accessible on other platforms--will democratize the use of screen videos. The medium needn't be available to professionals only. Lots of folks need to describe, demonstrate, or document the behavior of software, and this is a powerful way to do it.

Jon Udell is an author, information architect, software developer, and new media innovator.


Read more Primetime Hypermedia columns.

Return to the O'Reilly Network.

Copyright © 2009 O'Reilly Media, Inc.