Last time, I wrote about how neat I thought the Ducksboard app was. I found a nice little project over on github that wrapped up the update components of the api pretty well. So I could easily create a dashboard, and configure my application to push data to Ducksboard using a .NET component with nuget support and coding techniques I’m used to.
I started playing and noticed that the Dashboard API (used to create Ducksboard dashboards, not update them) wasn’t implemented, and I kind of needed it. We have a product that could use a dashboard, and I wanted the dashboard functionality to go something like this:
App starts up, checks to see if there’s a Ducksboard dashboard for client x. If not, create it, populate it with widgets, and then go on doing work stuff, occasionally updating the Ducksboard dashboard with metrics, etc.
All this creation stuff happens at ducksboard with their Dashboard API.
The Dashboard API can be used to manipulate all objects found in Ducksboard: dashboards, widgets, external accounts, public access tokens and so on.
I contacted the author of the Ducksboard API for .NET to see if he was working on this api, and he wasn’t, so I coded up what I needed trying to stick with the original authors api design as much as possible, submitted a pull request, and now it’s part of the project. What the heck did we do before OSS?
Anyhow, there’s some awkwardness in the code there (mostly due to my limited knowledge of json serialization, but also due to some constraints of their api), but it is working pretty nicely if you know what you want to do with their api. For example, the following few lines of code creates a dashboard with a leader board component :
One thing I’m grappling with is the long term viability of using Ducksboard for corporate dashboards. I’m exploring the idea, but am waiting to see if our clients will go for a super nice, accessible-from-anywhere dashboard, with reduced complexity on in house servers, and all of the benefit that that brings, or if they think it’s too risky to send out data to a third party… For now, I’m happy to have it there as an option for those that want to use it.