slidePresenter is my best attempt at obtaining a free/OSS (preferably PHP-oriented) way to deliver paged content (eg., typical still-frame slide show) to any number of viewers via the web browser only, while providing only the host/operator with the controls to advance the slides in real time; and without requiring the viewer to have anything other than a decent Internet connection and fairly modern browser.
After a week or two of searching (mainly via Google and this thread on the talk.nyphp.org list, which also continued to the next month), it seems that nobody knows of an existing package like this.
However, it also seems it would be fairly simple to build. Page-forward/back/jump commands could be sent by the operator to a database or file on the server, and some Javascript in the viewer could be monitoring the server for those commands and then adjust the display accordingly.
Now, unable to find an existing package, I’ve decided to build a simple version with the features I need. Of course, this could also be useful to other people (though admittedly some people are probably doing it on their own already). But to start with, I’ll keep it simple, with a view interface that’s just a white page with a single image that changes, and an operator interface that just records the filename of the “current slide”. I’ll probably also incorporate a way to upload the images and put in some user authentication on the operator interface. And for this project I intent to build in i18n support from the start (something I’ve later regretted neglecting in previous projects).
More advanced features could include template/branding of the viewer interface, showing the date/time, showing “slide x of y” info, confirming for the presenter that all viewers have received the new image, etc. Adding non-slideshow items like chat and such are currently out of the scope of this project.
Technologically, this is not so hard. The viewer interface just makes an XMLHttpRequest() call for the current slide URL and updates the src property of the designated img element. Yes, it has limitations: not suitable for a very large audience; doesn’t support MS-PowerPoint-style animations. But for an audience of 10 or 20 it should suffice, and until PowerPoint and its competitors start exporting in a web-based format that supports animations, there’s not much point slidePresenter supporting it.
Code should start to appear on sourceforge in the next few days. Comments — including: admonitions to give up the project because the needs are met by another; suggestions for improving the technical implementation; and feature requests — are welcomed with much appreciation.