Advertising prides itself on disruption. But what if you could disrupt advertising?
This Christmas we got into the holiday spirit by creating a live, interactive installation that allowed the public to disrupt us as we worked.
We hacked Electric Muscle Stimulation units and hooked them up to the Internet via IP cameras. Key members of our agency were then connected to the EMS units, and the Internet via a live stream.
The public could watch our day and disrupt it at will with the click of a button. Users chose a stream, clicked the ‘Disrupt’ button, and watched as the EMS instantaneously zapped us, interrupting our ability to continue the task at hand.
For each ‘disruption’ we donated $1 to The Factory, a local community centre with a long history of supporting socially and economically disadvantaged local residents.
The interactive webcast lasted more than 4 hours, raising a grand total of over $5500. We achieved precious little work, but succeeded in spreading Christmas cheer in spades.
The EMS hardware was custom built to be controlled via MIDI protocol. We designed it to put out pulses of 60v maximum, but we are mostly working with a third of that, sending 20 pulses a millisecond. The engineer opted for a battery operated system, running off 8 AA’s, mitigating risk of mains surge.
To control the device we built a patch in MAX/MSP, designed to receive the “trigger messages” sent from the Internet.
Our ‘disruption’ web interface was built with Backbone.js for view rendering and UI interactions and switching video streams. It connected to the server via Socket.io to listen to broadcast events (zap), and to trigger a zap.
We used a Single node.js server hosted on Heroku to manage queues and handle Socket.io connections. This server would receive and validate a ‘zap’ from a user, and then trigger a broadcast event which all users/clients were subscribed to.
Once a message was received, the socket server converted it to OSC format in order to communicate with MAX/MSP, and transmit that message over UDP protocol to MAX, subsequently triggering the EMS device to deliver the shock to the desired user. This happened all within milliseconds.