Dashing - A dashboard framework
shopify.github.com
shopify.github.com
I have good news for you all. Dashing will be evolving soon to support multiple backends. Already there are ports being written for python, perl, .net, and also better rails integration. Stay tuned!
P.S: Sorry for the downtime. Was not expecting frontpage. While I work on getting it stable, enjoy this screenshot: http://cl.ly/image/321Y2V361X1r
I know its part of shopify organization now, but there is a lot of interest I know I would love to contribute to other backends as well
We have a platform that really needs this, so I'm looking forward to using it immensely.
I'm not a Win 8 fan by any means, but I think this dashboard looks good. The bright/contrasty colors are exactly what are needed to broadcast metrics across the office.
The real meat of the project is the underlying messaging that passes your data from the server to multiple clients.
You write a job that calls send_data, and Dashing takes care of the rest. There's room for as much customization as you like on the front end.
But I don't understand why native graphite widgets aren't in dashing. These two projects (graphite + dashing) are literally made for eachother.
That's why we want people to submit third-party widgets and jobs. We can't cater to all environments ourselves, but others can help out and share their own.
Adding support for Google Analytics and Excel in the next two weeks!
The main difference is that Dashing is focusing more on current KPIs and Metrics. While we believe that those are crucially important, sometimes they just aren't enough for people who have data that's too much to get condensed down to a single indicator.
It's an alternative to ember, angular, knockout, backbone, and all those other client side MVC frameworks.
Its main advantage is that it should be very familiar to a Rails developer. The APIs are very close to what you'd find in Rails, so it should be quick to get into it. Shopify, which is built in RoR, now is completely client-side powered by Batman.js. The project was extracted from that.
does batman.js have anything like angular's custom directives? are there any other features/advantages a possible adopter should know about besides the similarity to a Rails API?
EDIT: or perhaps phrased a slightly different way: why did you guys decide to create this instead of just using angular or one of the other existing options? or was this created before those options existed or had reached a mature state?
At Dashing's core, it's just a really simple way to fetch data and send it to the client. What you do with that data, and how you display it is up to you. Hopefully the default layout and widgets act as a good starting point.
At its core, Dashing is just a promise that all your data makes it to all your dashboards.
We built a second application (in Rails) that collects data from various sources, stores and transforms it, and then exposes it via API for dashing to use.
So in our case, dashing is a neat presentation layer and it serves its role very well.
Looking at something like http://dash.social-biblio.ca/torontolibrary on a sub 1080p monitor is less than optimal.
The thinking was that displaying exactly the same data on a TV, desktop, and mobile device isn't ideal. The dashboard is designed specifically for the display. If a mobile version is needed, then the relevant widgets can easily be put into a new, mobile-optimized dashboard.
The same could be achieved with carefully designed media queries, but I feel that separate dashboards do the job better.
The browser on SmartTVs really suck, and also don't support 1080p for some reason. Since the tv SDK is html/js, I built a super simple app that can point to any Dashing instance, and even use the remote control to switch between dashboards! Super handy.
I will be releasing that functionality soon as a plugin for Dashing.
That being said, I'm working on decoupling the frontend and backend, which will see implementations in other languages.
The current implementation requires you to send an array of hashes with the x and y co-ordinates you want to plot.
Here's the example job where you can see it in action: https://github.com/Shopify/dashing/blob/master/templates/pro...
Also, it's not really a UI kit. Although it comes with premise widgets and styles, these are just suggestions. The real meat is how the data gets to your widgets, letting you do whatever you want with it. That structure is the core of Dashing.
However, there is a decoupled version in the works with the integration guidelines you mention.