Java has largely disappeared from the web, and is unlikely to make a comeback. While it is still installed on many people's computers, loading a Java applet takes much longer than for Flash, and the programmer's control over the look and feel of the applet is very limited. Java is also a bit of a memory hog, and communication between the browser and the applet is almost non-existant.
Charting Plugins for jQuery et al.
Since these libraries are all based on the HTML 5 canvas element and SVG (Scalable Vector Graphics), they do not work in Internet Explorer. Excanvas translates between SVG and IE's VML. There are mixed reports on how well it works, so IE support is not a given yet, but it will likely be solved soon.
It takes a bit of time and effort to get used to the idea, despite of the examples and documentation. But this is a very powerful and flexible way to define visualizations. Not only is it possible to create entirely new visualizations with it, prototyping variations on existing techniques is also very easy. This makes it possible to explore the design space of visualization, something that is seldom done due to the amount of work involved in changing an implementation.
The declarative style, once there are more examples and tutorials available, will also make it possible for people with little programming experience to create interesting new visualizations. This opens up quite a bit of power to artists and designers, and makes data-based elements on websites more attractive to them.
All the tools described above load the data into the browser and perform all the rendering on the client. This has the advantage that no server infrastructure is needed, other than a simple http server that provides the necessary files. The same page can also be loaded from a local directory instead, and the server does not have to worry much about a visualization becoming too popular: the load increase with more users is very small (and mostly data transfer, not CPU load).
One of the reasons for doing this is of course the fact that Tableau is a commercial company, while all the other toolkits are open source. It is next to impossible to protect intellectual property in JS code from prying eyes. The server-based approach means that the client-side code can be minimized, and might not change at all when new features are introduced.
The Future of Visualization on the Web
Its unique language features, if used in the right way, can also be the basis for some very innovative and powerful ideas about how to prototype new visualization techniques.
Posted by Robert Kosara on February 11, 2010.