Heads Up: This post explains something I made at work for the sake of posterity; it doesn’t explain how to do it! (Vocational horn tooting.)
Problem
Display four different, looping, auto-playing PowerPoint/Keynote presentations on four displays. These presentations will be populated with text and graphics supplied by various academic people, and odds are good that the info will need to be occasionally updated and/or everything can be repurposed later.
Solution
A hidden MacPro with four video outputs, each hooked up to a screen with a fullscreen Chrome window displaying a custom-built web application, powered by PHP, populated by a MySQL database, and progressed using jQuery/JavaScript.
Whhaaaa?!
Previous to the MacPro, those four screens were hooked up to DVD players, so the obvious approach would be to make four DVDs with a looping video of the presentations. Now, the time it takes to design and render those videos aside, what happens when somebody inevitably wants something changed? Ugh!
This is the part where I suggest reducing manual, tedious labor to a minimum.
The application I made used unique, hashed keys to give each project administrator their own admin panel without a username/password combo they’d probably lose. (Not the safest technique, but I was willing to make that sacrifice for usability.) From this panel, they could input text and upload a picture for each slide on their project’s presentation.
A separate script on the same server would call that information and imagery, add it to any other projects’ necessary for its respective screen, then iterate through each slide in between fading to black. Each window used the same script but pulled in different projects using a $_GET variable. Oh, also, there was a little slider to indicate transition time.
Since the computer controlling the screens was hidden in an office behind the wall, it needed to be able to be controlled remotely. This was accomplished with VNC Screen Sharing, which is baked into Leopard.
Features / Credit
- Each panel’s text would automatically resize if it expanded beyond its dimensions. (I’ll probably release the jQ function I wrote for that here someday…)
- Presentation image resizing by Smart Image Resizer
- Admin textarea resizing by autoResize plugin
- Bokeh background texture by ImaginaryRosse
- Subtle, Photoshop-y CSS3 drop-shadows
So why is this better than a more manual, video or actual Powerpoint approach?
- For starters, beyond trimming down some superfluous text (which somebody else did anyway), there was no reformatting of users’ content. No bolding, italicizing, line-heighting, etc, that would have made managing a dozen different PowerPoints hell. “You’d like 5 pixels more space between these two words, boss? Okay, give me an hour…”
- No video rendering.
- Minimal software requirements (just a browser) = fast loading.
- It’s all dynamic. If content needs to get changed, they do it themselves and then I refresh the display browser.
Yep.
2 Responses to Symposium Digital Posters