How widely can Observable be applied?

Hi all,

I am working on my doctoral thesis and would appreciate your opinion on how to bring more interactivity into my work; and whether Observable is the right tool.

The first question is what to do when javascript is not the best suited technology for the analysis at hand. For example, when the analysis involves heavier numerical work, or is based on existing code in another language. If results are “frozen” in json then loaded into the notebook, this prevents interactive exploration. Making a server-like interface to any non-javascript components would adds a lot of developing overhead that I’d avoid if possible.

The second question is how to scale to book-size project. Is it as simple of linking multiple notebooks? or are there intricacies I am overlooking?

Thank you.

what to do when javascript is not the best suited technology for the analysis at hand. For example, when the analysis involves heavier numerical work, or is based on existing code in another language.

This really is going to depend on the details. Most numerical work could in principle be done in JS, it’s just a pain to do it because the language makes it cumbersome, and library support isn’t there.

Here’s a notebook where I heavily use data exported from Matlab as JSON (using some hacky one-off serialization code on the Matlab side):

how to scale to book-size project

I think Observable can be used for long works, but to keep things accessible you might want to put some explicit effort into the high-level structure part, separately from the work per se; I’m not sure if the Observable “collections” feature alone will cut it for navigation of a book-type project. Alternately you could embed Observable cells into a separate website (though this may make the code less accessible for readers).

Consider making a “table of contents” notebook which links out to the separate pieces. You can import interesting diagrams or interactive doodads into your TOC notebook if you want to add some sizzle. You might have to store common infrastructure code in some “appendix” notebook.

2 Likes