D3.js + Websocket for live Web applications

Not all JS is bad. True story!

Loïc Hoguin - @lhoguin

Erlang Cowboy and Nine Nines Founder

Background

LeoFS

LeoFS sponsored project

Inspired by Bigwig

Not a fork of Bigwig

Alien

Shaman

Events storage

Alien Shaman demo

D3.js

Data-Driven Documents

Standards-driven

What can you do with D3.js?

To this end, D3.js provides

Enter and exit

Table update example

__data__

Protocol

Events forwarding

Client commands

Identifying frames

Dynamic JS event handlers

Receiving events from JS

Specially crafted HTML...

Plus a simple mapping function make...

A developer really bored

This is truly powerful

I mean, seriously, powerful

And this is just the beginning

Client-side calculations

Make the client do the work

Tricks required

Update __data__ in the DOM

Multiple destinations

Use case: modals

Modal solution

Retrieving data

Assigning data

Graphs

Accumulate data

Simplistic graph example

Library of graphs

Future of Alien Shaman

To start

Tracing

Attach to any node

And the most important part

I think we're done

Questions?