This is a checklist of features necessary for an HTML slide tool to be a serious alternative for presenters. It’s a remix and expansion of the list found in Christian Heilmann’s blog post “Why I don’t write my slides in HTML.”
It’s also a scorecard showing how well Simple HTML Slides meets those requirements. This isn’t a static list and I expect to expand it over time. If you think there’s a necessary feature missing, please leave a comment.
- Synchronize slides across multiple machines over the net.
- Presentations need to be a single, printable file
- Presentations need Speaker Notes
- Presentations need Handouts
- Presentations need to scale to different resolutions
- Presentations need to be embeddable
- Slide changes synced to embedded audio
- Timed automatic slide changes
- Presentations need to work offline
- Video in “slave” presentations controlled from the master.
- Slides should work without your computer and your browser
- Adding images should also allow you to edit them
- A slide deck has a fixed layout and fonts
- Need to support intra-slide builds
- Need an in-situ slide editor
This was the raison d’etre for the project.
I agree with Christian that presentations need to be printable, I’m not yet convinced they need to be a single file. It will be a while before this one turns green. That can’t happen before bug 468568 gets fixed, because we make heavy use of webfonts. The sad truth is that printing sucks in all current browsers, and printing issues get pretty low priority in most browser development queues.
We score zero here, and that’s a bit embarrassing. This should be possible with some CSS & jQuery fiddling
This will likely get fixed at the same time as the speaker notes problem. It’s a bit more dependent on printing though, so that will continue to be a problem.
The jQuery magic in zoomooz.js handles this quite nicely. The resolution changes smoothly without altering the slide layout.
Simple HTML Slides are embeddable as iFrames. The zooming feature eliminates any scroll bars. You can embed presentations in regular web pages, and even in WordPress posts and pages. Like this:
Henrik Moltke’s Hyperdisken might be the tool to pull this off. It’s sort of Popcorn.JS for audio. This is a good excuse to play with that. …but I suspect the interaction with the slide sync control will present some tricky challenges.
This should be pretty easy, plus or minus the slide sync interactions.
They do… almost… if you’re using a current browser. The issue is that Simple HTML Slides use some features that are still not quite standard, like multiple background images and background images with alpha channels. That means that some slide themes aren’t quite as pretty in Opera. …and, alas, the last time I checked it didn’t work in IE9. IE10 is a maybe. For this project at least, I’ve stopped loosing sleep worrying about all those millions of poor downtrodden souls under the thumb of corporate, government, and educational IT departments that think IE6, 7 and 8 are browsers.
I had not given this issue any thought until I read Christian’s blog post. Simple HTML slides do a pretty good job of resizing images automatically, but it would be really nice to have a way to crop an image. Needs attention.
Simple HTML Slides do. And they blow the socks off Powerpoint and Keynote when it comes to working cross platform. Even with the “same” font (by name) installed on a Mac and a Windows box, moving Powerpoint presentations across the O/S chasm has given me fits. Because we use WOFF fonts, Simple HTML Slides look the same on Windows, MacOS, Linux/BSD, and even iOS. (I haven’t played with Android yet, but I’m confident it won’t be a problem).
This may be as simple as adding a new sync token that changes the appearance of a slide rather than switching to the next one. Slides get auto-numbered with integer CSS id attributes, and those get used as slide change tokens. Maybe its as simple as making the sync server accept a couple of decimal points on the slide id.
It seems like ACE, into which Mozilla Bespin/Skywriter was merged, might provide a way to do this. It would further complicate the offline web app manifest issue though. Probably not anytime soon.