I haven’t gotten properly stuck into observable - in what ways is it better than using a jupyter notebook?
I haven’t gotten properly stuck into observable - in what ways is it better than using a jupyter notebook?
But yeah I'd have to agree that Bostock is a beast.
The Jupyter documentation includes an example for importing other notebooks here: https://jupyter-notebook.readthedocs.io/en/stable/examples/N...
Observable does some things quite well for that use case:
-- Easier dependencies: no need for 'npm install', just 'require(...)'
-- URL publishing
-- Collaborative merge flow
However, Jupyter made some good decisions that make it win over Observable for our day-to-day data work:
-- Manual reexecution vs. automatic: when working with big data, outside APIs, etc., Observable's automatic reexecution is a non-starter
-- Fully open source, embeddable, and successful history of non-vc funding: Jupyter is organized and provided in a way companies ( who aren't Amazon ;-)) can rally around, evidenced by contributions by Bloomberg etc.
-- Access to underlying unix/windows env and multiple environments (multiple Python versions, ...). As much as I wish Observable's choice of JS could provide a viable data environment, and I've personally invested in making it so and the path to making it first-class is clear, we need way more gov/google/nvidia/etc. support.
Ultimately, for not-too-sensitive collaborative data work, we use Google Colab, then offline and sensitive commercial work via Jupyter (Graphistry ships with it preloaded for GPU dataframe & GPU visual graph analytics goodness!), and if we did more in JS tutorial land, Observable would be my first choice.
Yeah automatic re-execution sounds like a weird design choice. Think I'll stick with Jupyter notebooks for now...
while you're browsing: this is equally great :)
https://archive.nytimes.com/www.nytimes.com/interactive/2013...
Especially crazy that these work as well and quickly on mobile!