Introduction: Photo Booth With a Live Slideshow

This is a project I did to set up a photo booth at an event for my school. We had the photo booth set up in one corner and a projector set up with a slideshow of the photos on the dance floor. The photo's were added to the slideshow right after they were taken and they were also added to an album on Picasa. We were on a tight budget so this doesn't use anything you probably don't already have or could borrow without much trouble.

The quick jist of it is this: On a Mac, use Photo Booth to take the pictures and use a python script to upload them to Picasa and dropbox. On a Windows machine use FastStone Image Viewer to show a slideshow from a dropbox folder. Lastly, use a mouse with remapped buttons for the start button.

To set up the booth and slideshow you'll need these things:
Hardware:
1. A computer running Mac OSX
2. A computer running Windows (both computers will need internet access) 
3. An external monitor
4. A USB mouse
5. A webcam
6. A projector for the slideshow

Software:
1. A python script I wrote
2. Google account (If you have a gmail address you have a Google account)
3. FastStone Image Viewer: www.faststone.org
4. USB Overdrive: www.usboverdrive.com
5. A Dropbox account and Dropbox installed on both computers: www.dropbox.com
6. Photo Booth.app should be on the Mac

Step 1: Python Script (Don't Be Scared! You Don't Need to Know Anything About Python)

First you'll need to set up the script on the Mac.

The python script you'll need is attached to this step. Download it, rename it slideshow.py, and make sure you save it to your home directory. There are comments in the file to explain setting it up, but there are a few things you'll need first:

1. The Google Data Python client. Just go to http://code.google.com/p/gdata-python-client/downloads/list and download the latest version (at the time of this writing it's 2.0.16). Extract the files and open up the folder it extracted to. Once in there go to the 'src' folder and copy the two folders there (gdata and atom) to your home directory. See images. 
2. A Dropbox folder for your pictures.
3. A Picasa album to put your pictures into. (Albums must contain a picture so just upload a dummy image that you can delete later)

The only change to the python file are adding you album name and Dropbox folder location. 

After you make the changes to the script you'll need to open Terminal to run it. (You can find this at /Applications/Utilities/Terminal.app)  Type "python slideshow.py" and hit return to run the script. First it should ask you for you Google email and passord. Then it will say "Photo booth started!" and then just sit there waiting for new pictures. When a picture is taken with Photo Booth, it will say "New pics... ...combined... ...uploaded!"

You should be able to test it at this point by taking a 4 picture set with Photo Booth and then looking in your Dropbox folder and your Picasa album for the pictures to show up. When you're actually using it at the event, you can press cmd-h to hind Terminal. When you're done with the photo booth you can just close the terminal window and the script will stop running. 

The last thing you need to do is set your computer to never go to sleep. Go to System Preferences -> Energy Saver and change both "Computer Sleep" and "Display Sleep" to "Never."

Step 2: Set Up Photo Booth

I wanted the screen people saw in the booth to look really clean so I hid the dock and the menu bar when Photo Booth was active (this is optional, if you don't care about it you can skip to the last paragraph). You can do this by editing the plist file for Photo Booth. The only problem is that you don't have permission to edit Photo Booth.app so there are two options:

Option 1 (the easer way):
Make a copy of Photo Booth.app to somewhere other than your Applications folder
Follow the instructions here using the copy of Photo Booth: lifehacker
Make sure you're pointing to the correct copy of Photo Booth in the script 

Option 2:
Use terminal and a command line editor (like vim) to make the changes to the plist file. That way you can use sudo to get the permissions you need. Use the life hacker link above to find the changes you need to make. If this makes no sense to you just use option 1.

I also made my desktop gray and moved any files there to a different place. Plug in your webcam and put it on top of the monitor. Photo Booth should automatically detect it and switch to using it over the iSight camera. If it doesn't you can select the input my clicking on "Camera" in the menu bar. Lastly, make sure you select the 4 picture mode when you start up Photo Booth.

Step 3: Set Up the Start Button

For the Button you'll use USB Overdrive (www.usboverdrive.com ) to map one of the mouse buttons to the enter key.

First go download and install USB Overdrive which will add a pane to System Preferences. Open the System Preferences and go to USB Overdrive. Click on "Any Mouse, Any Application" and select "New Duplicate Settings..." Then select Photo Booth for the application and hit ok.

Now you want to maped the buttons to keys the Photo Booth uses (namely the Return key).
I mapped them like this:
Left Button -> "Do nothing"
Middle Button and Right Button -> "Press Key" and then select "Return" at the bottom

You could map one to the Esc key to use a a cancel button but I feel like that takes away from the photo booth atmosphere. :P

I set the mouse facing "backwards" in front of my external monitor like you can see in the picture. I taped over the bottom of the mouse to keep people from messing with it and I used a little double-stick tape to keep it from sliding around when people pressed the button.

Step 4: Slideshow Set Up

Now you'll need to use the computer running Windows. 

First set up Dropbox:
If both computers are yours then you should already have the slideshow folder in your Dropbox. Otherwise you'll need to share the slideshow folder with whatever Dropbox account is on the Windows machine. To do this, Right/Ctrl click on the slideshow folder on the Mac and select "Dropbox" -> "Sharing Options..." This should open up Dropbox in your browser and you can share the folder by putting in their email address. I think they'll need to open up their email and confirm the shared folder before it will show up in their Dropbox. 

Go download and install FastStone Image Viewer (www.faststone.org ). 
Open up FastStone and navigate on the left to the Dropbox folder. Once you find it, select it (still in the left pane) and press 's' to start a slide show of images in that folder.

Plug in the projector and have it mirror your screen. Ta-da! You have a slideshow! 

Step 5: Final Set Up

You can see how I had it set up in the picture. I had my laptop under the table and you can see the webcam on top of the monitor. I had my laptop logged in to new user account with very strict "Parental Controls" to keep anyone from messing with it. I also used goo.gl  to get a QR code for the Picasa album so people could go look at their pictures right away. At the beginning of the event there was a curtain but it fell down in the middle. Luckily, no one seemed to mind being silly without the curtain. 

The other half of the room was a dance floor where we have the projector showing the pictures. The theme of the event was Las Vegas so I added some random Las-Vegas-themed pictures to the Dropbox folder so there would be something to show before very many people had taken pictures in the booth. That also kept the first person's picture from awkwardly staying up for a long time. Later in the night I deleted them from Dropbox via my phone so there were just booth photos.

The photo booth made the night so much fun! Good luck with yours! 

Nostalgia Electrics Ultimate Party Challenge

Second Prize in the
Nostalgia Electrics Ultimate Party Challenge

MakerBot Challenge

Participated in the
MakerBot Challenge