info@patrick-blom.de

Home » Consulting » Keynote vs. reveal.js

Keynote vs. reveal.js

Im Grunde bin ich ja ein Verfechter der einfachen Dinge, solche die funktionieren und am besten irgendwo dabei sind. So was wie das FOS User Bundle, welches mir in vielen Symfony Applikationen schon gute Dienste erwiesen hat. Genau so halte ich es auch bei meinen Talks, Vorträgen oder für die Microsoft Fans auch gern PowerPoint Präsentationen. Seitdem ich einen Mac nutze, habe ich für meine Talks daher immer Keynote benutzt.

Die Gründe dafür lagen für mich bisher immer klar auf der Hand. Zum einen ist Keynote leicht zu bedienen, also nicht nur leicht, sondern wirklich leicht. Ich vermute, selbst ein trainierter Schimpanse könnte mit dem Programm eine halbwegs brauchbare Präsentation zusammen schustern. Zum anderen ist es bei dem Kauf eines Mac’s dabei und es springt einen quasi ins Gesicht wenn man die Spotlight-Suche nutzt. So war für mich der Griff nach zu diesem Programm eigentlich klar, sobald das Thema auch nur in irgendeine Richtung von Präsentation ging.

Doch bei der Planung meines letzten Talks, habe ich mich bewusst gegen Keynote entschieden. Warum ich das getan habe, weiß ich eigentlich selber nicht mehr so genau. Ich denke, es war eine Mischung aus Neugierde und der Beeinflussung einiger Freunde von mir die, sagen wir mal so, nicht die größten Keynotefans sind. Das “Warum” mal beiseite gelegt, viel meine Entscheidung auf eins der wohl bekanntesten Open Source Projekte in dem Bereich dem HTML Presentation Framework, reveal.js reveal.js-homepage

Der erste Eindruck

Dieser war eigentlich ganz gut. Die Seite die Hakim El Hattab und seine Contributor auf die Beine gestellt haben ist verständlich und macht lust aufs “Loslegen”. Slideeffekte, Speakernotes, ein paar Themes und das alles auch noch in HTML bringen eigentlich alles mit was man so braucht. Hinzu kommt die Tatsache, dass man einfach ein GitHub Repository klonen und sofort starten kann.

reveal.js-github

 

Der Zweite Eindruck

Naiv, wie ich war, bin ich mit meinem Keynotewissen also los und kurz darauf dann voll gegen eine Wand gerannt. Was ich bei meinem Enthusiasmus nämlich total vergessen hatte, war, dass ich mir eine komplett neue Herangehensweise aneignen musste. Bisher hatte ich einfach “drauf los gegeklickt”, hier einmal was verschoben, da eine Größe angepasst, ein neues Bild eingefügt, noch mal die Größe angepasst usw. Eben einfach so, wie ich es von Keynote bisher gewohnt war. Dass funktioniert bei reveal.js so leider nicht. Im Prinzip musste ich mir klar werden, das es sich um eine reine HTML-Seite handelt. Somit konnte ich nicht einfach Elemente durch die Gegend schieben, sondern ich musste mir im Vorfeld Gedanken machen, wie meine Slides aussehen sollen.

Aufstehen, weiter laufen…

Nach dem ich mir bewusst war, wie ich meine Slides angehen muss und einen ersten Plan im Kopf hatte, der über die Grobe Struktur hinaus ging, freundete ich mich mit reveal.js immer mehr an. Nach etwas googlen und intensiver Betrachtung der Doku, welche nebenbei erwähnt wirklich gut ist, klappte es auch mit dem Custom Theme und den “eigenen Elementen” wie z. B. den halbtransparenten Bannern, die ich sehr gerne benutze.

 

Tipp: CSS Klassen sind gut und schön, für kleine Anpassungen an den Slides hat sich für mich einfaches inline CSS als beste Lösung erwiesen, auch wenn nun alle Frontendexperten der Welt die Hände über den Kopf zusammenschlagen.

Die ersten Kompromisse

Bisher bin ich bei der Art und Wiese wie ich meine Slides erstelle nur auf einige wenige Problem gestoßen, welche mich zu Kompromissen gezwungen haben. Eins davon ist das Folgende. Meine Idee; ich wollte mein Slide auf voller Größe vertikal halbieren, auf der einen Seite ein Bild auf der anderen ein Schlagwort. In Keynote total einfach, in reveal.js… naja umständlich.

Das Problem hier ist eine sehr praktische Funktion von reveal.js welche sich “Vertical centering of slides” nennt. Diese gibt dem umschließenden Div aller Slides ein margin welches alle Slides und deren Elemente zentriert. Das ist perfekt für 99% meiner Slides, aber auch eben nur für 99%.  Somit musste ich mich also entscheiden, ob ich entweder diese Funktion deaktiviere und mich bei allen anderen Slides um das Zentrieren selber kümmere oder ob ich mir für das 1% etwas anderes einfallen lasse. Da ich, wie oben bereits erwähnt, ein Verfechter der einfachen Dinge bin habe ich mich dann für den Workaround entschieden.

Fazit

Aller Anfang ist schwer, gut vllt. nicht so schwer wie bei Keynote aber auch dort musste ich anfangs ein paar Hürden nehmen, bis ich meine heutige Slidequallität erreicht hatte. Ähnlich ist es vermutlich auch bei reveal.js. Die ersten Slides sind “OK” die Zweiten “Besser” und nach dem vierten oder fünften Talk wird man vermutlich keinen Unterschied mehr zu meinen Keynote Slides erkennen.

Nach dem ich meinen ersten Talk nun mit reveal.js erstellt habe, habe ich mich dazu entschlossen die Flinte nicht nach dem ersten Schuss ins Korn zu werfen, sondern der Sache eine faire Chance zu geben. Hinzu kommt, dass ich mir das umständliche Konvertieren in PDFs und hochladen auf speakerdeck.com sparen und meine Talks einfach auf meinem Webserver ablegen kann. Das löst für mich auf komfortable Weise das “Slide Share”-Problem, welches ich bisher mit Windows- und Linux-Usern hatte.