Roadmap Discussion

156 views
Skip to first unread message

Paul Pritchard

unread,
Aug 14, 2015, 9:59:19 AM8/14/15
to jqplot-dev
We need a roadmap for jqPlot development, so that we're all working toward the same goals as a team, rather than having potentially different or conflicting goals.  I've put together the following as a starting point for the roadmap discussion and look forward to your feedback.

For the short term, do incremental jqPlot releases that include:
  • Move project to github
  • Convert from ant build to grunt build
  • Switch to uglify compression
  • Registration with jQuery plugin registration
  • Update website with current version
  • Move example pages to GitHub pages
  • Incorporate outstanding pull requests
  • Make bug fixes
  • Improve documentation

For the longer term, work toward a jqPlot 2.0 release that includes:
  • Development of new chart types such as Heatmap, Polar Plot, 3D bar, Stairstep Series, Demographic Age Pyramid, Histogram, Box Plot
  • Improvements to existing chart types
  • Redesign of web site
  • "Download Builder" like http://jqueryui.com/download/ that allows user to download a customized version
  • Refactoring of code.  What are the goals of the refactoring?  Some possible goals are:
    • Reduce code size by eliminating redundancies
    • Support for AMD modules
  • API improvements, but with a view towards backwards compatibility.  Follow jquery model
  • Investigate use of globalize (https://github.com/jquery/globalize/) to replace internal functions
  • Add unit testing (possibly with QUnit) 
  • Add testing method that checks example pages to see if changes cause problems

Ruben Olsen

unread,
Aug 14, 2015, 10:28:16 AM8/14/15
to jqplot-dev
Since I have started working on the documentation, my proposals regarding this is shortly as follows:

On a high level:
  • Use GitHub pages with Jekyll as GH-pages supports Jekyll natively (I have already done work here)
  • The GitHub pages should have a more modern look than the current jqPlot pages
  • Pages should have a responsive design as far as possible
  • GitHub wiki should be used to coordinate coding efforts, while GitHub pages should be used for end user documentation

On the technical (API) documentaiton:
  • Use JSDoc to document the code
  • JSDoc genration should go directly into the gh-pages branch (I have already done som exploratory work here)
  • The JSDoc comments should be more than just a repeat of the name of the function/class/property/whatever - real explanations that can be understood by everyone from the casual user to the hard core comitter.

On end user documentation:
  • It is paramount that this documentation is GOOD and EXTENSIVE - too many open source projects fails in the long run because of shitty and sparse documentation.
  • There are at least 3 types of "customers" for this documentation:
    1. The "is this library something I want to use" kind of customer. Examples and demos are paramount. These examples / demos must be a bit "wow" and with corresponding code examples to show how easy it is to use the library. These should be organized by "What kind of graph do you need" (i.e. bar, line, scatter, etc). Number of demos should not be many, but very good. If they need more examples - they go to the example section.
    2. The "I'm just starting / I am a casual user needing to add thing to my 3 year old web application". An extensive library of examples building on what we allready have, but with better explanatory texts and better organization.
    3. The "I'm going to use jqPlot in my web application, and I know how to code". This is the API users. These users needs to have extensive explanations of the various options and how they relate to each other and are used. From the API documentation there should be links to relevant examples.

To repeat myself: I'd like to take the lead on the documentation part of the project.

\Ruben

Paul Pritchard

unread,
Aug 14, 2015, 11:49:24 AM8/14/15
to jqplot-dev
Thanks, Ruben.  You're invited to the jqPlot team and are welcome to work on the documentation.  I agree with your points.

The website does need to be updated. The version you are working on is "not ready for prime time" -- are you OK with some constructive criticism and feedback on it?

--Paul

Ruben Olsen

unread,
Aug 14, 2015, 5:07:50 PM8/14/15
to jqplot-dev
Hi Paul,

I completely agree - the current website is not ready for prime time at all. Please share your input - we can only get better by discussion.

Just to be clear - the current website as it is now is the original one created by Steeve. This is really his suggestion on layout and colours.

I'm going to spend some time writing up my ideas on the structure and content of the website in a Wiki-page - and then it's a base for further discussion and improvements.

What's been done so far with the website:

Converted the basic stuff from static HTML to Jekyll
Converted Steeve's Demos into Jekyll - and on the way found a form in Jekyll that can easily be shared between demo and examples
Doing successful experiments with getting JSDoc to output Jekyll so that JSDoc generated content can be plugged right into GitHub Pages

I have not touched the layout or stylesheets or anything like that. I have concentrated primarily on the content. As I have stated previously - we need excellent content.

I have a suggestion: What we could do is regenerating the current website as-is (with the updated examples from the repository) and put this on GitHub pages - and keep it there until a new and improved website is in place.

I suggest you create a new repository called jqPlotDocumentationNG (or some such) where we can use as work in progress. When we are ready to swap out the old website with the new version, it's simply a file-copy job and we are good to go. We can then delete the jqPlotDocumentationNG repo.

Does this sounds like a plan, both for short and long term?

\Ruben

Paul Pritchard

unread,
Aug 15, 2015, 12:16:27 PM8/15/15
to jqplot-dev
>> What we could do is regenerating the current website as-is (with the updated examples from the repository) and put this on GitHub pages - and keep it there until a new and improved website is in place.

Forgive my ignorance, but what do we gain from putting the website pages into GitHub pages?  If we make a change to the website, we'd have to update the GitHub pages as well, so that seems to be extra work, but I'm probably missing something.

--Paul

Ruben Olsen

unread,
Aug 15, 2015, 12:35:19 PM8/15/15
to Paul Pritchard, jqplot-dev
It's quite simple to set up GH-pages to serve jqplot.com using either a CNAME or APEX records in the DNS.


When we get around to jqPlot Documentation 2.0 living on GH-pages, this will make much sense.

\Ruben

--
You received this message because you are subscribed to the Google Groups "jqplot-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jqplot-dev+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jqplot-dev/e29073aa-98fd-4bee-ab33-ead177849808%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages