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.
So far, ShowOff has been used in the following presentations (and many others):
-
LinuxConf.au 2010 - Wrangling Git - Scott Chacon github.com/schacon/showoff-wrangling-git
-
SF Ruby Meetup - Resque! - Chris Wanstrath github.com/defunkt/sfruby-meetup-resque
-
RORO Sydney Talk, Feb 2010 - Beyond Actions - Dave Bolton github.com/lightningdb/roro-syd-beyond-actions
-
LRUG’s February meeting - Showing Off with Ruby - Joel Chippindale github.com/mocoso/showing-off-with-ruby
-
PyCon 2010 - Hg and Git; Can’t we all just get along? - Scott Chacon github.com/schacon/pycon-hg-git
-
PdxJs Tech Talk - Asynchronous Coding For My Tiny Ruby Brain - Rick Olson github.com/technoweenie/pdxjs-twitter-node
-
RORO Perth Talk - Rails 3; A Brief Introduction Darcy Laycock github.com/Sutto/roro-perth-rails-3
-
PDXRB Tech Talk - Here’s Sinatra - Jesse Cooke github.com/jc00ke/pdxrb_sinatra
-
Red Dirt Ruby Conference May 2010 - Plain Old Tokyo Storage - Jeremy Hinegardner github.com/copiousfreetime/plain-old-tokyo-storage-presentation plain-old-tokyo-storage.heroku.com/
-
Lambda Lounge and StrangeLoop 2010 - JavaScript Functions : The Good Parts - Idioms for Encapsulation and Inheritance - Scott Bale github.com/scottbale/JavaScript-Function-Idioms
-
Open Source Bridge 2010 - Creating a low-cost clustered virtualization environment w/ Ganeti - Lance Albertson github.com/ramereth/presentation-ganeti
-
RailsConf 2010 - Domain-driven Test-assisted Production Rails Crisis Interventions - Rick Bradley railsconf2010.rickbradley.com/ github.com/rick/presentation_railsconf_2010
-
WebWorkersCamp - 25 promising projects in 50 minutes - Bruno Michel github.com/nono/Presentations/tree/master/20100703_25_promising_projects_in_50_minutes/
-
11th Libre Software Meeting 2010 - Ruby 1.9, The future of Ruby? - Bruno Michel github.com/nono/Presentations/tree/master/20100708_RMLL_Ruby_1.9/
-
Lone Star PHP 2011 - Drupal - Chris Christensen github.com/christianchristensen/Presentations/tree/master/20110611-lonestarphp-drupal
-
Railsbridge Open Workshops - Sarah Allen, Sarah Mei, and Alex Chaffee github.com/alexch/workshop
-
SDRuby Lightning Talk - Readable Regexps - Ian Young github.com/iangreenleaf/sdruby-lightningtalk-tregexp
-
All PuppetLabs training from Summer 2012 on and many internal & external presentations
If you use it for something, please let me know so I can add it.
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]
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