Data Visualization Controls on the Web


The web is accessible to more audience than any other medium in our current time. That makes the web a good medium to push different kinds of information. We have succeeded so far in many aspect of using the web as a communication tool using textual communication (web content), image communication  etc. The one aspect of the web we have fail and still continue to fail is data visualization. The ability to show data in pie graphs, bar graphs etc. If you are in the same situation as I am, you find yourself in an abyss in which all solution have major disadvantages. Lets take a look at some of these solutions:


Adobe Flash/Flex
Using Adobe flash for charting on the web ensures that the chart looks the same on all machine. The developer doesn’t have to worry about how the different browsers will translate fonts and all that jazz. The visual aspect is preserved but to the disadvantage of the user. They  have to have the flash runtime installed on their machine. Flash is currently present on about 90% of machines so this might be a decision we can live with (unless majority of your customer base fall in the remaining 10%, then you have to look for another alternative). adobes flex charting controls  is a great examples of great flash/flex charting controls. 


Microsoft Silverlight

You fate is the same as in flash except that you are even worse of now because Silverlight is new and isn’t present on majority of machines out there. MS is trying hard to spread the Silverlight runtime but who know when it will be available on majority of the machines out there. Examples of some charting libraries based on Silverlight are Freesilverlightchart and



Ajax Component / DHTML

Your reach in this department is very high since this relies on the  JavaScript/DOM  engine baked in the browser.  But even with JavaScript and the DOM , we have issues.

1. Some people have JavaScript turned off in their browser obliterating any Ajax charting controls in your web site.

2. With all the effort placed on standardization, most of the dominating browsers do not process pages the same way. Monzilla Firfox users blame MS IE for not complying with standards and visa-versa. Thus, you have to test your Ajax control/component in most, if not all browsers out there to make sure its “works”.

3. Even if you have it working just right in all browsers, an update on a browser as to how its engines work could affect your control.


Canvas from HTML 5

The HTML canvas is becoming more and more popular for drawing charts but still in its infancy. Its not supported by IE even though there is a workaround to make it work in IE. It also doesn’t have the robustness to support the many different charting needs such as events on chart elements and chart element composition.  That said, if you are building serious charting controls, this is definitely not for you.


All in all, there is not one solution that solved all the problems. They each have their disadvantages as well as advantages. Your choice purely depends on your target audience, their browser medium and what your business is willing to live with.


Functions first, then User experience


I use Flash off and on depending on my needs and today, was one of those days. Today, I caught a UX mishap in Flash which should have been caught. How?   So here I am, after importing images into flash, I started laying  my application on the stage. Then oops, I made a mistake placing the the wrong image in a specific frames so I clicked on the image, swap and then pop’s up my swap dialog box. Great!, then the “OOH NO”. I cannot expand my swamp window.I have about 20 images with the same first 15 characters or so. How can this happen, I have to manually check each image to find out which one I’m looking to swap. It was a pain. How could they have missed something like this a colleague asked? It seems that features came first before UX. A common mistake in our industry unfortunately.