Google | Project Re:Brief

Fake Love

Our contribution to Google's Project Re:brief was one of Fake Love's first real creative technology projects in 2011. The project itself had two components - a specialized banner ad on the Youtube homepage, and 4 custom modified vending machines with interactive touchscreens placed in Cape Town,  Buenos Aires, New York City, and Mountain View.


People who interacted with the banner ad were prompted to select one of the 4 global locations, and then they were instructed to record a custom video or text message that would be sent to a machine that would dispense a free coke. Once they pressed send, the selected machine would light up and begin playing the classic jingle from the famous 1971 "Hilltop" Coca-cola ad. The vending machines were installed in public places like malls, so anyone walking by would be gently encouraged to touch the screen and trigger the process. Once touched, the recorded video or text message would be displayed to the user, and then a can of coke would fall out of the machine like magic. The rewarded user could then choose to record a video or text message there on the spot and send it back to the original sender who would receive it in an email.


Sounds like a cool idea, right? People loved it.


At Fake Love, I was tasked with the challenge of figuring out how to make a normal vending machine dispense a can of Coke when it received a message from the internet. I also had to figure out the ideal touchscreen/computer/camera/microphone/speaker to awkwardly fit into a huge metal refrigerator with a lot of other pieces and parts in it, and then go on site at each global location to set up the machine and train a local technician. Technical breakdown is below!

Technical Approach:

In 2011, this was an early project for Fake Love and many creative coding tools were still a bit rough around the edges. I was also at the beginning of my career as a creative technologist, so a lot of this involved learning many lessions as I went.

  • Software:
    • Display Application
      • Made with OpenFrameworks v0071
      • Communicated with the Arduino, did camera/mic grabbing and recording, video playback, and the whole sequence loop
      • Some initial tests were done with just an Adobe Air/Flash application, but it was too slow and limited for doing things like recording and playing back video.
    • Backend and Web Services
      • Communicated with the backend via a SQLite Database that both applications would access. This caused the occaisonal permissions problem with both of them reading and writing at once.
      • This Is Grow made the web banners and web backend portion of the project, including the Adobe Air app that would download the videos from their web service.
  • Hardware:
    • Mac Mini
    • Logitech C910 Webcam
    • Acer T23H Touchscreen (required a special $100 driver to work with OS X)
    • Cheap microphone + USB iMic converter
    • Arduino Duemilanove for controlling the pins
    • Basic cheap speakers
    • Some vending machines (various models) - did you know vending machines are fairly cheap? Only like $1500
  • Vending Machine Notes:
    • The hack for the machines to drop cans took a minute to figure out. I'm sure in some world with enough time and access to vendor spec sheets we could have learned how to work with the brain of the machine itself and control it safely, but we didn't have that luxury.
    • The hack worked like this for most machines:
      • Most machines had a special sequence of button presses, or a special hidden button that would allow for diagnostic/settings mode.
      • Once the price for all drink columns was set to Free/$0, the buttons on the front could be pressed freely and cans would fall out of a selected column
      • Luckily the machine buttons themselves were just wired with regular wires and essentially just completed a circuit (see photos)
      • Plugging the wires straight into an Arduino's digital I/O allowed for enough of a voltage switch from high to low that would simulate to the vending machine brain that a button had been pressed, and thus dispense a coke
      • HOWEVER, for the machines in Buenos Aires and Cape Town, their vending machines operated on a different voltage (12V instead of 5V) and fried an arduino the first time I tried the regular hack.
      • To solve the issues with 12V not triggering properly, we instead used a very basic relay switch and used the arduino to trigger that. I set up 4-6 relay switches on a breadboard, didn't even solder them, and just stuck the bare machine wires in there. As long as the machine wasn't jostled around too much, the fragile circuitry held together fine.
    • These machines are finicky. Many had issues consistently dropping cans and many would often get stuck and not dispense. There was likely something I was doing incorrectly when loading them, but I never determined the main issue.
    • We eventually started adding a basic IR distance sensor to the machine in the spot where the can would drop. This would allow us to determine if a can successfully fell, or if we needed to trigger it a second time. 
    • There was no reliable way to keep track of how many cans were in each machine, so the number had to be manually entered so that the machine would know when to advance the "button press" to the next column of cans.

 

Coke-machine-diagram
coke-vending-ux-flow

Selected Works

Polarizer ArtworkPhysical artwork with linear polarizers

TV TelescopeWatching TV from a mile away

Extruded ScreenFiber optic filament display

You're on TVLive TV face swap

i miss you, neighborConnecting local strangers and friends

Self Destructive BehaviorScreen that slowly breaks itself

Hold TimePersonal photo blitz

Movie Stickers100,000 stickers in a room

7up | Music Lifts You UpCommercial Work

Google | Project Re:BriefCommercial Work

Lexus | Trace Your RoadCommercial Work

IBM | Outthink Hidden ARCommercial Work

Samsung | Liquid CanvasCommercial Work

Color A SoundAnalog/digital Instrument

Fake LoveFormer Experience Design Company

Sonic SculpturesPersonal Projects

street_crtPersonal Projects

Music VideosCollaborative video art

Older WorkPersonal Projects

Older Live Visuals WorkAudiovisual explorations 2006-2016