Americas

  • United States

The Gearhead Toolbox: Dashboards and visualizations

Reviews
Mar 24, 20174 mins
Software Development

There are an incredible number of products and services in the dashboards and visualizations domain and today I've chosen three particularly interesting projects

tools toolbox
Credit: Thinkstock

In this issue of the Gearhead Toolbox I’m covering dashboards and visualizations. There are an incredible number of products and services in this domain and today I’ve chosen three particularly interesting projects …

Cachet: A Status Page System

As our businesses become evermore complex and simultaneously faster moving, communicating the status of services and activities is crucial to keeping things moving and minimizing confusion. It is also often on of the least well-executed functions. Enter the idea of corporate status and incident tracking dashboards of which Cachet, a free, open source status page system is a great solution.

Cachet, released under the BSD 3-clause “New” or “Revised” License, was written in PHP (5.5.9 or later required) and works under Apache, Nginx, or Caddy. It requires Composer and works with MySQL, PostgreSQL, or SQLite. In operation, Cachet lists your service components along with both current and historical incident reports and you can customize the look of your status page. Incidents can be posted using markdown either directly via the Web interface or by using the extensive and well-documented JSON-based API.

Cachet also provides metrics, has localization (ten languages are currently supported), two factor authentication (it’s compatible with the Google Authenticator app), and subscribers can be notified of status changes via email. A great feature of Cachet is that its Web interface uses the Bootstrap framework so it’s fully responsive and looks great on tablets and smartphones. 

For installation details you’ll need to go to the Cachet GitHub repo and the publishers, Alt Three Services Limited, also provide installation support starting at a (crazy low, low) price of $149 with discounts for education and non-profits. This is a fantastic tool and really easy to install, configure, and use. Highly recommended.

Lightning: Interactive Data Visualization

While a status page is great for basic updates, when you want to show more complex information, such the scope of equipment outages in a large network, you’re going to want to use a visualization and that’s what Lightning was designed for.

Lightning, released under the MIT license, is a complete data visualization system that:

… provides API-based access to reproducible, web-based visualizations. It can be deployed in many ways, including Heroku, Docker, a public server, a local app for OS X — and even a server-less version well-suited to notebooks like Jupyter. It comes bundled with a core set of visualizations, but is built to support custom ones. / Lightning can expose a single visualization to all the languages of data science. Client libraries are available in multiple languages, including [Python, Scala, JavaScript, and R] with more coming soon.

A collection of example Lightning visualizations is available. Very impressive.

Dashing: A Dashboard Framework

Since we’re talking about displaying information I’ll include Dashing which describes itself as “The exceptionally handsome dashboard framework” and it is! As of 2015, Dashing maintenance ended but as it’s been in production and polished for years, it’s stable and usable. Dashing, created by Shopify, is free, open source software released under the MIT license and was based on Sinatra:

…a free and open source software web application library and domain-specific language written in Ruby. It is an alternative to other Ruby web application frameworks such as Ruby on Rails, Merb, Nitro, and Camping. It is dependent on the Rack web server interface … Sinatra is small and flexible. It does not follow the typical model–view–controller pattern used in other frameworks, such as Ruby on Rails. Instead, Sinatra focuses on “quickly creating web-applications in Ruby with minimal effort.” – Wikipedia

Dashing builds on this framework and its features include:

  • The use of pre-made widgets or you can create new widgets with SCSS, HTML, and CoffeeScript.  These widgets use data bindings to keep things DRY (“Don’t Repeat Yourself”) and simple, powered by batman.js (which is also no longer under development).
  • An API to push data to dashboards or you can make use of a simple Ruby Domain Specific Language for fetching data.
  • A drag and drop interface for re-arranging your widgets.
  • The ability to host dashboards on Heroku in less than 30 seconds.

This is an amazing piece of engineering and it would be hard to recommend its use if it wasn’t for its existing large and enthusiastic community that provides advice, support, and a stream of new widgets.

Comments? Thoughts? Drop me a line then follow me on Twitter and Facebook. And sign up for my new newsletter!