[Mailman-Developers] [GSoC 2012] Metrics

Florian Fuchs f at state-of-mind.de
Sat May 5 20:27:52 CEST 2012

Am 05.05.12 17:21, schrieb Stephen J. Turnbull:
> Terri Oda writes:
>  > So... If AJAX is the fastest way to get some initial prototypes going, 
>  > that's a good place to start.
> As the author of the original suggestion about AJAXing the charts, I
> don't actually think it is the easiest way.  I think it's easier to
> just generate a fixed-size chart and slam it in as an <IMG>, and
> generally good enough for the purpose.

Creating JS-/AJAX-ified graphs doesn't have to be hard. There are some
*really* awesome libraries out there (such as flot[1], Raphael[2] or
d3[3]) that make stuff like this pretty easy. (Those three are all MIT
licensed so I guess there should be no collision with the GPL?).

But I would consider carefully where to use or not to use actual "AJAX"
(meaning: asynchronous server requests). If there is a lot of data or if
the data depends on on-the-fly user inputs (like drill-down charts)
asynchronous requests are very useful. But charts can be fed from many
sources and AJAX is not always the best choice. For example, the
JavaScript application could read the data from a JSON string that is
delivered within the page content. Or it could use HTML5 "data-"
attributes. Or it could DOM-traverse an HTML table and build the chart
from its contents (that one could also make a nice bare-bones fallback
for non-JS browsers).

As for Geoff's non-JS request: I agree that it's perfectly reasonable to
ask for a non-JS version. But first let's let George be creative and
have some fun. If he comes up with a visualization that gives us
insights we would not get from a simple img or html table I surely
wouldn't want to miss that for the sake of general JS-freeness and 100%
accessibility. There's a reason modern data visualizations don't look
like good ol' analog[4] stats anymore... :-) That said, there are a lot
of ways to create beautiful fallback versions for non-JS (and even
text-based) browsers, and we should take care of that at *some* point
for sure.


[1] http://code.google.com/p/flot/
[2] http://raphaeljs.com, also gRaphael for analytics:
[3] https://github.com/mbostock/d3/wiki/Gallery
[4] http://www.analog.cx

More information about the Mailman-Developers mailing list