13 ms·
That's a bit like complaining that there are examples on codepen. I'm super grateful that they provide such good documentation, which is second to none, in a n
by j-pb 5y ago
That's a bit like complaining that there are examples on codepen.
I'm super grateful that they provide such good documentation, which is second to none, in a nicely explorable environment.
- whimsicalism 5y agoThe difference is that examples in Codepen are easily reproducable in another environment. d3, on the other hand, has converted most of their examples to Observable, which requires extensive research to convert back to JS (in the best case) and in the worst case requires reverse engineering the runtime. I'm not the only one with this opinion, there are plenty of others who have struggled through similar issues and discussed it. "The process of converting an Observable notebook to standalone html and/or js is clearly not as simple and copying and pasting. The use of Observable notebooks for all D3 examples has made the introduction to the library much more challenging for this reason." [0] [0] https://stackoverflow.com/questions/53155957/convert-d3-observable-to-standalone-webpage-like-blocks-org https://stackoverflow.com/questions/53155957/convert-d3-obse... [1]: https://talk.observablehq.com/t/i-want-to-learn-d3-i-don-t-want-to-learn-observable-is-that-ok/1957 https://talk.observablehq.com/t/i-want-to-learn-d3-i-don-t-w...
- macNchz 5y agoYeah I encountered this problem recently as someone who was once reasonably familiar with d3 and came back to it after several years away. I find myself wanting to start with a working example I can riff off of more in d3 than with many other tools I've used, so I totally understand the appeal of interactive examples in Observable but find it super frustrating and cumbersome when it comes to actually rolling what I'm working on into an existing application.
- j-pb 5y agoI work with both D3 and Observable full time. The claim that one has to "reverse engineer the runtime" is simply absurd. The people that complain about D3 on observable always turn out to have taken neither the time to understand Observable nor D3 and are looking for a way to just copy paste something into their codebase, without understanding it, and without any willingness to really learn the tools they are using. Which would have never worked in the first place, because D3 is not a plotting library like vega or observables plot, it's a library library, building material from which you can build your own bespoke visualisations. Observable is in essence reevaluating the entire code with each "requestAnimationFrame", no fancy diffing a la react or other magic, if it runs in observable, it will also run in your code as a static thing. Copy paste the cells out of observable, prepend them with a "const" and you're done, not more work than removing and rewriting the boilerplate that's in every codepen.
- ronyeh 5y ago> taken neither the time to understand Observable nor D3 and are looking for a way to just copy paste something into their codebase, without understanding it, and without any willingness to really learn the tools they are using. That's how many of us learn, by dipping our toes into a new SDK by copying and pasting into our bare HTML/JS page and tweaking things to see what happens. Eventually we will get around to reading the full documentation. I have made d3 examples and played around with the toolkit since back when it was in its infancy (called protovis or something). It has definitely become more and more difficult over the years for a beginner to jump into. (Background: I have met Mike since I got my PhD from the hci/graphics lab at Stanford, but we did not overlap.)
- j-pb 5y agoYou make my point. What better environment to learn and twiddle, than a reactive, constantly reevaluating interactive notebook?
- hu3 5y agoWhatever environment each user prefers. Being softlocked into Observable is not a pro. That's like trying to force every vim user into Jetbrain IDEs (both are great, not trying to start a flamewar here). Sure an IDE will have more features (like Observable vs simple HTML file), but it's important to understand different people have different ways of doing things.
- j-pb 5y agoWe're talking about a javascript repl here, don't blow it out of proportion. The things transfer trivially between the envionments. If having a javascript repl is such a show stopper for learning D3 for you, maybe learn javascript first.
- themulticaster 5y agoBut if the example transfers trivially, why is there no convenient "download example project" button that offers an archive containing all the necessary files I need to run the example?