Friday, October 24, 2008

The new release candidate of gchartjava

I have been on blogging hiatus since last winter because I was busy at work on gchartjava.

This project has grown to 20,000 lines of code and 150 classes (including many junit test classes). The end product is still relatively small--a 161Kb jar for producing great charts and graphs with 100% pure core Java. I have received great feedback from many users and developers. There have been about 850 downloads of the distribution in 4.5 months.

This latest release candidate version of gchartjava now finally exposes nearly all the features of the Google Chart API, or at least I thought so until I saw the recent announcement about some new chart types. That is one of the problems maintaining an API; you are always playing catchup with the underlying technology. At any rate, I hope to have those chart types available in gchartjava soon, but probably not in this release.

This project has been an invaluable lesson in many aspects of software development. To name just a few:

  • Object design
  • API design
  • Collaborating with users and developers around the world
  • Managing an OSS project
  • Swallowing your pride when a user points out you have done something silly
  • Not leaving javadoc documentation to the last minute
  • Not leaving static analysis to the last minute

I hope to be able to blog in greater detail about some of these issues in the future. There should be more time in my schedule, now that gchartjava is mostly complete.