27
Using Web Standards to create Interactive Data Visualizations for the Web Nicolas Garcia Belmonte - Dec. 2009

Talk Paris Infovis 091207132953 Phpapp01(2)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Talk Paris Infovis 091207132953 Phpapp01(2)

Using Web Standards to create Interactive Data Visualizations for the

Web

Nicolas Garcia Belmonte - Dec. 2009

Page 2: Talk Paris Infovis 091207132953 Phpapp01(2)

Agenda

• JavaScript InfoVis Toolkit Overview

• Web Standards, JavaScript and Graphics

• What’s next for the JIT (v. 1.2)

• What’s next for Web Standards (WebGL)

• Introducing V8-GL

Page 3: Talk Paris Infovis 091207132953 Phpapp01(2)

JavaScript InfoVis Toolkit

• Web Based Interactive Data Visualizations

• Multiple Graph/Tree Layouts

• Modular, Extensible, Composable

• Web Standards Based

Page 4: Talk Paris Infovis 091207132953 Phpapp01(2)

Graph/Tree Layouts

Page 5: Talk Paris Infovis 091207132953 Phpapp01(2)

ModularGrab only what you need

HyperTree

TreeMap

RGraph

SpaceTree

JavaScript InfoVis Toolkit

SunBurst

ForceDirected

Icicle

Page 6: Talk Paris Infovis 091207132953 Phpapp01(2)

Extensible

• Define custom Nodes and Edges

• Add Custom Animations (linear, Elastic, etc.)

Page 7: Talk Paris Infovis 091207132953 Phpapp01(2)

ComposableAdd Visualizations as Node/Edge rendering

functions to other visualizations

Page 8: Talk Paris Infovis 091207132953 Phpapp01(2)

Web Standards Based

Page 9: Talk Paris Infovis 091207132953 Phpapp01(2)

Web StandardsJavaScript

• Dynamic, Expressive, Powerful

• Support in all Browsers

• Large Community

Page 10: Talk Paris Infovis 091207132953 Phpapp01(2)

Web StandardsJavaScript: Language Features

• Dynamic

• Weakly typed

• Differential Inheritance

• First-class Functions

• Object Mutability

• Booleans as Defaults

• etc.

Page 11: Talk Paris Infovis 091207132953 Phpapp01(2)

Web StandardsJavaScript: 100% Faster

0

16.25

32.50

48.75

65.00

WebKit 3.0 WebKit 3.1 SquirrelFish SquirrelFish XSource: http://webkit.org/blog/214/introducing-squirrelfish-extreme/

SunS

pide

r ru

ns p

er m

inut

e

Page 12: Talk Paris Infovis 091207132953 Phpapp01(2)

Web StandardsEverybody wants to make JavaScript Faster

• Apple Safari - SquirrelFish Extreme

• Mozilla Firefox - TraceMonkey

• Google Chrome - V8

• Opera - Carakan

Page 13: Talk Paris Infovis 091207132953 Phpapp01(2)

Web Standards

HTML Document

Page 14: Talk Paris Infovis 091207132953 Phpapp01(2)

Web StandardsHTML5

Header

SectionForm

Image

Nav

Footer

• Audio

• Video

• Drag n Drop

• Canvas

• Storage

• etc.

Page 15: Talk Paris Infovis 091207132953 Phpapp01(2)

Web StandardsCSS3

Header

SectionForm

Image

Nav

Footer

• Gradients

• Text Effects

• Transforms

• Animations

• etc.

Page 16: Talk Paris Infovis 091207132953 Phpapp01(2)

Canvas“A Scriptable Image Tag”

Page 17: Talk Paris Infovis 091207132953 Phpapp01(2)

Canvas

<canvas id=”tutorial” width=500 height=500></canvas>

var canvas = document.getElementById(“tutorial”);var ctx = canvas.getContext(“2d”);

Initialization

Page 18: Talk Paris Infovis 091207132953 Phpapp01(2)

CanvasDrawing Shapes

ctx.fillStyle = “rgb(200, 0, 0)”;ctx.fillRect(10, 10, 55, 50);

ctx.fillStyle = “rgba(0, 0, 200, 0.5)”;ctx.fillRect(30, 30, 55, 50);

Page 19: Talk Paris Infovis 091207132953 Phpapp01(2)

Canvas

Benefits Weak Points

Good PerformanceSimple API

No notion of elementsCode gets too verbose

Page 20: Talk Paris Infovis 091207132953 Phpapp01(2)

Why JS + Canvas?

• Native Browser Technologies

• Seamless Integration

• High Interoperability

• No third-party libraries

• Access to a large community

Page 21: Talk Paris Infovis 091207132953 Phpapp01(2)

JavaScript InfoVis Toolkit Applications

Visualizing Linux Package Dependencies

Source: http://demos.thejit.org/example/rgraph/example1/

Page 22: Talk Paris Infovis 091207132953 Phpapp01(2)

JavaScript InfoVis Toolkit Applications

Visualizing Artist-Band Relationships

Source: http://demos.thejit.org/example/hypertree/example1/

Page 23: Talk Paris Infovis 091207132953 Phpapp01(2)

JavaScript InfoVis Toolkit Applications

Some (public) user Applications

ROOT project at CERN

Project at Macalester CollegeGame Stats at Dystopia

Neural Network Visualization

CRS Management UI

Page 24: Talk Paris Infovis 091207132953 Phpapp01(2)

What’s next for the JIT?

• SunBurst, Icicle and Force-Directed Visualizations

• Mouse Controlled Transforms

• And more...

Version 1.2

Page 25: Talk Paris Infovis 091207132953 Phpapp01(2)

What’s next for the Web?

WebGL

Already available in WebKit and Firefox nightlies (*)

Page 26: Talk Paris Infovis 091207132953 Phpapp01(2)

V8-GLWrite Hardware Accelerated Desktop Graphics with JS

http://github.com/philogb/v8-gl/

Page 27: Talk Paris Infovis 091207132953 Phpapp01(2)

Questions?

[email protected]

http://blog.thejit.org

http://github.com/philogb

http://thejit.org