#MAKE Friday - Ambient Cube

Late last year, I had begun thinking about some new ways to communicate information across my company. I am fascinated by a) taking information that you either rarely (or never) look at and making it more available, and b) bored with bar charts. 

There's a lot of ways to communicate information. But we seem to get stuck in the same ways old ways we have always used, because they seem simple, we've trained ourselves to use them, and so we reach for them out of convenience. But with the sheer amount of information available to us at any given time, putting more data into the firehose won't result in anything actionable or noticeable unless it's either truly compelling, or interesting enough to stand out. 

I was taken with the idea of the ambient orb, and began playing around with ways to build one myself. It took a little bit of finessing to figure out exactly how I wanted to set it up. The biggest challenge is to get enough light out of the LEDs to be visible in all situations. A single LED just isn't gonna cut it when the sun is up and shining through the window.  But just as importantly as the technical aspects, I was determined to make the object pretty. It had to fit into the ambience of the area I intended to put it - the lobby of a multi-million dollar scientific facility, surrounded by works of art and natural beauty. 

So of course, I turned it from an orb to a cube. 



The lighting was brightened by using a BlinkM MaxM LED - a stupidly bright RGB LED that is super easy to work with. I tore apart carefully disassembeled an old, non-programmable ambient orb to see how they had tackled the diffusion. Answer: frosted wax paper. Engineers are a practical people. The cube came from some $5 Amazon toy - I threw all the functional part of it away, and just kept the plastic cubey bit. 

Now for the base. I took a piece of burl buckeye that I had in my workshop, and carved back the suface to accomodate the cube. I haven't done much carving, but I love working with this wood. I've made some small box parts out of it in the past, and it is both light and dense (a great combination for woodworking, but a bitch on the sawblades). Best of all, it has a gorgeous natural grain that is warm and interesting. 



Never mind the rust on my chisel. My barn isn't hermetically sealed, and it's a constant battle with my steel tools. 

I routed out the underside of the block to accomodate the arduino board and components (I installed an ethernet shield on it as well), and drilled a hole through the center of the square cutout to slip the LED through. Then it was just a matter of plopping the cube into the slot. 

It still didn't look quite finished to me. I also knew I'd be putting it out into a rather sunny location. Even with the MaxM LED, in direct sunlight, it has to be pretty bright to be seen. So I grabbed a small sheet of stock rolled brass, and bent it into a shade. To keep with the artsy feel, I used a torch to discolor and oxidize the brass a bit. 

Added bonus: Fire! 



The little sketch I wrote for the cube can be found here - pretty straightforward (you will need the BlinkM_funcs.h and WebServer.h libraries as well). But you set the IP of the ethernet sheild, pass the color you want the cube to turn in standard RGB values via a webservice, and it shifts prettily to the next shade.

Several applications of danish oil to protect the base and And boom. We have ourselves a remotely programmable ambient cube, that can automatically be set to change as any metric we choose to monitor shifts. Here it's set to "purple." 



The idea for the metric is simple. We picked paper usage for the campus, because environmental stewardship is an important core value for our organization.  But we could've picked pretty much any goal.  If the cube is red, we used less paper yesterday than we did the day before.  If it's blue, we used about the same. If it's green, we used less. 

While we played with different and more complicated algorithms, the goal is just to do a little better every day. If we do that, it adds up to thousands of pages saved each year.  The numbers are easy - our print servers record every print job by printer, sender, page type, etc. anyway. All we had do to was setup a simple automatic comparison, and send out a little nightly web call to the cube. 

By putting it out in the lobby to be seen as people walk in each morning, it becomes both a visible reminder of our core values as an organization, and an opportunity to reflect on our choices. 'Oh. Today is a red day. Maybe I won't make as many copies of that report, and will just email it instead.'

But we said it better in a video - I put this together for internal communication. It explains the concept and the meaning. 



And there you have it. Information presented in an interesting fashion that becomes actionable, for less than fifty bucks and a few hours of effort to put together. 

And now, for a moment of geekery

New rule: If I have an electronic thingy (laptop, smartphone, tablet) in front of me, and you have an electronic thingy in front of you: you are not allowed to give me paper.

New rule addendum: If there is a projector in the room and you STILL try and give me paper, I get to kick you in the shins.

I'm head of IT for a biotechnology & reseach company. Which means I get to work with a lot of smart people. Smart people that have laptops and iPads. Smart people who still want to use their laptops and iPads to print out paper to hand to me. Me who also has a laptop and iPad. You get where I'm going. They're not evil. It's just habit. It's the same at offices everywhere. 

Once a year or so, my team does a comprehensive analysis of how much we spend on toner, printer maintenance, cost per page, etc, and we decide what to do about it. We print tens and tens of thousands of pages a week. We recently switched out all our printers for these really cool Xerox machines that run off of wax instead of traditional ink. Very green and cost friendly. And every print-out smells like a box of crayola. It's cool, and it saves us a bunch of money. But wouldn't it be even better if we reduced the amount of printouts we used in the first place? How many pages are printed each week that could be simply avoided? 1%? 5%? 10%? 

But other than kicking people in the shins when they make bad choices, how do you find a more gentle and elegant way to use that information more than once a year, and help people make good choices every day?

 A few years ago, a company was founded out of the MIT labs called Ambient Devices made a really nifty bit of kit called the Ambient Orb. It turned a metric into a color, and put it over in the corner of your visiion as a constant reminder. It's easier and more "ambient" than a website you have to log in to (hence the name).  And it's kind of a cool, interesting, and easy way to display information where details are less important than the general state. The beauty is in the simplifying the interface to a color that provides meaning to your metric.


Along with all that paper we consume, we also use a lot of power. We make and store biological material. We have to keep it cold.We have a lot of freezers. I mean, a lot. They use a lot of electricity. We're the single biggest consumer of electricity in the local city.  

We do a lot to make things more efficient, and have found all the big opportunies. Still, is there stuff we could do to reduce that by 1%? 3%? 5%? Probably. Switch off my monitor when I go home. Turn off the lights in the conference roomwhen the meeting is over. Those kinds of things. They add up. They accumulate into real savings, and real impact over time.  

But just like people who print stuff off, I forget to hit the switch on my way out the door.   I can log into my power company account and see my home energy consumption in almost real time, any time I want. But I don't. I check it once a month or once a quarter. The data is there. But I'm not using it to change my behavior on a daily basis because of the barrier to getting it. (which is pretty low, I must say). 

Goals to reduce waste and energy consumption by - for instance - 5% per year are pretty typical company aspirations. We're ISO 14001 certified. We have an environmental mission statement. We're officially green. But people still give me paper I don't want, and I still forget to turn off the lights. 

It got me thinking: What if we had one of those orbs at the front desk when you walk in. Green means we were on track yesterday for our 5% savings. Blue means we're between 96-99% of 'norm'. Red means we're using more paper, more electricity, more whatever than we want to use as a company. Would it change behavior to know that yesterday was a bad day, and today you could help offset it? Without impacting the business success, would it be more effective than getting an email from me once a year ranting about printers?

And how rewarding would it be to see it move back from 'disappointed red' to 'healthy green'? 

That kind of feedback mechanism is simply missing in a lot of things - we know we want to achieve X, but we have little way to know if we're doing so real time. Wouldn't it be great if we could find a way to leverage the data we already have in a way that provides that kind of visual cue to our success & commitment? 

So, I followed up on with Ambient Devices. They stopped selling the orbs commercially a few years back, but they'd 'be happy to make a special production run for me, if I committed to buy 3,000 or more. 
Um. No. 
But how hard could this freaking be? It's a glass ball with some colored lights in it. Controlled by some simple little input string. They were selling about twenty bucks worth of parts for a hundred bucks and a monthly subscription fee. 
Now I felt challenged. No way could I not build one of these things. Thanks to the internet, I found out I was not even close to the first.

I read through a few of these DIY versions, and picked up an Arduino board last week (a programmable microprocessor board), and spent some time futzing with it. It's generally programmed in C, with a few additional functions specific to the board (things like controlling the voltage going to a specific pin, or using the serial in/out for different ways of relaying information to the board). It's an open source standard, and the creativity that people have shown with it knows no ends. It looked (and really is) easy enough to pick up and have a go. But you should have seen me trying to remember how to use resistors - I'm a computer guy. The last time I did this kind of thing was in a EE class in university more than a couple of decades ago. 

Once I sorted it out with a simple connection of 3 LEDs (red, green and blue), I set up a sketch to control the intensity of each, interpreted by a standard webformat color (e.g. #ffffff), input over a terminal screen (the arduino is connected to my laptop via a usb cable).  (that's purple (#ff00ff), green (#00ff00) and red (#ff0000) below). 

I popped off the hook end of a frosted glass christmas ornament, and dropped it over the LEDs and voila. Not a bad ambient orb.

I added an ethernet shield, and gave it an IP address, and added a little web service to allow it to be controlled over the network, plugged into any network port. The LEDs weren't quite bright enough, so I added a BlinkM MaxM LED, which has about a hundred-fold intensity. Boom. Pretty up the base and we're in business. 

Now I have an indicator that I can set up in common areas as a simple, visual reminder of how we're doing on our goals. We could use this for anything, of course - it's easy to configure for any metric you care to track. I'll be happy if I stop walking out of meetings with more paper than I walk in with. 

Now if only I could figure out how to fix a string of Christmas lights without having to throw the whole thing out and buy a new one.