Render graphs using html5 canvas
Current server side implementation is slow, render the graphs using html5 canvas (all mayor browsers support it). You can also add interactivity to the graph this way (see: github network graph).
If you need any help or have any doubts with the implementation, let me know.
I’m closing this to free up votes since there’s a similar suggestion that’s now the top item. Really useful comments here though that we’re discussing. Thanks everyone!
-
Admindreeves (Cofounder, Beeminder) commented
Since a similar suggestion -- http://beeminder.uservoice.com/forums/3011-general/suggestions/2285099-make-the-graph-scalable- -- is now the top-voted item, I'm going to close this one to free up your votes. Feel free to repeat any of these comments (super useful; thanks everyone!) on that suggestion. I'll also point to this suggestion in a comment on that one.
-
Rafał Rzepecki commented
SVG would be better. FYI, d3.js is a marvelous little library which would make implementing this a breeze.
-
Ramana Kumar commented
After reading [1] I think SVG would be a better choice for Beeminder graphs. Indeed they specifically say "You should use SVG for: ... Data charts and plots". Does anyone disagree? Can we treat this issue as "render graphs client side" and discuss the best way to implement that?
[1] http://dev.opera.com/articles/view/svg-or-canvas-choosing-between-the-two/
-
matt commented
This, because it will mean much better graphs.
-
David Bengoa commented
For all that don't know the technology, this means:
- Graphs that update instantly
- Reduced server load
- Reduced bandwidth usage
- Easy to implement interactive graphs
- Easy to implement scrollable, zoomable graphs
- You can easily port your ¿ruby? render routines to javascript and add a abstraction layer over canvas to match whatever API you are using.