top | item 13062998

Cyclotron: A web application for constructing dashboards

351 points| severine | 9 years ago |cyclotron.io

112 comments

order
[+] agentgt|9 years ago|reply
I would like to share some thoughts on this based on experience of being a crusty old enterprise developer. The dashboard problem keeps coming back. I think the time might be finally coming for some dashboard framework to actually succeed.

A dashboard framework has been tried many many times. Here are some old ones just on the top of my head:

* Shindig aka OpenSocial aka Google Gadgets

* J2EE portlets

* OpenUSS

I'm not sure why Shindig aka Google Gadgets failed but one of the complaint we had on a product that I helped build that used Shindig is that business users did not want the complexity of customizing a dashboard. That is hard coded panels were good enough.

I guess just like many tech stuff (slack/irc, wiki) the timing and execution just wasn't right. I think now that might change given the plethora of devops, data driven biz, and generally improvement in tech awareness.

It would be nice if Cyclotron had some sort of spec (particularly language agnostic) but I guess that failed hard for the above.

For my own small company we use Kibana (the old one that doesn't require NodeJS), Grafana, and Jenkins.

Yes we use Jenkins as a dashboard. Jenkins is actually shockingly a good place for a dashboard because every time we build/deploy or kick off some kind of job we see the current status of stuff. I'm not sure why cloudbees hasn't taken advantage of this. I honestly think it is the best place to put devopsy like dashboards.

The other nice thing about Jenkins besides it actually kicking things off is the notification. IMO notification is almost more important and more useful than dashboards. The two should be not be far apart but for some reason in most systems they are.

[+] doublerebel|9 years ago|reply
I totally agree about combining notifications with the dashboard. I built up Godot2 [0] to solve this for myself. It can take any metric, including metadata, and stream to notifications via Slack, email, SMS, as well as the dash.

The incoming events have a spec, like Riemann, and is compatible with Graphite. Godot2 also has it's own mini query lang [1], which allows for easy selection of events for the dash, e.g.

  service =~ 'health/machine/disk/%' and status = 'ok'

[0]: https://github.com/nextorigin/godot2-dash

[1]: https://github.com/nextorigin/riemann-query-parser

[+] bigger_cheese|9 years ago|reply
I work in an industrial manufacturing plant. My Manager is always going on about dashboards almost every week I hear something like "I'd love to see this on a dashboard" (usually referring to something on an existing printed report). He has been saying this for years and no usable dashboards have ever materialized.

I think the biggest issue is no one in our organisation has a clear idea what a 'dashboard' is exactly and how people are supposed to use them.

For some people a dashboard is a static page that gets refreshed periodically. I.E. "Lets show the current line speed in big bold 48pt font size and auto-refresh the webpage every 15 seconds."

For other people a dashboard is something interactive (drill down, selectively trend values, modify trend scales on the fly etc).

So there has always been this tension between the two use cases and we always end up with these halfhearted things (usually built using some BI package like COGNOS) which are the worst of both worlds.

At the same time a dashboard has never really been in high demand. So I think people like my manager have really failed to articulate the value a dashboard would supply.

The most promising thing I have seen recently is "Coresight" by OSISOFT (we use their PI plant historian system pretty extensively). They gave a demo that integrated control system type information (Conveyor status's, Flow meter readings, Tank levels etc) with location derived GIS data to show realtime updating maps etc which I thought was pretty cool.

[+] oblio|9 years ago|reply
Jenkins: the duct tape and WD40 of software automation.
[+] tokenizerrr|9 years ago|reply
How do you deal with Grafana having no isolation? Do you deploy a new instance per client? Each user has full access to all datasources from what I've seen.
[+] chocolatebunny|9 years ago|reply
Are there any nice Jenkins plugins for making a decent dashboard?
[+] wrkronmiller|9 years ago|reply
How does this compare to something like Grafana? https://github.com/grafana/grafana
[+] coredog64|9 years ago|reply
I like Grafana. I use Grafana. I've got Grafana open in another tab right now. For all that, Grafana ain't all that and a bag of chips.

Grafana is very hard to extend with new visualizations. It uses "flot", a JavaScript library that hasn't seen a commit in Github in 2 and a half years. The documentation is poor.

There is definitely a need for dashboard software that allows for more complex custom visualizations -- I'll be looking closely at this.

[+] baumandm|9 years ago|reply
Hi, Cyclotron developer here. I think it's fair to say Cyclotron is a bit more open-ended in terms of what you can build, whereas Grafana dashboards are a bit more structured and tend to look more similar. While Cyclotron provides common widgets and dashboard functionality, it also makes it easy to add custom HTML, JavaScript, CSS, etc. This broadens the potential use cases quite a bit. The downside of being more open-ended is that it doesn't provide the same level of rich interactivity out of the box, which Grafana does.

Additionally, when Cyclotron started, it supported pulling data from a handful of different data sources, whereas Grafana was focused on Graphite. Grafana has definitely come a long way in the last year in this regard though.

[+] weego|9 years ago|reply
Can I just take a moment, and I apologise up front for singling you out for this one, to say how much I hate comments like this, even more that they get upvoted.

There's always some arbitrary software mentioned that is often barely related even tangentially and expect someone else to reply with the info.

If you want to know how it differs, YOU look it up and if the outcome of that research is interesting enough YOU post it. Don't expect other people to do it for you, or worse, make it so that the creator of something that might not even be the one linking it feels like they have to justify why they open sourced something.

[+] joneholland|9 years ago|reply
Most teams at Expedia use Grafana now. Cyclotron was built back before Grafana existed.

¯\_(ツ)_/¯

[+] rmanalan|9 years ago|reply
[+] sebnukem2|9 years ago|reply
I love Atlasboard because it's simple and you can do anything, anything at all. The only limit is your imagination. Welcome to Atlasboard.

Seriously now I wonder how Cyclotron compares.

[+] ausjke|9 years ago|reply
this one looks good and it uses postgres
[+] tlrobinson|9 years ago|reply
Disclaimer: I work on Metabase.

Another open source option: Metabase http://www.metabase.com/

We support most SQL databases and a bunch of others, plus upcoming support for Google Analytics.

[+] StavrosK|9 years ago|reply
Why MongoDB for what is pretty much a front-end :( What's wrong with SQLite?
[+] dom0|9 years ago|reply
"The path of MongoDB is often the same: first the primary DB, then the configuration store, then it's finally removed" - (friend of mine)
[+] mrkmcknz|9 years ago|reply
There seems to be a plethora of these open source dashboard builder systems.

I just want to pay for a hosted version that isn't going to be $1k monthly and require me to build "plugins" to do something that is akin to an API call.

[+] dkural|9 years ago|reply
I want it to be a $1K/m so they can stay in business and build a sustainable thing I won't have to replace. That's still way cheaper than spending 1/4th of an engineers time per year on an open source dashboard.
[+] aartur|9 years ago|reply
>I just want to pay for a hosted version that isn't going to be $1k monthly and require me to build "plugins" to do something that is akin to an API call.

Sorry for a shameless plug, but you might check something that I built and launched today [1] as I felt exactly the same pain point.

[1] https://monique.io

[+] Mahn|9 years ago|reply
InfluxDB + Grafana is a super easy combo to set up (two binaries, no dependencies) and it's very low maintenance once it's up. If you are looking for something that's both affordable and hassle free it's a pretty good alternative, even if self-hosted.
[+] doublerebel|9 years ago|reply
I've considered offering a hosted version of Godot2/Riemann+dash. What would be your main data sources? Would you pay $100/mo?
[+] cultureulterior|9 years ago|reply
Librato. Unfortunately, their free offering has stopped, even though that was my main way of converting people into using them
[+] hackcrafter|9 years ago|reply
Looks like a hosted equivalent of GeckoBoard[0], which I have used successfully for uptime and key metric boards that are displayed in common room dedicated TV screens etc.

One key is getting decent render performance on low-spec hardware (i.e. a Rasberry Pi). Not something you usually think about when building/evaluating a web app, but those low-spec "boxes" crawl on most modern web-sites.

Yet there shouldn't be any reason why a dashboard couldn't be rendered on them!

I wonder how Cyclotron performs with it's JS heavy front-end on those types of dedicated dashboard devices?

[0] https://www.geckoboard.com/

[+] ape4|9 years ago|reply
Forgive my ignorance... what makes a dashboard different that a regular webapp?
[+] vomitcuddle|9 years ago|reply
A dashboard is a web app displaying aggregate data - usually on something like a digital signage display at a company's office - often includes 'vanity metrics' like web traffic data, Git commits, social media feeds, CI builds, etc.
[+] wiremine|9 years ago|reply
Nice! Some quick feedback:

* I'd default to the "light" theme, especially if you're presenting it against dark background. It will highlight the content better. * You could use some whitespace between the widget titles and the content. The text is sliding into the graphs. * Might be nice to use more than two colors for the graph content, or at least make one of them different from black, which is also the color used used for the tables and titles.

[+] _7fvc|9 years ago|reply
This scared me a little bit. We've been doing a similar product https://vida.io. I think we've got a lot further with many components and dashboards, see https://vida.io/explore. At the same time, I'm pretty excited to see someone has similar vision about custom data visualizations.
[+] zorbash|9 years ago|reply
To be honest I don't understand why should a dashboard framework need MongoDB to display widgets from external sources.

[shameless plug] We're also building an open-source dashboards framework https://github.com/kittoframework/kitto

[+] mrcactu5|9 years ago|reply
I like how you can change the Cascading Style Sheets pretty much on the click of a button. I am a bit behind the time, but I do remember Square's Cube to be good for time-series.

https://github.com/square/cube

Those can be embedded into dashboards

[+] kfk|9 years ago|reply
On a side note, any site like HN for data systems, BI, dashboards?

Edit. To be clear I mean forums where business intelligence, data science, dashboard folks hang out. I work with Tableau and they have a big community, I am looking for sites less tableau centric...

[+] _ao789|9 years ago|reply
How is this different from potential alternatives like Geckoboard, Ducksboard and all those? Is it essentially not just another one?