Kscope17 Conference Analytics Part 3: Analytics & JavaScript Visualization

Matrix Agent Phone

Editor’s Note

This year, Red Pill Analytics was the Analytics Sponsor at ODTUG Kscope17. Our company motto is #challengeeverything – so we knew we wanted to do something different and unexpected while at the conference.
What we eventually landed on was creating Analytics Stations using IoT technologies to show how an old school object, like a rotary phone, can be repurposed and turned into an interactive device.
Part 1 focuses on hardware.
Part 2 focuses on software.
Part 3 focuses on Analytics & JavaScript Visualization
Kscope17 also used beacon technology to analyze conference attendee activities. Red Pill Analytics pulled that information through a REST API and told the story of Kscope17 using Oracle Data Visualization.

All of the relevant code for the project that is discussed below is open sourced via MIT license and can be found at: https://github.com/RedPillAnalytics/matrix-agent-phone

In the first post we built the hardware for out IoT phone and in the second post we configured the Raspberry Pi to act as a kiosk and run an Electron framework desktop application. With the idea that Electron would be the primary codebase for our project: to load, transform, and display our data. As well as to handle hardware interaction with the IoT phone.

The first thing to know about Electron is that it is essentially a website running chrome less with native OS hardware and filesystem access. A perfect candidate for rapid development with easy styling and powerful feature sets because it allows use of D3.js (a powerful javascript visualization framework, https://d3js.org/) and other javascript visualization frameworks to design amazing displays of data, whilst also leveraging a large base of libraries for sourcing and transforming data.

In our visualization we used D3.js and Chart.js as well as some custom HTML, CSS and JS for the circular tiles.

Our data was gathered via the AWS JavaScript SDK (https://aws.amazon.com/sdk-for-node-js/) and specifically via Amazon Athena (https://aws.amazon.com/athena/) which allows you to make SQL calls against and Amazon S3 JSON based data lake.

You may also like

Leave a comment