The “Remote Display” is the slide show of composite images generated from the booth during an event. Its a separate monitor and board which is connected via a dedicated local network to the computer in the booth. To date, there has only been one remote display but several can be placed around a venue to stir up excitement and share the joy from the photo booth.
In the original incarnation of the booth, the remote display used a stock Android application that met two simple requirements: it could play a slide show via Windows file sharing and it would periodically refresh the directory contents so that new images from the photo booth would show up in the slide show.
Upon exiting the old booth, people often looked for the image they just generated. The canned Android app could not do that nor was it something easy the author of the app could add (I asked). As for me, the learning curve to write an Android app that did exactly what I wanted was even steep… Eventually I realized that I already had the tools and skills at hand to write my own slide show, and quite easily: I could use Pygame just like I did for the computer in the booth.
Here’s a very high-level flow chart of the new remote display slide show script:
Instead of using SAMBA sharing like the original booth, the booth computer will be running a web server with directory indexing.
After the slide show script starts, it queries the booth web server to see if there is a new photo ready. If there is, the new file is copied locally and then displayed immediately. The new image holds on the screen for a longer period than older images—10 seconds versus 3 seconds at the moment, but this may change—giving people a chance to see and discuss it. Once an image is finished displaying, the web server is checked again for a new image. Once all the existing images have been displayed, the sequence in which they are played is shuffled.
In the case of the old booth, there was network activity every time a new image was display during the slide show. In this new slide show script, each photo is copied to the remote display board. This reduces the load on the booth computer because each image is copied only once per remote display. In addition to the composite image, I plan to have the script copy over the raw files as well, creating a redundant backup of all the images.
Some things that still need to be added are (and there are probably more, too):
David DiCarlo is a hardware applications engineer for Freescale i.MX applications processors.