drio

Observable: in between excel and coding

Observable is a useful tool for prototyping web projects. You can think of it as a mix of codepen and python notebooks but oriented towards data visualization. Observable extends javascript providing a set of primitives to facilitate certain tasks that are common in data visualization. The most important extension is probably the addition of reactivity. Traditionally you'd add reactivity in your vanilla javascript projects using a library like rxjs. In Observable, that paradigm is baked in the runtime. Changes on variables propagate through the system and all the references get the updated version of the library. That is very convenient when writing data visualizations.

When approaching the task of building a data visualization there seems to be a dichotomy: either you use high level tools (like tableau or excel) or you write some code in your programming language of choice (I happen to think that the web is a great environment for this task). I think Observable sits in the middle (maybe closer to the code side). It is a great alternative for someone that wants the expressiveness of coding but without some of the complexities and friction that come with it (specially when you start), like tooling and getting familiar with the programming language you want to use. There is no free lunch, you will still have to learn Javascript and the other technologies that power the web: css, html, svg, canvas, etc...