Creating an Auto Refreshing Slideshow from Eye-Fi Upload
I had an unusual request from a client. They wanted me to photograph a fund-raiser party and have the photos projected onto a screen throughout the event. After doing it, I realized this would be a fun thing to do at parties, workshops, weddings, and other events.
My first thought was to hand off cards to an assistant and have them make a quick edit in Aperture and then start a simple slideshow. The downside is that the slideshow would be down while that happened.
I decided to use an Eye-Fi card to send images directly to my computer through the Wi-Fi signal. That’s easy enough to do, but all the slideshow options I looked at would not automatically update as new images were added. Aperture, Photo Mechanic, Cover Flow and even the Finder screensaver require the user to select the image and then then start the slideshow.
I found an Applescript that would automatically and periodically refresh the Finder slideshow. But, I had one more requirement. I not only wanted to run this slideshow, I wanted to send the images to a Project in Aperture from an Aperture Hot Folder. And, being the paranoid worry-wart that I am, I also thought it might be good to send the photos to an online sharing site as backup to my backup.
It turned out to be no problem to send the images to the Aperture Hot Folder and also run the slideshow off the same folder. This way, if I need to make a change to the slideshow, or simply see what was in the folder, I could easily go to Aperture and see what was there.
Of course, it’s never easy. I was warned the Wi-Fi signal was unreliable during heavy use, so when I saw that organizers were broadcasting their Twitter feed and encouraging guests to tweet, I knew I was in for a bumpy ride. Thankfully, the heavy use was short-lived. By the time the dancing started, everything was rolling along nicely.
Camera Set-up: Since I needed a RAW version of every image in addition to the small jpegs I would transmit to the slideshow, I would need a 1D class camera. In this case I used a Canon 1D Mark IV so I could send the RAW images to a CF card and the small JPEGs to the Eye-fi SD card. Page 57 of the instruction manual details how to set the camera to record RAW to the CF Card and small JPEGs to the SD Card.
Eye-Fi Set-up: The Eye-Fi system is pretty amazing. It will send images to a computer, a phone, an ftp address, and several online services like Flickr, SmugMug, Facebook, etc. Before the images land at their destination, they go through the Eye-Fi system for distribution so it’s no problem to have them sent to more than one recipient. In this case, I set Eye-Fi up to send images to my computer and to a private set on Flickr. One important option is to set the Transfer Mode to Selective Transfer. This requires locking the image on the camera to get it to upload. Otherwise, every image will uploaded and that could be troublesome.
Computer Set-up: The Eye-Fi Center lets you choose which folder you want to send the photos to. Since I wanted the images to be imported into Aperture, I installed an Aperture Hot Folder on the desktop.
In order to get the Finder screensaver slideshow to play I selected the Aperture Hot Folder as the source for the slideshow in the System Preferences.
The next big problem to solve is to use an Applescript to refresh the slideshow. A blog post on The Gadgeteer had exactly what I was looking for and some good tips as well. When installed it will stop the slideshow and restart it automatically thereby adding the most recent images. You can tell it how many seconds you want it go restart. I set it for 300 seconds (5 minutes). If had to do it all over again, I may set it for half that time. And, since it reveals your desktop when it refreshes, I shot a photo early in the night of a their logo and set it as the desktop image. This worked really well and looked pretty seamless when it refreshed.
Here’s the Applescript (click the first icon to open a window to select the code, and ignore the double endend you see below—that’s a render bug):
repeat tell application "ScreenSaverEngine" to activate delay 300 tell application "System Events" to key code 59 delay 2 end repeat
By the end of the night, everyone was having a blast looking up at the photos towering above them as they danced. I had uploaded almost 300 photos to the slideshow from the time they were getting ready to the end when they were dancing. It was a big hit.
This reminded me of a workflow and article I posted on my photo blog, long before ApertureExpert was born, of another complex, AppleScript related workflow. I just went and cleaned up the formatting so it’s more readable… check out this five-year old post (Jan 2007… goodness): “An impressive use of Aperture and AppleScript”.