residentlim.com

Thoughts On Slides

Date:

Throughout my high school life, I've dealt with slideshow programs. I used them for individual presentations, group projects and even as a diagramming tool for my lab reports.

Notice how I used the words "dealt with". This is completely intentional. Slideshow programs gave me a lot of frustration; my experience can be summed up in this cycle:

  1. Think of a cool feature to implement in my slides. ("An animated diagram would fit nicely in this presentation!")
  2. Spend a few hours researching how to implement that feature. ("Why must Powerpoint make it so hard to add animations? Why must I deal with this clunky animation timeline?")
  3. Get frustrated with the slideshow program and give up.
  4. Rinse and repeat.

I feel like there is a lot of potential for presentation software to improve. We've seen many advances in computer graphics, internet technology and interactivity, but our slideshow programs are stuck in the 1990s. We need a paradigm shift in how we think about slideshows.

Black Text On White Background

Take a second to look at the most common slideshow programs. You'll find that they are text-centric. Meaning that they focus on presenting text, and everything else (e.g. images, charts etc.) only exists to support the text.

Why must text be the main medium of communication in a presentation? Everyone is probably focused on the speaker, and their slides should only be supporting what they say, not acting as a transcript.

Text-centric presentations also have another shortcoming - they are static. Animation in slideshow programs is treated as a second-class feature, something tacked on as an afterthought. The editing tools for these animations are subpar at best. For example, here's the Microsoft Powerpoint animation pane:

An image showing the Microsoft Powerpoint animation pane.

It's difficult to recognize which animation corresponds to which motion. It's also difficult to edit their timings, dragging those tiny boxes leads to a lot of "guesstimation". Not precise at all.

Why can't we embed other interactive content in our presentations? Imagine if we could show a kinematics simulation in a Physics lesson, or a real-time heatmap of the Earth for a presentation on climate change. Why are we telling people facts and figures, when we can show them the effects first-hand?

File Format Frenzy

Have you ever tried to open an old Powerpoint presentation, only to find out the image layouts, fonts and other features are messed up? That's because the file formats for most presentation software are proprietary. This means that you can't use these files outside of the presentation software, which is a huge problem for distribution.

Most people want to distribute the presentations they create. Some examples are teachers who give students revision materials after their lessons, and conference speakers who want to put their slides on a website. Over time, as newer versions of presentation software get released, older presentations cannot be viewed properly, and you'll end up losing them.

We need a file format that is timeless. Something that supports text, styled elements and interactive content. Here's the truth - this format already exists, and it's called HTML.

If presentations are compiled to HTML/CSS/JS, we could view them on any web browser. Slideshow themes can be replaced with a single CSS file. Interactive content can be added with Javascript code.

Some people have already done this; my favourite examples include the video series "Visualizing quaternions" by Ben Eater and Grant Sanderson (3blue1brown), and the interactive blog article "Sound" by Bartosz Ciechanowski.

Call To Action

The best thing about being a programmer is that I can solve any problem in my daily life. I'm working on a slideshow program, temporarily named Showcase. It will have first-class support for interactive content, such as graphs and simulations, and it can pull data from real-time sources (open APIs).

It will have an open-source core, but I will also provide a web platform for those who don't want to meddle with programming.

Stay tuned for more updates.