December 24, 2008
This article was contributed by Bruce Byfield
At first, the idea of adding 3-D transitions to command line presentation
software may give you a kind of cognitive dissonance. Just as you would if
someone had added a GPS tracking system to a one-horse cart plodding along
at two kilometers an hour, you have to wonder why anyone would bother. But,
the dissonance disappears as you start to explore the control and precision
you have in command-line programs like PDFCube and Impressive (formerly
KeyJNote). Both are small and efficient programs that allow you to add
transitions and other special effects to PDF-based presentations, although
the range of options varies considerably between the two programs.
Before using either PDFCube or Impressive, you need to have to have support
for 3-D graphics installed. PDFCube works well with OpenGL, as well as with
the drivers and video cards listed on its hardware
compatibility page. By contrast, Impressive is somewhat more erratic
under OpenGL, with some transitions displaying slowly, especially when you
have less than two gigabytes of RAM available. However, by picking and
choosing effects, you can still test drive Impressive without resorting to
proprietary drivers.
Both applications are available as source code from their project
sites. However, you will also need to install dependencies for PDF support,
such as Poppler for PDFCube, and Xpdf Reader or Ghostscript for
Impressive. Impressive also requires Perl and Python. For convenience, you
may prefer to use the Debian packages for both programs, or, in the case of
PDFCube, the packages available in the Fedora and Ubuntu
repositories. Impressive is also available for OS X and Windows.
PDFCube
With version 0.0.3 just released, PDFCube is more a proof of concept than a
finished application. In fact, it currently has only one transition effect
— a spinning cube. However, a day after the latest release, maintainer
Mirko Maischberger has already posted a brief announcement on the project
home page that he has already started work on "an abstraction layer for 3D
effects (cube, fading, cover flow) to be done in C++ and OpenGL)."
What you currently have in PDFCube is the basic engine. No options are
available, so all you need to type to try PDFCube is pdfcube
filename.pdf.
However, before trying PDFCube, take the time to read its man page to learn
how to navigate within the program. Unlike full office applications like
OpenOffice.org Impress or KPresenter, PDFCube is driven completely by
keyboard commands, and — so far, at least — does not work with
the mouse
at all.
Fortunately, the basic commands are few. You press the 'c' or space key to
move to the next page of a presentation using an effect, or the PageUp key
to move to the next page without any effect or the PageDown key to move to
the previous page without effect. You can also use the 'h','j','k', and 'l' keys to
zero in on one of the corners of the current page, or the 'z' key to zoom in
on the center. Pressing any of these keys zooms out again, while Esc stops
the presentation. These are all the controls that you are likely to need.
As Maischberger suggests on the project home site, the spinning cube is
easy to overdo, so you might want to limit its use to major
transitions. You can impose this limit by adding the page numbers
before the places you want the transition. For instance, if you
entered pdfcube filename.pdf 0 3, you would have the
spinning cube between pages 1 and 2 and pages 4 and 5 only. Other
transitions would lack the effect.
Another point to be aware of with PDFCube is that is designed for landscape
oriented pages. You can display PDF files with a portrait orientation, but
the application currently gives you no way of scrolling up or down the
page. But, this limit aside, PDFCube shows a simplicity and performance
that you don't often see in its desktop equivalents.
Impressive
At version 0.10.2, Impressive is already much more complete than
PDFCube. It not only runs slideshows from directories with BMP, JPEG, PNG,
and TIFF graphics as well from PDFs, but also includes a complete set of
controls for fine-tuning how its presentations run — to say nothing of
several unique controls for running a presentation.
You can view a complete list of options with impressive
--help, or from the project documentation
page. They include options to set up an automatic slideshow, complete with
a loop from the end back to the beginning, to set the size of the
presentation window, and just about every other aspect of the running and
appearance of a presentation that you can imagine. Two especially
noteworthy options are -d, which allows you to set a time for
the entire presentation, then pace yourself by an unobtrusive bar along the
bottom of the screen, and -u, which polls original files
periodically to see if they are updated.
If you want to use slide transitions, you will need to enter
impressive --listtrans to see a list of over 20 possible
transitions. All the transitions have names like SlideUp or WipeDownRight
that are clear enough to be self-explanatory, although the help screen does
include a slightly longer description. You can use a transition by adding
its name with the -t option. However, unlike PDFCube,
Impressive currently limits you to a single transition for the entire slide
show — a limitation that might frustrate some users, but also prevents the
aesthetic disaster of anyone using too many.
In addition, Impressive includes several handy controls. Pressing the Tab
key opens a view of all the slides in the presentation, while pressing the
Enter key enables a spotlight that follows the mouse and can be used as a
built-in pointer.
Still another option is to draw an enclosed shape with the mouse, which
results in the rest of the screen darkening and blurring, so that the
audience's attention is focused on the area you defined. You can add
multiple highlighted areas, each of which you can close with a right
mouse-click. The screen returns to normal when you close the last
highlighted area.
Impressive's view of all Slides is reminiscent of the slide view in many
programs, or the Sun Presenter Console for OpenOffice.org, but its
highlight boxes and spotlight are both features that I haven't seen in
desktop-oriented programs. These features alone make Impressive worth a
look, but more experienced users might also appreciate the wealth of
available options — even if they don't often use many of them.
Conclusion
Both PDFCube and Impressive are works in progress, with some ways — and,
at the current rate of development, perhaps some years — to go before
their 1.0 releases. However, in the current versions, PDFCube has the
superior basic engine, while Impressive allows users the greater
control. Despite PDFCube's lack of options and Impressive's mediocre OpenGL
support, both are worth keeping at least an occasional eye on.
In their separate ways, both demonstrate that, contrary to what many
desktop users seem to assume, command line applications are not just
archaic remnants. You need time to enter all the options in a command line
application, but, if you take the trouble to familiarize yourself with the
applications, you may find their controls easier to use than the cluttered
editing windows of a desktop application like OpenOffice.org Impress. Far
from being outdated, applications like PDFCube and impressive are practical
demonstrations that command line applications can be both modern and
innovative.
(
Log in to post comments)