🏠 back to Observable

Are IDE-like functions, or integrability with IDEs, on the roadmap, or is focus presentation?


There’s a number of features that I think could help make Observable fantastic for developing not just demo-scale presentations and visualizations but also games and larger applications.

Some of these features are probably vital no matter what (strong git support and easy diffing/merging, embeddability), others aren’t as important (tools for managing large numbers of cells and multiple notebooks, more text editing features).

Can you give an idea of what scale of application you’re interested in supporting, any you’ve ruled out?

Notebook version history
Teaching and using Observable in classrooms

The answer is… all of the above? It’s only been a few weeks since Observable was launched, and thus we haven’t ruled anything out in the potentially years-long roadmap. Depending on what you see as IDE-like features, there are a few threads about our plans - auto-completion, code formatting - about text editing improvements, as well as ideas about exports, embeds, and revision history. What order those land in, if any of them get cut or replaced by other priorities, and whether they’re similar to other editing experiences, well - that’s all up in the air, because we’re at a very early stage and don’t want to overplan for an always surprising future.


Good to know! I’m working on a larger-scale project (probably 1-severalKLOC) and I’ll write up my wishlist.


Also, I assume you’re making no stability guarantees right now? (specifically dom structure/classes/naming, since I want to make an extension to demo some ideas).


Yeah, we’re committing to keeping stdlib stable, not breaking existing JavaScript code, and not radically changing the styling of output cells.

But the markup surrounding cells, and the UI of the rest of the application/website is subject to arbitrary change, since notebooks can’t access the top frame, and modifying, for instance, inspectors or the cell margins, is definitely in ‘voiding the warranty’ territory. You can do it, sure, but it isn’t part of the API surface.


Would be really nice if there was version history of a notebook. Like in the case I tinkered and broke a previously working notebook, I could restore to a previously working state. There’s tons of use cases for versions and why having it would be helpful. We are programming, maybe even git is relevant as the strategy.

Is it possible to diff two draft notebooks?

Today we released notebook history! You can browse through versions, revert, fork from them, and so on, all with live notebooks.