what's on our mind.

The rise of JS based charting solutions

Posted @ 11:56 am by Alex Kaplinsky | Category: Mobile, Technology, Web Development Process | 0 Comments

Our clients often want to represent data visually, either on internal dashboards or with client facing graphics. We have produced many such chart applications in the past, typically leveraging pre-built or custom Flash based charting solutions.   The JS charts didn’t look very good, the interaction (rollovers, etc.) wasn’t very rich, and the animation was often jerky if not unsupported altogether.   The static images generated by server side packages lacked the interactivity and animation of the Flash versions.   The Flash charts required no server side work, they could be “plugged into” a page, “styled” to look like the site, and fed their data with XML (either static or dynamic).   A good example of a flash based charting solution we have leveraged many times is Fusion Charts.

The landscape does seem to be changing somewhat. This is due to 3 contributing factors:

#1 – HTML 5 allows for a lot of visual animation that negates the need to have flash on a page at all — even for somewhat complicated animation effects.   We recently completed a demo for AMD at CES that had amazing visuals with a storm of pictures flying around to form a composite image that was all HTML 5 and JavaScript — a feat previously unachievable.

#2 – JavaScript charting solutions are becoming more and more prevalent, robust, and work well on a growing number of browsers.   As a matter of fact, Fusion Charts now has a non-flash fallback to its Flash charts that are all HTML 5 and JavaScript.   There is a great summary of JavaScript based charting solutions that are available now.

#3 – The rise of iDevices — pods, pads, phones are all the rage these days, and all have extremely limited Flash support.  Whereas Flash used to be installed on a higher percentage of browsers than allowed for JavaScript, the introduction of these Apple devices and their stated lack of support for Flash has turned that equation on its head.   With more and more people visiting on these devices, JavaScript has supplanted Flash as the common denominator.

What does this all mean? Our recommendations nowadays are usually to use either a hybrid — Flash if you’ve got it, otherwise JS or pure HTML and JS charts for our clients.  Certain visualizations and charts (maps with zooms for instance) may still not be there with JS and HTML, but for the vast majority of charts and graphs, Flash only is no longer the only viable option.

Leave a reply