My issue with Observable is that it appears to be the examples-resource for d3 [0], but you can't just copy-paste the code because it is designed to run in that framework.
And it's not like d3 is easy to use so that you can use it without examples, specially considering that changes between versions are often incompatible.
But apart from this, there's a lot of incredible graphics to find on the site.
100%. Was never able to get past the fact that it's slightly just not quite actual JS. Close enough to the base language that it seems they could have easily used JS, probably with some additional APIs for showing graphics.
That's one of the biggest features of Observable Framework compared to regular Observable: it's just vanilla JavaScript now.
Fair point, I hadn't made the distinction in my mind. Perhaps that resolves my previous qualms.
Yup, I find that incredibly frustrating -- it's a platform lock-in that any corp would be proud of.
I've had this gripe more with ObservableHQ notebooks -- great examples and a pointless resource all at the same time.
This framework effort seems to be a bit more open though (at least you can self-host), so I'm keeping an eye on it.
with alex garcia's dataflow it has been possible for some time to self-host observablehq notebooks without proprietary software: https://github.com/asg017/dataflow
i, embarrassingly, haven't tried it
This does not seem to be an issue with Observable (more an issue with d3 that it has not chosen to have copy-pastable examples elsewhere), but in any case this comment does not seem relevant to this post, as this post is precisely about how the new Observable Framework removes some of the earlier problems with Observable notebooks (“It’s all just standard JavaScript now—no custom syntax” etc).
Some community members have made available resources for converting Observable flavoured JS to vanilla (it mostly involves rewriting top-level cell definitions):
[0]: https://observablehq.com/@bumbeishvili/convert-observable-co...