Instead of PowerPoint
After cursing PowerPoint for eight solid months while building screencasts for Software Carpentry, I think I have figured out what I want instead. Here’s a top-down view of a PowerPoint slide (drawn, ironically, with OmniGraffle):

Here’s the same slide seen edge-on:
![]()
The vertical axis in this view is time: all of the objects in the slide are created when the slide is created, and are cleared away when we advance to the next slide.
When I’m presenting in person, I budget roughly three minutes per slide. I don’t worry about losing the audience’s interest by keeping a static image up for that long because I’m a fairly animated presenter: I point at things, walk back and forth, make eye contact, and so on, all to provide the motion and flow that my slides don’t. Many good presenters, though, prefer to keep things moving on screen as well, and PowerPoint supports that by allowing items to be revealed progressively. If we do that, the side view looks like this:

When I first started creating screencasts back in May, I quickly realized that my “static slide for three minutes” style didn’t work: unless something was changing on screen every 15 seconds or so, viewers’ attention would wander. I experimented with using progressive reveal in PowerPoint, but discovered three shortcomings. First, there is no easy way to sync my scripts (written in the notes portion of the slide) with the reveal of particular elements. Second, when slides are exported to PNG or PDF, the progression is lost—everything comes out together. Third, there’s no way for an element to span several slides: PowerPoint insists on a strict slide/object hierarchy.
The third point is the key to what I want instead. I want to be able to create “slides” like this:

Here, there’s no longer a notion of “a slide”. Instead, there are graphical objects with lifespans, and slides horizontally across the timeline that display whatever is “alive” at that moment. This model seems better suited to creating screencasts (or other continuous video), and I suspect it would be better for traditional live presentations as well (particularly if it was possible to modify the properties of objects as a function of time, e.g., to change an object’s location between one snapshot and another).
I think I could create something like this in an image editor that supported layers (one layer per object) and scripting (to turn layers on and off), though that would be a fairly clumsy user interface. A more elegant one doesn’t feel like it would be hard to design, but I’m hoping someone has already built this for me. If so, I’d welcome pointers.
Remember when you used to make fun of a bunch of us for using OmniGraffle? I believe the phrase was “extraneous drop shadows”…
Keynote supports something like this with its “Magic Move” functionality. Every horizontal line in your example would be slide, but apparently objects can be shared between slides.
@Michelle You still read my blog? Aww…
@Peter I’ve avoided Keynote: for all its faults, PPT does run on both my laptops. Maybe I should reconsider…
I’m pretty sure SMIL (W3C) players support exactly this.
(or flash)
Stephen
@Stephen The problem with SMIL is authoring tools — can you recommend any? The ones listed at http://www.smilbook.com/tools/index.html look pretty painful.
Have you ever looked at Scriptio?
http://blogs.sitepoint.com/2006/02/16/scriptio-its-flash-without-flash/
The link is to a brief review because it presents code.
Dad and I wrote our livetext using this (or what it was like 10 years ago), and it was pretty cool. Note that you can specify durations for animations, and that lets you sync them with the audio.
We also wrote a CodeWarrior tutorial back then. Here’s me doing a lesson:
http://scriptio.us/cwmainme/
@Paul Scriptio is interesting, but the editing would kill me — their “author mode” is pretty primitive, and their don’t appear to be any WYSIWYG tools for building, positioning, and timing objects. (It even looks like text flow, such as line breaks, has to be done manually?)
I remember being quite annoyed by the text flow issue, and alas, it doesn’t look like the authoring tools have improved much. Ah, well.
JessyInk looks like an interesting option. It’s an extension for Inkscape that lets you create a presentation as a SVG, where each step in the presentation can include adding/removing pieces, fading in/out, zooming, rotating, and so forth. I haven’t tried it yet but look forward to checking it out soon. Presentation playback is done in Firefox (without any extensions or plugins).
Personally, I don’t like placing bullets on my slides. I think slides should complement rather than repeat what is being said: they must illustrate the talk, or draw focus to a point being made. For this I prefer a Lessig-style deck: a large number of slides with a tiny amount of content — a single word, phrase, or image — on each slide.
@Chris JessyInk is neat — I’ve never liked Inkscape’s drawing tools, but I could get over that. Do you know if objects can be in multiple layers in Inkscape (to give the persistent-across-slides behavior I want)? And hm, there’s need to be something to show “lifelines” for objects vs. slides… But neat tool — thanks for the pointer.
@Greg You could probably use the “clone” feature to achieve what you are looking for. Using clones, you could put certain objects on several slides to have them shown until you don’t need them any more. The clones will be updated automatically, if you change the “original” object.
@Hannes Interesting—didn’t know Inkscape could do that. If I delete the original, do the clones delete as well? And can I modify properties of clones (e.g., change their location without changes their appearance), or is it all-or-nothing?
@Greg If you delete the original the clones get “unlinked”, but they do not disappear. And yes, you can edit certain properties of the clones. In particular you can scale, move, rotate and skew them. With fill and stroke it is trickier. If you want to change them in the clones, you have to unset them in the original. The “clone”-feature is really neat and well worth exploring. Some more information can be found at: http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Clones.html
I am not entirely sure I get what you mean but objects on a presentation with lifespans sounds like something you can do with Prezi to me.
Could http://prezi.com/ be helpful to you ?
@Kees I looked at Prezi, but I’m very nervous about cloud-based tools that have only a single provider — if/when prezi.com shuts down, what happens to content? I also think the zoom-and-swirl style is eye-catching at first, but likely to be distracting for large amounts of content (e.g., a whole course).
I understand you getting nervous but you can download a portable Prezi you can reuse without the website. And also I don’t expect Prezi to shut down soon, they might stop the free service and increase costs for paid services though.
I also was afraid for the swirling, distraction and in general the people in the room getting sick, but after attending this presentation: http://prezi.com/sgufox0kriso/psychology-and-software-engineering-facts-and-fallacies/ I found it can work very well, you just have to make sure it does.
The timeline you suggest is reminiscent of a timeline in something like something out of an NLVE and seems to be precisely how Macromedia’s Flash authoring tool originally worked (Adobe’s incarnation is probably mostly unchanged), only rotated 90º. You probably prefer something open and revision controllable, though. My presentations are structured the way you describe and, because I also prefer something open, lightweight, and revision controllable, it sadly currently involves a lot of messy copy and pasting (and white-coloured text) to accomplish with my lousy LaTeX-Beamer skills.
What you’re describing sounds like Beamer. This is a LaTeX package that allows you to decree when, and for how long, each item appears onscreen. Plus, it produces a multi-page PDF when compiled which has one page *for each different appearance/removal of an item*, so that by scrolling through the pages, you achieve the same result as a powerpoint presentation.
@Lila Yes, we looked at Beamer: but if you want to do diagrams, you have to either type in text to specify coordinates and shapes, or draw the picture in a separate WYSIWYG tool, import the image, and hope it all lines up. I want the best of all worlds
@Greg I’ve been seeking a similar solution, for similar reasons. I’m testing my way through this handy summary: http://www.shallowsky.com/linux/LinuxPresentations.html
For the past few months, I’ve been using, and enjoying, JessyInk. Rotating/zooming into your slide guarantees “oohs” and “aahs.” And, there are even a number of instances when this enhances the message. However, I’m still looking for something closer to HTML/CSS, with PDF output.