If there’s anything that I love as much as getting my hands on a shiny new gadget, it’s taking old gadgets and repurposing them to accomplish something completely awesome. I recently combined a low-end Eye-Fi card, a 2008 Mac Mini, and a little elbow grease to turn my home theater system into a slideshow displaying photos of a party at my home — live, as I was taking them. Here’s how I did it, and how you can too.
What you’ll need
- A home theater system in the same room as your party
- A Mac Mini (you might be able to accomplish this with a Windows HTPC as well, but there may be limitations — details on that later)
- A home wireless network
- An Eye-Fi card
- An Eye-Fi-compatible camera (most cameras are, these days)
- minor scripting voodoo
Fortunately for me, I already had half of this project done before I began, because I had been using a Mac Mini as a home theater PC for some time. While the 2008 Mac Minis didn’t have HDMI-out, I was able to run video out via a DVI to HDMI adapter, and audio out via the Mac’s mini-TOSLINK jack. With Plex installed, the Mac Mini becomes a rather formidable living room media solution. But I digress… the point is that a Mac Mini — even an older one — is ideal for this project.
If you don’t have a spare Mac Mini laying around, you can probably pick one up fairly cheap from the refurbished section of Apple’s online store, or you can try your luck with one of the many Windows-based HTPCs out there (yes, I realize that there are Linux-based HTPC solutions, but Eye-Fi did not work with Linux when I last checked, and that’s a crucial element here, as you’ll see in just a moment).
Regardless of the OS and hardware you choose, you will need a computer of some kind hooked up to your home theater and providing video to your television (unless, of course, you use one of those gorgeous 27-inch iMacs as your TV, in which case you have one less thing to set up).
With your HTMac/HTPC set up, now you have to establish a conduit for your photos to get from your camera to the computer. Fortunately, Eye-Fi makes this easy. First, you want to use the Eye-Fi manager software to configure your Eye-Fi card to transfer photos to a specific folder on your computer. It doesn’t matter where this folder is located, but I’d recommend starting with a fresh, empty folder, and placing it somewhere that’s easy to remember and navigate to.
Next, you’ll probably want to configure your Eye-Fi card to use Selective Transfer. This step isn’t strictly necessary, but I recommend it. With Selective Transfer active, the Eye-Fi card will only transfer selected photos to your computer, instead of every photo you take. Selecting a photo for transfer is as easy as pressing the “protect” button while viewing the photo on your camera. By using Selective Transfer, you ensure that only the best photos end up in your slideshow, rather than including all of those photos of people with their eyes half-closed, which you’d normally just delete and re-shoot.
It should go without saying that you also need a wireless network set up in your home for this to work. The Eye-Fi card can’t communicate with your computer unless they are both connected to the network.
Now that you’ve got photos flowing to your HTMac/HTPC, you need to display them. How you go about this will depend on which OS you’re running on your computer. While it’s true that both OS X and Windows have a screensaver that can display a randomized selection of photos from a specified location, there are limitations. For example, I have confirmed that the OS X slide show screensaver does not automatically refresh — that is to say, when the screensaver kicks in, the slide show that it creates contains only photos that were in the specified location at the time that the screensaver launched. Any photos added to the folder after the slideshow has begun will not be included in the slideshow. I haven’t had a chance to confirm conclusively that Windows’ “Photos” screensaver has the same limitation, but from what I’ve seen so far, it seems to work in the same way.
Fortunately, there is a simple solution if you’re on OS X. I threw together a simple AppleScript that addresses this is the simplest manner possible:
repeat tell application "ScreenSaverEngine" to activate delay 300 tell application "System Events" to key code 59 delay 2 end repeat
When launched, this AppleScript will trigger the screen saver, wait five minutes, simulate the pressing of a key (quitting the slide show), wait two seconds, trigger the screen saver again, and repeat until manually terminated. The end result is that the slideshow is effectively “refreshed” every five minutes (you can adjust the frequency of the refresh by tweaking the delay values). Save this AppleScript as an application, and you can put it on your desktop or in your Applications folder and launch it whenever you want your self-refreshing slide show to run. Now you need only set the slide show as your screen saver, point it at your Eye-Fi photos folder, configure your display options, and you’re set. When you want to quit the auto-refresh, just press a key or move your mouse to exit the slideshow, and quit the AppleScript from the dock.
Unfortunately, Here is where the OS X and Windows roads diverge. Windows does not provide any reasonable equivalent to AppleScript, so Windows users will need to find some sort of slideshow application that will get them around this limitation, or some sort of scripting/macro utility that will let you mimic the behavior of my AppleScript. Being that I no longer use Windows unless I really have to, I’m afraid that I don’t have any suggestions that will help Windows users over this last hump. If you have suggestions, please add them in the comments.
Putting it all together
Once all of these ingredients are in place, you’re basically done. Insert the Eye-Fi card into your camera and fire off a few test shots to confirm that the photos end up in the correct folder (remember to protect the photos if you’re using Selective Transfer), start up your AppleScript (or whatever you’re using for Windows) to launch the slide show and confirm that the correct photos are displaying, and that’s that. The HTMac/HTPC can do double duty as your party’s jukebox while it’s displaying your photos, if you like. You could even take this to the next level by using iTunes’ DJ mode to provide your party’s music, and allow your guests to request or vote on tracks via their iPhones. Welcome to the future.
Now… go get some beverages and snack foods, invite your friends over, snap some photos, and enjoy!
8 thoughts on “Geek Up Your Party With a Live-Updating Slideshow”
Gadgeteer Comment Policy - Please read before commenting
Andy, thanks for posting a very cool use of Eye-Fi.
There are some user-submitted solutions for getting this to work on a PC. Here’s a link to our forum: http://forums.eye.fi/viewtopic.php?f=9&t=1017&p=6342&hilit=slideshow#p6342
This idea could prove to be *very* embarrassing!! 😀
When I run it, it says ScreenSaverEngine not found. Any ideas? I’m on 10.7
Thank you so much for this! I have been looking for a solution for our wedding.
My only problem is that screensaver displays the pictures not long enough.
Is there a line we can add to the applescript that affects the time a slide is displayed?
Andy, you are great! Thank you so much for taking the time to post this!! Ever since I saw the EyeFi cards, I’ve wondered how to set up a live slideshow just like this! That little bit of scripting has made it possible, thank you!
I did change the delay from 300 to 100, as I want it to refresh faster. I would like to remove the brief flash of my desktop when it refreshes, but perhaps that’s asking too much.
I found this post last night, and I have a party to do tonight, so I got up early, made the little app in AppleScript Editor, and now I’m set! I’ll bring an old iBook with me to run it, hooked up to my projector, and it will rock the party! Pure awesome. 🙂
Oh, it is working on 10.7.5, but the iBook OS is older, so I’ll let you all know if it doesn’t work. If you don’t hear from me, it worked! This is so cool!! 😀 Thanks! -Fred
This seems like a great idea, however I could not test it on my system 10.8.2, since when I tell it to run, it asks for where the Screensaver Engine is. I went to the OSX folder where the screen savers are but could not find any of the slideshows.
If you don’t have EyeFi and/or want to allow your guests to take photos from their personal phones you could do this using a combo of MacBook and AppleTV (or Mac Mini) and a Dropbox account.
First go to http://dbinbox.com/ and create an alias URL for your account, such as dbinbox.com/MyParty, then link it to your Dropbox account. A new folder structure will appear in Dropbox: Apps–>dbinbox. On your MacBook set this Dropbox folder to your Mac’s photo screensaver. Last, just put up a sign telling your guests to upload party photos to the URL. Voila!
can you write the entire script or make a video tutorial, i cant get it to work because of syntax error