7 ms·
It seems as if everyone in that thread is too polite to make what seems to me to be the obvious comment: This all seems like exactly the behaviour you would ex
by gjm11 5y ago
It seems as if everyone in that thread is too polite to make what seems to me to be the obvious comment:
This all seems like exactly the behaviour you would expect if having D3 users is not profitable and having Observable users is profitable. This would explain why the Observable team's explanations don't entirely make sense: the real explanation is "we are making things worse for you because we hope to make money by doing so". It would explain why they're unmoved by users' complaints that something allegedly meant to make things easier for them is making them harder: the real goal is profit, not making things easier.
On the other hand, (1) using Observable is free (at present, at least), and (2) in other respects mbostock has always seemed genuinely interested in providing good things for everyone to use. So I hope the cynical view in the previous paragraph is wrong. But it does seem like it explains what's happening better than "we just want to make things better for everyone, and Observable is so awesome we can't help using it for everything" which is pretty much the official line.
- throwawaybutwhy 5y agoTangential: in D3.js 7.0 Bostock switched license from BSD 3-clause to ISC [0]. [0] https://github.com/d3/d3/commit/23b0212743d22e2dea3e20163980b37e78b2a25b#diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7 https://github.com/d3/d3/commit/23b0212743d22e2dea3e20163980...
- jacobolus 5y agoThese licenses are essentially interchangeable. The ISC license just drops a bit of text that was determined to be unnecessary. https://en.wikipedia.org/wiki/ISC_license https://en.wikipedia.org/wiki/ISC_license
- deleted 5y ago[deleted]
- bookofsand 5y agoSomething is wrong when we expect high quality libraries for free. The authors are highly skilled individuals with mortgages to pay and children to feed. Not sure what the answer is. If coupling Observable with d3 is such an answer, then more power to them. Related, I've stumbled upon this blurb from Codemirror6. Perhaps another answer. If you are using CodeMirror commercially, there is a social expectation that you help fund its maintenance. https://codemirror.net/6 https://codemirror.net/6
- th0ma5 5y agoThere are countless high quality libraries available for free.
- deleted 5y ago[deleted]
- andrewmcwatters 5y agoThere really aren’t. As soon as you need something t specific, which is literally all the time in software development, you generally have less than 5 useful implementations, and that’s being generous.
- tobr 5y agoIf you break up countless libraries in very small and specific categories, you can start to count them, yes.
- mirekrusin 5y agod3 for example.
- Mountain_Skies 5y agoBait and switch is not acceptable. If they want to make money from D3, they should charge for D3. What they're doing is disingenuous and has strong similarities to the drug trade. I don't expect people to work for me for free but I do expect people to not tell me they're going to do something for me for free and then try to find a way to charge me for it later. If they want to make a living from D3, they should be upfront about it and charge accordingly.
- lamontcg 5y ago> has strong similarities to the drug trade. well that's a bit over the top.
- 5y ago
- sefwerw 5y agoObservable is conceptually quite simple. Each cell is a bit of JavaScript, and cells are run reactively, i.e. when their free variables change. That is basically it. It's not actually necessary to know much JS to become productive in Observable and it's fairly close to being orthogonal to D3, believe it or not. Having said that, Observable is not a mature system and there are some traps for the unwary: https://observablehq.com/@tmcw/observable-anti-patterns-and-code-smells https://observablehq.com/@tmcw/observable-anti-patterns-and-... This kind of thing would certainly make me think twice about depending on Observable as a platform for a major project. There's a certain confidence in the act of name "anti-patterns" and "code smells" which belies the slightly ad hoc, provisional status of the platform. And not everything is taken care of elegantly in Observable: making an animation tends to involve more JS control-flow tricks than would be ideal: https://observablehq.com/@mbostock/animation-loops https://observablehq.com/@mbostock/animation-loops The idea that Observable makes life more difficult for people (in the service of building a profitable platform) doesn't ring true to me, though. To return to what I said in the first paragraph: Observable is conceptually simple (and most parts of it already have third party open source implementations). D3 is as intimidating as it's ever been, but I think the complaint "now I seem to have to learn Observable as well as D3" is not based on a good faith assessment of the complexity of learning Observable, and shouldn't be seriously entertained. It's in the "petulant" category of complaints about software.
- deleted 5y ago[deleted]
- tvst 5y agoActually, Observable is not JavaScript: https://observablehq.com/@observablehq/observables-not-javascript https://observablehq.com/@observablehq/observables-not-javas... I think it's an amazing piece of technology, hosting some of the best interactive stories on the internet — but I too find it hard to use.
- gjm11 5y agoIt seems particularly unfortunate for most of the documentation of something that is supposedly a Javascript library to assume you are using something that is not actually quite Javascript.