So now that I’m working on Bothan for the remainder of my fellowship I am puzzling through what it is that distinguishes Bothan, and I figured it worth doing so out loud / in the open. Let’s consider how it is defined within the Roadmap
Bothan is a simple metrics storage and visualisation tool. Amongst other things, it powers the ODI dashboards. It provides a REST API for storing and retrieving time-series data, as well as human-readable views which can be customised and embedded in other sites, allowing it to be used for building dashboards. It is designed for open publication of metrics data and includes licensing metadata for simple generation of an Open Data Certificate.
The USP of Bothan is all there in the first line – a storage AND visualisation tool. There are plenty of OSS Dashboards out there but not many of them are also concerned with providing a way to store (and thus publish) data in addition to visualising said data. So let’s dig into this dual aspect of Bothan a little more.
storing and retrieving time-series data
Labs created the bothan-deploy repository to make the process of publishing data on the Heroku platform as painless as possible. The one button deploy sets up a Bothan instance on your Heroku account (you must sign up for heroku first obviously) and avails of the mLab sandbox database plugin. This will support up to 500,000 metrics, or put another way 500000 data points or entries of data. That’s how and where the data resides.
Bothan creates a RESTful API for whatever data you’re storing – which means that retrieving data from Bothan adheres or conforms to a recognised way of ordering data stored on the web. Bothan’s well crafted RESTful architecture means it interoperates with Zapier like a breeze.
That sentence might seem a little off to the non-developer but it makes sense when considering that everything written so far underscores Bothan’s machine-readable credentials. Bothan’s menu of human readable views seems to have emerged from the dashboards that Labs created for internal use by the ODI, with lots of the same ‘views’ repurposed within Bothan. To me this indicates a preference of emphasis for Bothan that factors into how Bothan co-exists alongside or competes with other dashboards. The menu of visualisations is limited – and there is perhaps a benefit to that in terms of the virtues of constrained interfaces (this seems to be a theme in Labs – Comma Chameleon has been analogised as markdown for CSV, implicitly signalling the utility of a constrained interface). It could also be a problem in terms of retaining users – if the visualisation they desire is not present in the menu maybe they’ll move on to another dashboard service. I see two rebuttals to that. First, by being a storage and visualisation platform Bothan has uses beyond simply visualising the information. Secondly, a limited menu of visualisations strikes me as an interesting way to kick start user contributions to the issue backlog: suggest a visualisation based on the data you want to store.
designed for open publication of metrics data
This is definitely the most interesting proposition of Bothan, the delineation of metrics data as a category of open data unto itself. Technically speaking there’s a distinction between time-series data and tabular data, exemplified in Bothan being a separate product to Octopub despite being kindred in spirit: both serving as ways for someone to take their first steps publishing open data. But I’ve also gotten the sense that metrics data may be a more palatable material to publish than other sorts of data. The best angle I have in on that is that metrics can represent an abstraction of an underlying dataset and as such metrics could be published as open data while preserving the underlying datasets status (or preferred status) of closed data. But honestly this is the aspect of Bothan that remains the most underspecified in my estimation.
That’s why I’ve written this post – to see if anyone else has ideas on how this functionality of Bothan can be put into dialog with wider open data dynamics. I’m hoping to delineate the ambition of or for Bothan to help guide my work on it.