Persuade is a small project I worked on in the past two weeks. It’s a simple presen­ter console (just like the ones Impress and Power­Point have), built entirely on web tech­nolo­gies and with support for PDF files.

It’s completly free, you can run it from my hosted instance or offline by just down­load­ing the source files. The source code is released under the GPLv3 license.

A screenshot of Persuade

How it works

When you open Persuade, you’re asked to load your slides into the appli­ca­tion: you can choose them either from the local device or a remote URL (which must support cross-o­ri­gin requests, due to browser limi­ta­tion­s). Then, you can tune a few config­u­ra­tion params before starting.

After the presen­ter console is ready, a popup is opened by your browser: you should move the popup to the projec­tor’s screen, and then go fullscreen. This way, you can show the slides to your audi­ence. The talk is then on you.

What’s under the hood

Persuade is tech­ni­cally a static website: there is no back­end, and all the logic is imple­mented client side with some JavaScript. This is great for a few reasons:

  • You can use Persuade while you don’t have any internet connection: you just need to download the web page and open the index.html with your browser!
  • Because everything happens locally, the slides aren’t uploaded to a remote server: this allows you to use it even if you can’t give confidential slides to third parties

The render­ing of the PDF files is made by PDF.js, a great project by Mozilla Labs.

Why I made this

When I give talks and I don’t have my laptop with me, I only bring the PDF file with the slides, not the whole Impress project. There is too much stuff which might be miss­ing from the device I’ll be using, such as fonts, but even the soft­ware itself. Every­one has a PDF reader though, and PDFs works cross-de­vice wonderfully.

This works great, but in those cases I miss the presen­ter console so much: it’s a great aid while talk­ing the abil­ity to see how much time is left and what’s the next slide. Persuade solves this prob­lem perfect­ly: it works on most browsers and you can use it offline and bring it with you on a pendrive.

What’s missing

The big miss­ing feature in Persuade is the speaker notes. The prob­lem with them is not the imple­men­ta­tion, which should be easy enough, but the fact I haven’t found a stan­dard for includ­ing them in PDF files, and I don’t want to include support for count­less differ­ent formats.

If you have any idea on what format should be imple­ment­ed, please tell me!

Try it out

If you want to try Persuade out, you can use the hosted instance or down­load the ZIP file with the sources. I hope it will be useful to you!