Awesome! I’ve wanted something like this in the newsroom.
Adam Hooper

The biggest differences are probably the emphasis on client-side computation and rendering (there is no separate kernel process; the results are computed and displayed directly in the browser) and the reactive, non-linear programming model (where cells are automatically re-evaluated in topological order whenever their inputs change, rather than manually re-evaluating cells in the linear order of the notebook).

These changes together should make it easier to build expressive, interactive applications. You don’t have the latency of a round-trip to the server on every interaction, and you can access the browser’s rendering capabilities (HTML, SVG, Canvas, WebGL) directly from your notebook.

This approach does introduces some complexity when it isn’t possible to push all your data and computation down to the client. For “big data” or “big compute”, you’ll need a network API for remotely initiating the desired computation and returning the results. There is work to do here, but I believe even in the case of big data there is an opportunity to enable greater interactive exploration (say, working with small random samples as a preview). The ability to do client-side computation is in addition to whatever you do on the server.

I also hope the client-side approach will make analysis code more portable, as there is nothing to install to run a notebook. That is true already of cloud-based notebooks, but fewer resources are required if the computation happens primarily on the client. And it becomes easier to explain insights interactively if your reader can run your code live. They can potentially fork your code for further active reading, too.

The concept of importable notebooks is new, too (AFAIK)… In toto there are myriad subtle details on top of the general concept of a notebook for exploratory data analysis, so I am eager to get this into people’s hands and see how they use it!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.