Skip to content

Why we decided to start billboard.js?

Jae Sung Park edited this page Sep 28, 2023 · 7 revisions

A brief story

As you know, billboard.js is a forked project from the original popular chart library C3.js.
In the early beginning, we used C3.js library and liked its easy interface and functionality.

Necessities were raised

Support of D3.js v4+

C3.js depends on D3.js, but we quickly realized that C3.js couldn't be run on the latest version of D3.js (version 4+). And D3.js has changed a lot from its previous version v4, without providing the backward compatibility.

It was clear that without the support of D3.js v4+, there will be a lot of difficulties forward.

Doubt on continuation of the project

We also tried to contribute some new features, but soon figured out that the project was inactive for several months, and it seemed to have almost discontinued(ref. Not being maintained?).

But luckily enough, we found some activities going on for the next release on C3.js(ref. Refactoring Plan).

UPDATE:
Unfortunately, C3.js refactory plan didn't go well and project returned to uncertainty state.
Once agin, discontinuity and worries arose among users and we wanted to gather the efforts to billboard.js.

Hence, we wrote an open letter to maintainers and to the community proposing to 'unifying efforts'.

The attempt didn't go well, and finally C3.js maintainer left a short comment on one of the project issue, expressing the discontinuation of the C3.js project.

We currently stop maintaining the repo. Please consider using billboard.js

What is the goal of billboard.js?

We worked very hard to solve the issues below for the first release.

  • Support D3 v4
  • Remove SVGPathSeg polyfill (due to removal from Chrome 48)
  • Mobile-friendly environment
  • Transition to ES6
  • Update build tools using webpack
  • Optimization of SVG node elements on generating chart
  • Documentation of the source code with jsdoc

This is just the beginning, and we know it isn't perfect.
But with your attention and participation, we'll keep going further.