Archive for November, 2006

Internationalization Added

Monday, November 20th, 2006

Today, with the release of slidePresenter-0.03, I added support for localization of all on-screen text to the language of your choice. It made sense to try and do this as soon as possible, before the interface got more complex. At this stage, there are only three strings to handle.

Translation submissions are welcome.

We also now have better error handling, at least sufficient to provide meaningful error messages without revealing directory structures.

The Project Roadmap now reflects these changes, and the user interface for “Creation and management of presentations” has moved into the top spot to be next for implementation. This will be a major step forward in ease-of-use, as we’ll eliminate most if not all direct management of configuration files. Expect to see this in the next week or so.

New Stats Sidebar

Monday, November 20th, 2006

In the sidebar of this site you’ll now see a section labelled “Stats,” which shows so far the latest version of slidePresenter available and the date it was released, plus a running count of the number of downloads. At this point, with the project in release 0.03, less than a week old, and having less than 100 downloads, it’s interesting to watch those numbers change. To be hontest, I am impressed and honored to see that anyone has made use of this program.

slidePresenter code posted

Monday, November 13th, 2006

After much dilly-dallying about all the great features I could include in this thing, I decided it was silly to try and pack in anything more than necessary right from the start.  Download it here.

Right now slidePresenter works by updating the “src” attribute of an tag.  This already makes it different from Jaisen Mathai’s very nice slide presentation script, which works by updating the innerHTML of “slide title” and “slide body” elements.  That’s actually a good feature, and I’m adding it to the list of possibilities for slidePresenter.

There are actually plenty of other features that could be incorporated into this tool, but I will wait to hear if any improvements would be even slightly useful for others.  For myself, it’s workable enough that I’ll take it, and improve it as needed.  Because I’m such a slacker, it’s easy for me to sit hours and build things that might never actually get used, just because they’re nifty.  As an act of self-discipline, I’m limiting myself to 8 hours working on this program for each download.  Of course, that allowance will change once I’ve crossed a few dozen downloads, I’m sure; but whether or not that ever happens remains to be seen.

In the mean time, I’ll be watching the stats and keeping track of bugs and potential new features.

Moving ahead

Friday, November 10th, 2006

Kind responses from Jaisen Mathai over the past couple of days. In one vein he’s responded to my pleas for help — the code I downloaded from his site, from his ZendCon presentation, seems not to work for me. In another vein, he says he’s happy to contribute the code to a GPL project like slidePresenter.

I don’t think the code will be released as a project due to the time involved in doing so. However, you can do with the code as you like. It would be cool to see a freely available version.

Thanks,

Jaisen

That’s great if you are wanting to include some of the code in a GPL-licensed project. I might be inclined to contribute to it if time permits.

Keep me posted on your progress.

Jaisen

I’m still working to get that code going, though I’m sure it’s more a reflection on my own ineptitude than anything else.

Meanwhile, I have plenty of other things to work on, including features like user authorization, basic permissions, and uploading of image files. Watch this space for actual code soon.

An idea whose time has come…

Tuesday, November 7th, 2006

Scott Mattocks on the NYPHP-talk list tells me a similar trick was used by Jaisen Mathai at his November 1st ZendCon presentation.  I hope to see if Jaisen is interested in developing this further, either by releasing his code as Open Source, or maybe just by helping my sorry self to grock what’s happening in it.

Real-time slide presentations with only a web browser

Monday, November 6th, 2006

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.