SlideShare a Scribd company logo
1 of 97
Download to read offline
@byrichardpowell
byrichardpowell.co.uk
Thursday, 28 November 13
Thursday, 28 November 13
Manage your infrastructure
Thursday, 28 November 13
Monitor your devices
Thursday, 28 November 13
Monitor your services
Thursday, 28 November 13
Thursday, 28 November 13
25 TB of data per month

Thursday, 28 November 13
The backbone logo inside a rickshaw

Time Series Graphs
with Rickshaw, D3 & Backbone.js
Thursday, 28 November 13
Why talk about
data visulisation?

Thursday, 28 November 13
Spot Patterns

gapminder.org/world/
Thursday, 28 November 13
Spot Patterns

gapminder.org/world/
Thursday, 28 November 13
Diagnose Problems
Thursday, 28 November 13
Funny picture

Data visualization can be beautiful
Je Thorp: Word Frequency
Thursday, 28 November 13
“Data Visualization is awesome”
this kid, 2013

Thursday, 28 November 13
Overview

1.
2.
3.
4.

SVG, D3, Rickshaw
Data Visualisation Design
API Design
Backbone

Thursday, 28 November 13
1. SVG, D3 & Rickshaw

Thursday, 28 November 13
“A modularized language
for describing two-dimensional vector
and mixed vector/raster graphics in XML”
w3.org/TR/SVG/

Thursday, 28 November 13
Elements & Attributes
Thursday, 28 November 13
website

snapsvg.io
Thursday, 28 November 13
pablojs.com/
Thursday, 28 November 13
raphaeljs.com/
Thursday, 28 November 13
Why D3 & Why Rickshaw?

Thursday, 28 November 13
Mike Bostock
@mbostock

Thursday, 28 November 13
examples?

github.com/mbostock/d3/wiki/Gallery
Thursday, 28 November 13
Horizon Graphs
square.github.io/cubism/

Thursday, 28 November 13
Calender Heatmaps
bl.ocks.org/mbostock/4063318

Thursday, 28 November 13
Rickshaw is feature rich
* Line
* Stacked
* Scaled Series
* Custom Axis Formatting
* Custom tooltips
* Disabling/enabling series

Thursday, 28 November 13
Rickshaw is feature rich
* Scatterplots
* Bar charts
* Mixed charts
* Logarithmic & Absolute Scaling
* Annotations

Thursday, 28 November 13
xkcd.com/418/
Thursday, 28 November 13
2. Design

Thursday, 28 November 13
“Above all else show the data”
Edward Rolf Tufte, 1983

Thursday, 28 November 13
bit.ly/183R6sT
Thursday, 28 November 13
bit.ly/183R6sT
Thursday, 28 November 13
Data to Ink Ratio: Classes

Thursday, 28 November 13
Data to Ink Ratio: Classes

Thursday, 28 November 13
Data to Ink Ratio: Classes

Thursday, 28 November 13
Data to Ink Ratio: Classes

Thursday, 28 November 13
Data to Ink Ratio: Legend Classes

Thursday, 28 November 13
Use only the classes you need
to create the design you want

Thursday, 28 November 13
“Having the data is not enough.
I have to show it in ways
people both enjoy and understand.”
Hans Rosling

Thursday, 28 November 13
Enjoy

Thursday, 28 November 13
“A state of joy, creativity and total involvement,
in which problems seem to disappear
and there is an exhilarating feeling
of transcendence”
Mihaly Csikszentmihalyi

Thursday, 28 November 13
This is not enjoyment
this is not flow
Thursday, 28 November 13
To maintain flow
Be Defensive
Thursday, 28 November 13
Defensive: Check for errors

Thursday, 28 November 13
Defensive: Quarantine

Thursday, 28 November 13
Defensive: Give Feedback

Thursday, 28 November 13
Being Forgiving
Thursday, 28 November 13
Understand

Thursday, 28 November 13
Numbers or Patterns?
Thursday, 28 November 13
19th Nov 2003
Physical Memory Used: 200

Both?
Thursday, 28 November 13
Comparisons?
Thursday, 28 November 13
Custom Formatted Tooltips

Thursday, 28 November 13
Tooltip Events

Thursday, 28 November 13
Synchronized Tooltips

Thursday, 28 November 13
Synchronized Tooltips

Thursday, 28 November 13
“You’ve got a good piece of software
when people use it for purposes
it was never intended for.”
Clay Shirky

Thursday, 28 November 13
We Never Expected
Thursday, 28 November 13
Multiple Axis
bit.ly/17lKqn5

Thursday, 28 November 13
Multiple Axis
bit.ly/17lKqn5

Thursday, 28 November 13
Generating a scale

Thursday, 28 November 13
Generating multiple scales

Thursday, 28 November 13
Using the scales

Thursday, 28 November 13
Scaling the axis

Thursday, 28 November 13
xkcd.com/231/
Thursday, 28 November 13
3.Metrics

Thursday, 28 November 13
“How do we request graph data
for metrics ... ?”

Thursday, 28 November 13
Metrics can be
simple, complex or dynamic
Thursday, 28 November 13
Metrics can be combined
Thursday, 28 November 13
“How do we request graph data for
multiple metrics at once
that can nest many levels deep
and are dynamic?”

Thursday, 28 November 13
Structured as JSON

Thursday, 28 November 13
JSON in a URL

Thursday, 28 November 13
The graph data

Thursday, 28 November 13
xkcd.com/518/
Thursday, 28 November 13
4.Backbone

Thursday, 28 November 13
Thursday, 28 November 13
tabs

graphs

Thursday, 28 November 13

alerting

plugins
Thursday, 28 November 13
graphs

date

Thursday, 28 November 13

graph

graph
Thursday, 28 November 13
graph

options

Thursday, 28 November 13

series

legend

axis
Thursday, 28 November 13
tabs view

graphs view

graph views
options view

dropdown views

Thursday, 28 November 13
Zombies: Cool for fancy dress
Events
and not cool for code
the mediator pattern

Thursday, 28 November 13
Using mediator events

Thursday, 28 November 13
Using Collection Events

Thursday, 28 November 13
Zombies: Cool for fancy dress
not cool for code

Thursday, 28 November 13
Managing Views

Thursday, 28 November 13
Be Defensive
Thursday, 28 November 13
Dealing with time (badly)

Thursday, 28 November 13
Dealing with time (badly)

Thursday, 28 November 13
Dealing with time (badly)

Thursday, 28 November 13
Dealing with time (badly)

Thursday, 28 November 13
Thursday, 28 November 13
Dealing with time

Thursday, 28 November 13
xkcd.com/290/
Thursday, 28 November 13
www.serverdensity.com/
bit.ly/1erNJNz

@byrichardpowell

Thursday, 28 November 13

More Related Content

More from Richard Powell

Designing user on-boarding
Designing user on-boardingDesigning user on-boarding
Designing user on-boardingRichard Powell
 
Data Visualisation with D3 & Rickshaw - Berlin Expert Days
Data Visualisation with D3 & Rickshaw - Berlin Expert DaysData Visualisation with D3 & Rickshaw - Berlin Expert Days
Data Visualisation with D3 & Rickshaw - Berlin Expert DaysRichard Powell
 
Time-Series Monitoring Graphs with D3 & Rickshaw
Time-Series Monitoring Graphs with D3 & RickshawTime-Series Monitoring Graphs with D3 & Rickshaw
Time-Series Monitoring Graphs with D3 & RickshawRichard Powell
 
Angular js, Yeomon & Grunt
Angular js, Yeomon & GruntAngular js, Yeomon & Grunt
Angular js, Yeomon & GruntRichard Powell
 
Real-time collaborative drawing
Real-time collaborative drawingReal-time collaborative drawing
Real-time collaborative drawingRichard Powell
 
Angular.js, Yeomon & Grunt
Angular.js, Yeomon & GruntAngular.js, Yeomon & Grunt
Angular.js, Yeomon & GruntRichard Powell
 
Draw stuff at @jsnortheast
Draw stuff at @jsnortheastDraw stuff at @jsnortheast
Draw stuff at @jsnortheastRichard Powell
 
HTML5 Canvas @SuperMondays, Newcastle
HTML5 Canvas @SuperMondays, NewcastleHTML5 Canvas @SuperMondays, Newcastle
HTML5 Canvas @SuperMondays, NewcastleRichard Powell
 

More from Richard Powell (9)

Designing user on-boarding
Designing user on-boardingDesigning user on-boarding
Designing user on-boarding
 
Data Visualisation with D3 & Rickshaw - Berlin Expert Days
Data Visualisation with D3 & Rickshaw - Berlin Expert DaysData Visualisation with D3 & Rickshaw - Berlin Expert Days
Data Visualisation with D3 & Rickshaw - Berlin Expert Days
 
Time-Series Monitoring Graphs with D3 & Rickshaw
Time-Series Monitoring Graphs with D3 & RickshawTime-Series Monitoring Graphs with D3 & Rickshaw
Time-Series Monitoring Graphs with D3 & Rickshaw
 
Angular js, Yeomon & Grunt
Angular js, Yeomon & GruntAngular js, Yeomon & Grunt
Angular js, Yeomon & Grunt
 
Real-time collaborative drawing
Real-time collaborative drawingReal-time collaborative drawing
Real-time collaborative drawing
 
Front end-performance
Front end-performanceFront end-performance
Front end-performance
 
Angular.js, Yeomon & Grunt
Angular.js, Yeomon & GruntAngular.js, Yeomon & Grunt
Angular.js, Yeomon & Grunt
 
Draw stuff at @jsnortheast
Draw stuff at @jsnortheastDraw stuff at @jsnortheast
Draw stuff at @jsnortheast
 
HTML5 Canvas @SuperMondays, Newcastle
HTML5 Canvas @SuperMondays, NewcastleHTML5 Canvas @SuperMondays, Newcastle
HTML5 Canvas @SuperMondays, Newcastle
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

D3 Rickshaw and Backbone in 50 minutes