Our awesome customer, David Cook from Jut, graces the blog to tell us how he created an actionable product usage display with event tracking + Segment + Keen + LED lights. Read on!

What is an Information Radiator?

Now that companies are collecting tons of data on what users are doing in their products (you are collecting user data, aren’t you?), the challenge shifts from figuring out what users are doing to disseminating that information to the company.

Obviously, you can discuss the data you’ve analyzed with team members and summarize data at company meetings, but in those cases you’re usually just sharing a snapshot of historical data. If you really want to be a data-driven organization, you have to constantly beat the data drum and make data accessible to everyone at all times.

Enter the information radiator. Alistair Cockburn coined the term and defines it like this:

“An Information radiator is a display posted in a place where people can see it as they work or walk by. It shows readers information they care about without having to ask anyone a question. This means more communication with fewer interruptions.”

The most common information radiator is a wallboard – a TV that constantly displays information. However, humans have a natural instinct to tune out things that aren’t relevant.

If you’re not careful, your team might unconsciously start ignoring your wallboard. This is why, while wallboards are great for most kinds of data, it’s valuable to take advantage of alternate means of constantly communicating information to your team.

My data communication tool of choice are LEDs.

What’s So Great About LEDs?

LEDs add depth to your data visualization arsenal. They’re more engaging than a wallboard because they’re unusual. Everyone sees TVs on a daily basis, whereas few people see LEDs that actually display information rather than simply act as a source of light. You may be more constrained with the characteristics you can alter (color, brightness, and speed) but LEDs still provide plenty of flexibility to display meaningful information.

You can configure LEDs into a variety of shapes: individual pixels, arrange pixels into a matrix, or string a strip of LEDs together.

We use LED strips because they’re easier to setup and allow you to construct a larger installation that more people are likely to see. Specifically, we use Heroic Robotics’ LED strips and control them with the PixelPusher. This combination simplifies the act of controlling individual LEDs on the strip.

Displaying User Actions with LEDs

So now that you have some LEDs and data, you need to figure out exactly how you want to unite the two.

It’s best to measure and display the moments where users derive value from your product, so your team can strive to make more of those moments occur.

At Jut, the main way our users derive value from our product is by writing and running programs in our new language, Juttle, that retrieve and display data. Consequently, we fire an analytics event whenever one of our users takes this action. To visualize this, we decided to send a pulse of light down an LED strip for each of these events.

To give us the flexibility to use any tool to track product usage, we decided to implement Segment to control our event reporting.

Segment makes it easy for us to send these events to services like Intercom and Google Analytics with a single integration. We take advantage of Segment’s webhooks feature to send events to our own database, and use it to push data to Keen, where we get the LED signals from.

In our closet, we have a server that runs a java program. This program communicates with the PixelPusher over our network to tell it what to do with our two LED strips. Every minute the program pings Keen to request the timestamps and status of the Juttle programs run in the last minute.

The java program then plays back the last minute of Juttle program runs. In other words, the PixelPusher will send pulses down the strip at the same pace as the Juttle programs were run instead of sending the pulses all at once. That means, if you go to our website and run a Juttle program, one minute later a green pulse will shoot down the LED strip in our office like this:

Here is the repo if you’d like to check it out..

How We Use the Data

Unfortunately, like any program or SQL query, not every Juttle program runs perfectly. Sometimes they encounter a runtime error and fail. We want to avoid those, so when that happens, a red pulse goes down the strip instead of a green pulse.

You might want to send pulses for other actions as well. For example, we send an orange pulse down the strip whenever someone signs up for our beta. To differentiate it from the Juttle run pulses, we don’t rely on just changing the color, we also vary the speed that it moves down the strip. It’s half as fast as a typical pulse.

All in all, this creates a more lively atmosphere in the office. We can easily see how active our users are in almost realtime. If it seems like we’re experiencing an unusual amount of traffic, you can turn to our wallboard to see how the current level compares to historical levels.

What else do you think you could use LEDs for?

Let us know on Twitter @jut_inc!