June 4, 2007

KeyJnote: A nifty engine for your presentations

Author: Dmitri Popov

If you need to create a presentation every now and then, but you find OpenOffice.org Impress too complicated and bulky, check out KeyJnote, a tool that turns any PDF document or set of graphics files into a professional-quality presentation with impressive transition effects.

If you are using Ubuntu or another Debian-based distro, you can install KeyJnote from its repository. To get the latest release of the application, however, you have to install it manually. KeyJnote's documentation provides a list of the required packages, along with the installation instructions.

Unlike Impress, KeyJnote doesn't allow you to create presentations from scratch. To create presentation components, you can use whatever application you like, as long as it can output the final result as a PDF document or graphics files (JPEG, PNG, TIFF, and BMP are supported). Simply create a set of slides using the template you like, export it as a single PDF file or multiple images, and KeyJnote takes care of the rest.

Once KeyJnote is installed, you can launch your presentation by running the keyjnote.py /path/to/presentation.pdf command (assuming your presentation is in the PDF format). If you have multiple graphics files, the path in the command must point to the directory where they are stored -- for example, keyjnote.py /path/to/presentation. You can then navigate through the presentation using either the mouse or keyboard keys.

KeyJnote "flips" the slides using great-looking OpenGL-based transition effects, but the eye candy is not the only feature on offer. Select an area of the slide, and KeyJnote highlights it -- a handy tool to draw attention to a particular part of the slide. Another useful feature is spotlight, which highlights an area around the cursor and moves with it. You can use the + and – keys to adjust the size of the spotlight.

Pressing the Tab key activates overview mode, displaying thumbnails of all the slides, which can come in handy when you need to quickly locate a particular place in the presentation.

Rehearsal is an important part of every presentation, and KeyJnote's time-tracking mode can help you with that. If you press the T key at the first slide of the presentation, KeyJnote will record information about the shown slides with their display duration, enter, and exit times.

As a command-line tool, KeyJnote supports a wide range of parameters that give you control over the presentation. For example, you can make the presentation run automatically by specifying the --auto parameter and duration time in seconds for each slide. The --duration parameter allows you to set the expected duration time of the presentation. If this parameter is specified, KeyJnote displays a green progress bar that turns yellow if you exceed the specified time by 125%, and red if you go over by 150% or more.

KeyJnote also allows you to control and customize your presentations through optional info scripts. Each presentation may have its own info script, which is a text file with the .info extension. For example, if you have a presentation called NewFeatures.pdf, its info script will be NewFeatures.pdf.info. These are actually Python scripts which you can use to modify the properties of each slide and the presentation itself. For example, the script that specifies the title, transition, and sound properties of the third slide in the presentation may look like this:

 PageProps = {
   3: {
        'title': "OpenOffice.org marketshare",
        'transition': PagePeel,
        'sound': "funky_tunes.mp3"

By default, KeyJnote uses all the available transition effects randomly, but you can change that by specifying the appropriate presentation property in the info script:


Finally, if working from the command line is not your cup of tea, try KeyJnoteGUI. As the name suggests, it adds a graphical interface to KeyJnote, making the task of customizing presentations even easier.

Dmitri Popov is a freelance writer whose articles have appeared in Russian, British, US, German, and Danish computer magazines.

Click Here!