background preloader

Envision.js

Envision.js

Dance.js Cubism.js Time Series Visualization foo7.6 bar−6.2 foo + bar1.4 foo - bar14 Cubism.js is a D3 plugin for visualizing time series. Scalable Cubism fetches time series data incrementally: after the initial display, Cubism reduces server load by polling only the most recent values. Effective Cubism also scales in terms of perception: small multiples aligned by time facilitate rapid comparison. Area (120px)7.6 Area (30px)7.6 In contrast, horizon charts reduce vertical space without losing resolution. Horizon, 1-band (120px)7.6 Horizon, 2-band (60px)7.6 Horizon, 3-band (40px)7.6 Horizon, 4-band (30px)7.6 By combining position and color, horizon charts improve perception: position is highly effective at discriminating small changes, while color differentiates large changes. Flexible Cubism is data-source agnostic. Want to learn more?

Flot: Attractive JavaScript plotting for jQuery D3.js gka/chroma.js Cubism Mike Bostock Square, Inc. * for monitoring of production systems How do we use visualization? Anomaly detection - observe abnormal activity Capacity planning - extrapolate non-linear trends Crisis diagnosis - see interactions between services System design - don’t guess; decide empirically What are the benefits of visualization? Faster diagnosis - reduce impact Discovery of unexpected behavior - prevent downtime Increased situational awareness - make better decisions Or: The strengths & weaknesses of human perception. Why is visualization hard? Data is not information - transform data to make it meaningful Some visual channels are less effective - favor position Integrality is hard to avoid - three dimensions max. Aspect ratios matter. Stacking makes middle layers hard to read. Garish colors can be hard to see. Load and render data incrementally. Make better use of modern browsers. Combine position and color to reduce vertical space. A small library, not a system. Why a context? CPU (10s) Network (10s)

Leaflet Raphaël—JavaScript Library API Design One of the development tasks I do most often is designing the API for a reusable component. The components are usually for iOS (though sometimes they’re for OS X), and are invariably GUI controls or views of some kind. I’ve designed literally dozens of component APIs over the years, including for clients like Apple, and I’ve learned quite a bit about the process. I periodically release open source components too, and the feedback I’ve had has helped me put together a set of guidelines for API design that I’d like to share with you. This is an important topic, whether you’re an open source contributor, or working as part of a team on a large app, or just creating your own software. Just like the first launch experience of an app, your API is part of the first impression that a developer will have with your code, and will have a huge impact on whether they use it or throw it away. APIs are UX for developers. Desirable qualities IntuitiveForgivingFrictionless The developer interface It’s fine.

arbor.js Protovis Protovis composes custom views of data with simple marks such as bars and dots. Unlike low-level graphics libraries that quickly become tedious for visualization, Protovis defines marks through dynamic properties that encode data, allowing inheritance, scales and layouts to simplify construction. Protovis is free and open-source, provided under the BSD License. Protovis is no longer under active development.The final release of Protovis was v3.3.1 (4.7 MB). This project was led by Mike Bostock and Jeff Heer of the Stanford Visualization Group, with significant help from Vadim Ogievetsky. Updates June 28, 2011 - Protovis is no longer under active development. September 17, 2010 - Release 3.3 is available on GitHub. May 28, 2010 - ZOMG! October 1, 2009 - Release 3.1 is available, including minor bug fixes. September 19, 2009 - Release 3.0 is available, including major performance improvments, bug fixes, and handy utilities such as scales and layouts. Getting Started How does Protovis work?

Related: