Hacker News new | ask | show | jobs
by fourthark 2666 days ago
I inherited a popular open source charting library. People like it because it has a data model - you can automatically brush and filter between charts.

It is intentionally a leaky abstraction so that there is always a way to customize it if it doesn't work the way you want.

There is only enough design to make it reusable, no claim to a "grammar" or other highfalutin abstractions.

There have been dozens of contributors and many parts are inconsistent.

Yet it still gets a ton of use 7 years on because it does 80-90% of what you want.

I've learned so much from this. Worse is better. Don't box yourself in with designs you don't understand.

Solve one big problem and after that be humble and let users work around anything you didn't think of.

2 comments

Name?
If I reveal the name, then I must also admit it has plenty of bugs.

And I haven't kept up with merging PRs because it is a lot of work to test and integrate code. (Help welcome!)

With that out of the way: it's dc.js

DC.js is the greatest most customizable charting library I've ever used. Thank you for that.
Plottable?