The rectangle behind you

The Ignite talk that changed room colours

Marcin Wichary
The rectangle behind you
2 min readMay 29, 2021

--

This is a five-minute Ignite talk I gave at ORD Camp 2019:

I got excited about the idea of using the room’s ambient lights after seeing a demo of the light setup and console in the conference room at Google in 2018, and witnessing that room change colours:

I thought it’d be fun to use that capability, so I reached out to the event technician, Nicholas Carroll, to ask him if we could collaborate on a talk.

Eventually I came up with a script talking about ambient colours in technology. But since Nick was in a different city, I had to create two artifacts:

  • a spreadsheet that showed the cues and general ideas
  • a reference video, with Hue lights roughly showing what I was after

Nick helped me with fine-tuning a lot of this and adapting it for the room, whose lightning capabilities were much more sophisticated. He added some light animations, and note how in the talk I’m lit differently to be always visible… with one slide being a crucial exception.

(Note: We couldn’t make the room completely black, because emergency exit signs had to remain illuminated. Steve Jobs movie, anyone?)

To synchronize my slide deck and his script, we went an old-fashioned route. I just had a quick countdown timer at the beginning, so Nick knew to start his programmed routine at the right moment.

That’s it! If it helps, the snippet of code I used to control my hue lights was this:

function changeLight(lightNo, lightData) {
let oReq = new XMLHttpRequest()
oReq.open(
"PUT",
`http://192.168.7.238/api/ACVASCN7N-muRklx8jmHwfa5NP7QSf3xTAMSrzKG/lights/${lightNo + 1}/state`
) let data = {
on: true,
bri: Math.round(lightData.bri * 254),
hue: Math.round(lightData.hue * 1.0 / 360 * 65535),
sat: Math.round(lightData.sat * 254),
transitiontime: 10, /* x100ms */
}
oReq.send(JSON.stringify(data))
}

Thank you so much, Nick!

The rectangle behind you, a series of articles about interactive presentations.

By Marcin Wichary (@mwichary)

--

--