Hercules

38
Hercules Interactive Data Visualisation on 100MP wall

Transcript of Hercules

HerculesInteractive Data Visualisation

on 100MP wall

Global Data Observatory

Global Data Observatory

641080p tiled

monitors

Global Data Observatory

130+MegaPixels of total resolution

The Problem

Each Visualisation is a bespoke application in GDO

Each new dataset and visualisation requires custom preparation and ad-hoc coding

The initial cost of data exploration is too high

The Solution

Visualise any data on the cave without any coding required

We want to make the incredible features of GDO accessible to all

Data agnostic visualisations: build once, work on any data!

What is Hercules?

A data visualisation platform custom built for GDO

It allows the user to seamlessly build multi-screen analytics dashboards

It’s a tool for teams to play and experiment with their data

Demo

Architecture

Global Data Observatory

Control

Server

Overview

Pipeline

Data Warehouse Control App Visualisation

• Upload any TSV or CSV dataset onto our platform via a tablet.

• Perform type inference and compute statistics

• Explore the data available and pick a dataset to plot

• Deploy visualisation to sections

• Filter the dataset

• See your data on the screen

Visualisation

D3.js

JS library for manipulating documents based on data

DD3

D3.js

DD3SignalR

Peer.jsD3.js

VisualisationData is sent to the browser instances of the visualisation app running on the cave nodes

DD3 analyses the data to determine the dimensions required

Data Points Rendered!

Dimensions are scaled to fit on the allocated screen space

1

2

3

4

Data Warehousing

Type InferencePlain DatasetParser

Rich Dataset

CSV

Row PruningDatabase

Data Warehousing

Type Inference

Integer

Floating

Bool

URL

DateTime

Text

Enums Special Case

Statistical Analysis• Prune Incompatible Rows • Compute statistics on each column

Min/Max

Mean

Median Modes

Var/StDev

Text

Database

Dataset

Rows

Miniset

Column Types and Statistics

Dataset Information

Control App

React Flux💙

Action Controller Model View

MVC

Action Controller

Model View

Model View

Model View

Model View

Model View

Model View

Model View

MVC

Action Dispatcher Stores Views

Action

the flux unidirectional cycle

Case Study

Editing a text field

Material Design

Team Management

Division of Labour• Project split into 3 ‘Pillars’ • 1 member assigned to each • Other 3 swap as required • Adaptive to changing workloads and different

challenges

All pillars progress at all times

Team Coordination

Challenges & Retrospective

• Large scale project • Platform • Inherited codebase • Exams • Learned new technologies

Conclusion

Conclusions

• Lots of new concepts (large group, Visual Studio, new languages/libraries)

• Great to work with the Cave

“ Hofstadter's Law: It always takes longer than you expect, even when you take into

account Hofstadter's Law.

Thanks!