diff --git a/public/writings/i-want-code-defined-dashboards-so-badly.html b/public/writings/i-want-code-defined-dashboards-so-badly.html index 9f6c567..bfa02d6 100644 --- a/public/writings/i-want-code-defined-dashboards-so-badly.html +++ b/public/writings/i-want-code-defined-dashboards-so-badly.html @@ -45,17 +45,85 @@
At the time I'm writing this, I feel the most popular tools out there to do this work are Looker, - Tableau, Power BI. And all of them have something I hate deeply: You can't put a dashboard in - Git*. + Tableau, Power BI. And all of them have something I hate deeply: You can't put a dashboard in a + text file, and you can't version control it with Git [1].
++ Instead, these tools will always ask you to build your dashboard through point and click, drag and drop + interfaces, and hide them behind propietary formats or just store it in their platform and not let you + see the raw thing behind. +
+This causes an unfortunate set of limitations: +
+ As with all engineering work, there are no silver bullets and the design decisions these tools have made + do have some pros. For example, people can build a dashboard with these tools without knowing how to use + Git. The drag and drop approach lowers the barrier for analysts and business profiles so that they can + build dashboards without knowing much (or anything) about coding in strict syntaxes. +
++ But when you start to have a lot of dashboards (dozens, hundreds, even thousands), this approach doesn't + scale at all. And my experience has taught me that even a small organization can produce dozens of + dashboards pretty fast with basic data reporting needs. +
+Which brings me to my craving which heads this post: I want code defined dashboards so badly.
+Picture a tool (I'm going to call my dream tool) where you can define a dashboard in a plain text file + with some formal structure. The file + defines what data gets pulled in (queries), how it gets displayed (visuals and formatting), and some + other additional elements (filters and controls, text for descriptions, headers, etc.). Possibly, the + syntax also allows for metadata and comments, allowing the analyst to document the dashboard in the same + file, instead of in some external tool that will eventually drift away from reality because I'm lazy and + can't have two windows open at the same time. My dream tool is capable of reading this file and making a + dashboard out of it.
++ Okay, so let's assume my dream tool exists and works like that. What have we gained? A lot of things! +
+*You actually can put a Power BI dashboard in Git, but it's quite useless since the best format they - can offer you is a sea of unreadable JSON you would never dare to touch without Power BI desktop, - much less parse yourself.
+[1] You actually can put a Power BI dashboard in Git, but it's + quite useless since the best format they + can offer you is an ocean of unreadable JSON-strings-within-JSONs you would never dare to touch + without Power BI desktop, + much less parse yourself. No way to leverage Git properly with it other than commit and + rollback.