PDF-based presentations with 3-D effects
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
![[PDFCube]](https://static.lwn.net/images/pdfcube_sm.png)
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.
![[Impressive highlighting]](https://static.lwn.net/images/impressive_sm.png)
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.
Index entries for this article | |
---|---|
GuestArticles | Byfield, Bruce |
Posted Dec 25, 2008 5:40 UTC (Thu)
by yarikoptic (guest, #36795)
[Link]
Posted Dec 25, 2008 12:36 UTC (Thu)
by tzafrir (subscriber, #11501)
[Link] (2 responses)
pdfcube is indeed a nice little toy at this stage. KeyJNote / Impressive is already an interesting application that may even be usable enough for real-life presentations.
Posted Dec 26, 2008 0:25 UTC (Fri)
by anselm (subscriber, #2796)
[Link] (1 responses)
... that may even be usable enough for real-life
presentations.
I'm using KeyJNote for »real-life presentations« all the time and it
works great
(it does help to have lots of available memory, though). In my job as a
Linux instructor I have PDF slides generated with PDFLaTeX and the Beamer
package that can run up to a hundred slides or so per file, and KeyJNote
handles them just fine. Especially the overview mode is useful, as is the
ability to highlight various rectangles on a slide.
Incidentally, KeyJNote/Impressive does support several types of
transition per presentation. In fact, it is not difficult to extend the
LaTeX beamer package to write an Impressive .info file that will execute
one kind of transition between plain slides, a different kind at the
start of a section, and yet another different kind at the start of a
subsection.
I also have patches to make it easier to control KeyJNote through a
Trust Wireless Presenter mouse. I sent them to Martin Fiedler but he has
so far not bothered to take them on, so if you're interested, drop me a note.
Posted Dec 26, 2008 10:47 UTC (Fri)
by jbh (guest, #494)
[Link]
Usually I turn off the transitions though, or make them really quick and unobtrusive. The reason I like keyjnote is the ease of navigation (overview mode, and also single-key custom bookmarks). I find it quite jarring when a presenter has to quick-flip through ten or more slides to get back to some graph, and then forward again, often overshooting a bit.
Posted Dec 29, 2008 14:04 UTC (Mon)
by wookey (guest, #5501)
[Link]
PDF-based presentations with 3-D effects
Generally, I think it should be a gesture of a good manner to mention project authors in publications like this.
pdfcube 0.0.2 transiotion with space
KeyJNote/Impressive experience
KeyJNote/Impressive experience
PDF-based presentations with 3-D effects