Showoff Presentation Software

Showoff is a Sinatra web app that reads simple configuration files for a presentation. It is sort of like a Keynote web app engine - think S5 + Slidedown. I am using it to do all my talks in 2010, because I have a deep hatred in my heart for Keynote and yet it is by far the best in the field.

Showoff allows you to author your presentation slides in Markdown, then organize them with a showoff.json file. This file also contains metadata about the presentation, such as the title, any password protection, etc.

Then you just run showoff serve in the presentation directory and open a browser window.

Showoff's capabilities include:

  • Display content on slides including:

    • formatted text and images

    • syntax highlighted code

    • bullets with incremental advancing

    • simple slide transitions (instant, fade, slide in)

    • replayed command line interactions

  • Live presenter tools:

    • presenter view that display notes, tree representation of presentation, and other tools

    • execute Javascript, Coffeescript or Ruby live and display results

    • show a pre-show slideshow while you wait to start

    • let audience members download slides, code samples or other supplementary material

    • show a timer - elapsed / remaining

    • show synchronized, hidden notes on another browser (like an iphone)

  • Live audience tools:

    • audience can pull up the presentation on their own browsers

    • call up a menu of sections/slides at any time to jump around

    • independent navigation so that audience members can go back / catch up as you talk

    • allow viewers to set their view of the presentation to track the presenter's

    • allow the audience to provide pace feedback and ask questions of the presenter

    • allow the audience to provide contend feedback on the material

  • Content creation and distribution functionality:

    • generate supplemental material based on slide tags

    • generate printed versions of the presentation including handout notes

    • password protect any URL path to keep control over different views of content

    • Automatically generate a Table of Contents

Due to it being plain text, you can easily version control it, you can easily move sections between presentations, and you can rearrange or remove sections easily.

Please see the documentation in ./documentation for further information.

Real World Usage

So far, Showoff has been used in the following presentations (and many others):

If you use it for something, please let me know so I can add it.

Future Plans

I really want this to evolve into a dynamic presentation software server, that gives the audience a lot of interaction into the presentation - helping them decide dynamically what the content of the presentation is, ask questions without interupting the presenter, etc. I want the audience to be able to download a dynamically generated PDF of either the actual talk that was given, or all the available slides, plus supplementary material. And I want the presenter (me) to be able to push each presentation to Heroku or GitHub pages for archiving super easily.

Potential future capabilities might include:

  • perform simple animations of images moving between keyframes

  • let audience members vote on sections (?)

  • broadcast itself on Bonjour

  • let you write on the slide with your mouse, madden-style via canvas

  • automatically resize text to fit screen [see Alex's shrink.js]

Why Not S5 or Slidy or Slidedown?

S5 and Slidy are really cool, and I was going to use them, but mainly I wanted something more dynamic. I wanted Slidy + Slidedown, where I could write my slideshows in a structured format in sections, where the sections could easily be moved around and between presentations and could be written in Markdown. I also like the idea of having interactive presentation system and didn't need half the features of S5/Slidy (style based print view, auto-scaling, themes, etc).


See the CONTRIB.txt file for how to contribute to this project