The Holiday Party Hack
For this year’s holiday party at The Working Group, I helped build something special to spice up the party – a live, music-synced slideshow of the evening, powered by a nearby photo booth. Take a photo with your friends and loved ones, then see it show up on the big screen seconds later.
To take the photos, we mounted a Canon Rebel T2i with an Eye-Fi card on a tripod in front of a great backdrop. A generous serving of props was provided for people to play with, and the room was well lit.
Also significant – the photo booth had a glass wall on one side, making it easy for partygoers to notice the fun to be had inside, while still allowing for a little bit of separation from the cacophony outside.
Finally, to allow partygoers to trigger their photos themselves without needing someone behind the camera, Brian Gilham and I built a huge, industrial-looking remote with a massive green button. In reality, we just wrapped the camera’s tiny remote in a larger enclosure and physically lined up the remote’s button with the plunger of a larger button.
The Eye-Fi card in the camera synced its photos automatically with a nearby Macbook Pro.
To get the photos on the screen, a ridiculous number of steps were used. Hazel, running on the Macbook Pro, copied the photos from the Eye-Fi card’s folder into a dedicated folder in Dropbox. A Node.js app running on a Rackspace cloud server connected to the Dropbox API and received real-time updates whenever new photos were placed in the Dropbox folder. This app downloaded the high-res photos from Dropbox, used Imagemagick to crop, scale, and rotate them appropriately, and streamed them down to all connected browsers.
This complicated chain of events made it super simple to build the software – by piecing together pre-made components like Dropbox, Hazel, and BeatDetektor, most of the work was already done. Some extra functionality even came for free – for example, by sharing the Dropbox folder with select people at the party, candid photos could be uploaded from people’s phones directly to the projector screen.
By the end of the night, more than 350 photos – 1.5GB of data – had been processed by the hack and made it to the big screen. At one point, so many photos were taken in quick succession that the server load spiked to 38 and crashed hard – bringing with it forever.fm, my “infinite” radio station. Despite the small technical hiccups, the hack turned out wonderfully and was a huge success.