Creating appealing video software demos in Linux


Author: Alessandro Giusti

A software product description is nothing without screenshots. They are the most-clicked links on almost every free software page — much more than “Download.” Screenshots carry information about the software’s appearance, maturity, user interface, user friendliness, and feature set in a much more immediate way than paragraphs of text description. You can’t show some software characteristics with still images, however. That’s why, in recent months, the screencast has seen growing popularity. And when you need to creating screencasts, Istanbul and Wink make the process easy for Linux users.

Just as a screenshot is a picture of a user’s screen, a screencast is essentially a movie of what a user sees on his monitor. And if a picture is worth a thousand words, a movie is worth a thousand pictures.

Screencasts have a number of different uses. Mainly, the FLOSS community has adopted them to preview UI-related software features and to create short demos.

Screencasts are useful for demonstrating features of both simple and complicated software. In the open source community, projects have used screencasts to show improvements to the popular Blender 3D modeling tool, to present the Beagle search system to impatient users, and on a number of other occasions where demonstrating the interaction patterns or complex features of software was the primary goal.

Creating a screencast helps software developers show off their work. It is a useful skill for ordinary software users as well, to help report bugs (the movie takes the place of potentially unclear written explanations) or to show others how a given task is accomplished in a specific software environment.

Screencast creation on Linux systems

Linux software for creating a screencast has been around for several years. Unfortunately, until recently most of these systems were based on VNC technology, which often created problems for users without VNC experience.

The situation recently changed, with the release of Istanbul and Wink. Both projects “just work,” and allow nearly effortless screencast creation.

Istanbul: Open and user-friendly

GTK-based Istanbul is biased toward ease of use. Launching it displays an icon in the notification area that you click to start or stop recording your screen.

You can set the temporal resolution (frames per second) of the movie via a simple preference panel. Istanbul can stream video to an Icecast server or create a file using Ogg Theora, a free, efficient video codec. Since encoding requires plenty CPU power, this step can be postponed until the recording is finished, if enough disk space is available for the temporary uncompressed file.

This is all you can do with Istanbul, but it covers most screencast needs with the simplest user interface you can imagine.

Wink: Powerful and elaborate

Wink (not open source, but free for business or personal use) creates a compressed Flash file, which can be easily embedded in Web pages and is usually smaller than the Theora files created by Istanbul. Flash files are good for representing simple, schematic user interfaces, while the Theora video codec is often preferable if most of the screen is filled with changing or moving complex pictures.

Wink’s video capture can be started and stopped any number of times using a keyboard shortcut. Another useful feature is the ability to capture a single frame at a time.

Wink does not support streaming “live” screencasts, but includes several powerful postprocessing steps. After you’re done recording, you can create simple links between video frames, and you can explain what’s going on in the video with easily customized textboxes. You can move these textboxes, with optional arrows, via a mouse drag.

With Wink, you have control of each individual frame’s duration. You can decide whether to show the cursor, and even determine its shape. Since it is a more powerful program than Istanbul, Wink’s user interface is not as simple. Nonetheless, it is well-designed and easy to use. For example, you can easily set cursor or timing parameters for any number of consecutive frames by selecting those frames the same way you would select files in a file manager, after which you set the relevant properties. Similarly, you can delete any number of frames, although in our tests this often led to long waits with a locked UI without any notice of what was happening.


Screencasts are a powerful and interesting new way of describing software projects, reporting bugs, and explaining interactions. Today, creating screencasts in Linux takes only a couple of clicks. Tools like Istanbul and Wink help us create interactive, commented videos that display software features in an entertaining and very descriptive way. With the availability of user-friendly tools for screencast creation, we can expect that both software developers and ordinary users will increasingly take advantage of the technology, with the ultimate goal of improving communication over the Net.