I've got a few new presentations to give coming up in the next couple of months that are essentially being developed from scratch, I thought it would be a great time to take a look at all of the open source presentation tools out there, and decide if it would be a good time to try out a new tool for any of these upcoming talks.
It's also worth taking a little time to ask yourself what assumptions you are making about your presentation needs, and what kind of tool makes the most sense to use. For example, do you need to be able to present off of any computer, or share your presentation with others and be assured that they will be able to open it? Will Internet access be assured when you're presenting, or do you need a solution that will work offline as well?
After trying out a few different tools, I think I'd lump the ones I found into three major buckets: traditional desktop tools, web-based presentation tools, and then "other", which in my case, consisted of some terminal-based tools, but depending on your needs, your "other" category may consist of something else. For example, I've seen a presentation given entirely from an Android device with a screen-casting ability. But in any case, let's look as some of the great open source contenders in each of these three main categories.
Desktop presentation tools
Desktop presentation tools provide the closest experience to the traditional PowerPoint experience, both on the design side and the presentation side. If you're just looking to be able to put together some formatted text with a few images, perhaps a transition or two, add a few speaker notes, and be able to
I've found LibreOffice Impress to be, well, impressive enough that I haven't needed an alternative on the desktop. It works reasonably well at importing PowerPoint presentations, assuming that the file you're opening doesn't have any sort of crazy formatting or weird fonts, so it's a good choice if you're working with slides from other people.
It's also incredibly intuitive if you're already used to working with other LibreOffice tools, or really any standard office suite. You'll find all of the basic text formatting, shape drawing, image importing, chart making, and other tools you'll need to put together a basic business presentation. And LibreOffice is, of course, a cross-platform tool, so you should be able to easily share documents across Windows, Mac, and Linux, while being able to export back to PowerPoint format if required.
I've heard similarly positive feedback for Calligra Stage, which grew out of the KOffice project, as being both approachable to people of any skill level while still having enough features to make a reasonably advanced presentation. You'll find it with many KDE-based Linux distributions, or it can be installed independently.
Web presentation tools
Web presentation tools have been my preferred format for a while, if for no other reason except that HTML-based presentations are very easy to use with version control, and very intuitive to edit as someone who spends a good portion of my day doing markup already. If you can make something work on a web page, you can make it work in a web-based presentation: interactive charts, maps, videos, and more. Plus, web-based presentations are incredibly easy to share: just give out the URL, or bundle up all of the code onto a flash drive and present from nearly any computer system of your choosing.
I highly recommend you check out Joshua Allen Holm's roundup of three open source web frameworks for presentations, in which he looks at Impress.js, Hovercraft, and Strut in some detail. My favorite tool in this space remains Reveal.js.
Why Reveal.js? The framework is simple to use and allows for rather elegant code. It supports a number of features out of the box that, frankly, allow for some really cool presentation features, including zooming, parallax backgrounds, beautiful transitions, and great code markup. It supports Markdown inline, or you can even write your whole presentation in Markdown and then import it.
If you're not an HTML junkie, the commercial service Slides.com is based on the open source Reveal.js, and you can easily import or export to a revision control system of your choosing.
A presentation from the terminal?
Bear with me for a moment, I have one more idea to present (ha!). Have you ever considered presenting from your terminal? No, I'm not kidding. While it's not going to win an award for style, presenting a text-based presentation straight from the terminal could earn you some serious geek cred, but more importantly, introducing an artificial limitation of a text-only environment is going to force you to focus on your words instead of fancy gimmicks.
As a friend of Vim, my new favorite tool for terminal-based presentations is Vimdeck. Vimdeck is an MIT-licensed tool that turns Markdown into a set of files, one per slide, which are then opened in Vim, and then sets up some keybindings for easy movement through your deck. You can give your slides a surprising amount of customization, including syntax-highlighted, a headline text font, and more. The Vroom project is another Vim-related presentation tool worth checking out.
Why do this at all? Well, you can host your presentation almost anywhere; all you need on the presenting computer is a terminal with SSH. You can easily version the files. You can even use a tool like gotty to easily share your terminal-based presentation as a web page for others to view. It's an unconventional idea, but for technical presentations, one you might consider.
Obviously, these aren't the only open source presentation tools out there. It may even be worth asking yourself, for a given presentation, if a slides-based tool is the right choice at all. If you're presenting the same data on a recurring basis, would creating a dashboard make more sense? Are slides the right level of formality for your presentation, or is throwing a collaborative document on the screen and editing in real-time a better fit? Don't immediately think that a presentation has to equal sequentially advancing slides.
Regardless of what tool you use, remember, it's just a tool. Your audience isn't going to be nearly as impressed by the tool you use as by quality of the content you're presenting, and ultimately, by your ability to present it. Don't dwell for too long on picking the perfect tool; instead, find one that works for you, and move on to practice, practice, and more practice! That said, do let us know what presentation tool you use, and why, in the comments below.