All Presentation Software is Broken

Whenever the point I'm trying to make lacks clarity, I often find myself trying to dress it up: fade in the points, slide in the chart, make prettier graphics. It is a great tell when you catch yourself doing it. Conversely, I have yet to see a presentation or a slide that could not have been made better by stripping the unnecessary visual dressing. Simple slides require hard work and a higher level of clarity and confidence from the presenter.

All presentation software is broken. Instead of helping you become a better speaker, we are competing on the depth of transition libraries, text effects, and 3D animations. Prezi takes the trophy. As far as I can tell, it is optimized for precisely one thing: generating nausea.

Next Presentation Platform: Browser

If you want your message to travel, then the browser is your (future) presentation platform of choice. No proprietary formats, no conversion nightmares, instant access from billions of devices, easy sharing, and more. Granted, the frameworks and the authoring tools are still lacking, but that is only a matter of time.

Unfortunately, we are off to a false start. Instead of trying to make the presenter more effective, we are too busy trying to replicate the arsenal of useless visual transitions with the HTML5, CSS3 and WebGL stacks. Spinning WebGL cubes and CSS transitions make for a fun technology demo but add zero value - someone, please, stop the insanity. We have web connectivity, ability to build interactive slides, and get realtime feedback and analytics from the audience. There is nothing to prove by imitating the broken features of PowerPoint and Keynote, let's leverage the strengths of the web platform instead.

Free Lunch: Web Analytics

Keynote, PowerPoint and friends are optimized to help hide your incompetence: no useful feedback, no way to measure the effectiveness of your delivery or reach of the message. On the web, we inherit all of the power of web analytics for free. We can measure slide impressions, time on slide, referrals, clicks, display heatmaps, segment the viewers, setup conversion goals and more. Let's look at a real-life example.

I've instrumented my RailsConf presentation (Making the Web Faster) with Google Analytics, where I'm tracking slide transitions and clicks via custom events and time on slide via the user timings API:

7.5K+ visits, 200K+ slides impressions, and a 40%+ return rate. An average user took 19 minutes to make their way through the slides, which translates to just over 100 "cognitive days" across all visitors. It took me roughly 20 hours to make the slides from scratch, which translates to a 1:120 hour ratio. Is this good? We can't say, but it is a baseline. I would love to compare these numbers to other RailsConf presentations.

Vanity counters are fun to share, but did the presentation convey the right message? The goal was to focus the audience on optimizing for user perceived latency and the available tools. The peaks in time on slide up to slide 20 correspond to off-site clicks to Navigation Timing spec, Google Analytics documentation, and examples - mission accomplished. Slides 30 to 40 are mostly flat: I need do a better job of motivating webpagetest.org, because it is an amazing tool. Finally, the big timing spike at the end corresponds to slides on mod_pagespeed. Next time around I will make sure to spend more time on it.

Video & YouTube Analytics

The presentation was recorded and I uploaded it to my own YouTube account - this gives you a lot of great analytics. First, it is reassuring to see that web visitors and YouTube audience retention follows the same pattern, with many of the same peaks and valleys. The added bonus: I can click on any time point and review my delivery. And what's the retention peak of entire presentation? An "inception" demo of opening Chrome's inspector, on the inspector! Not surprisingly, this also corresponds to the reaction of the audience during the live presentation.

Make me a better presenter, please!

If I was to give the same presentation again given the information above, I am confident I could now do a better job of it. Except, of course, I wouldn't give the same presentation since I can clearly see the sections that need to be improved, and a few sections that need to be cut.

I would love to see some experiments with live session feedback: am I going too fast, should I revisit a concept, perhaps even live questions. Add a websocket endpoint and all of the above is easily done. This space is ripe for disruption. Forget the animations, ornate templates, and other me-too gimmicks, make me a better presenter.


Ilya Grigorik

Ilya Grigorik is a web performance engineer and developer advocate at Google, where his focus is on making the web fast and driving adoption of performance best practices at Google and beyond.