I just wanted to do a line chart in SVG for a hit counter display over a month.
"Sh-wh-eeeeeet!" I thought to myself "...I'll just pinch the cod...e... eeeeww"
Yes all the code for all the demos are, lets say just say "butt-ugly" and completely un-reusable [un]. To be fair Raphaël is a low level API and is really screaming to have something easy-to-use and high level written on top of it. The real magic to it is that it works in Internet Explorer 6 and up! (Which is some kind of miracle really)
A work colleague suggested i have a look at Protovis which not only has the nicest graphs I’ve seen online but also has a clean and easy API. Its... reincarnation project d3.js takes the visual ecstasy to the next level (really, graphs can be beautiful!).
"Allah has indeed blessed my silly...sillyness" I thought to myself. "I'll just give it the old IE7 test and then...oh...crap"
Yes, that’s right, no IE support AT ALL. The project leads have taken the old "We only support standards and browsers that follow them!!!" or the classic "Head in the sand" [HitS] attitude. I used to be one of these guys until i left home and had to pay the rent and tried to explain to a client why the site they are forking their hard earned cash for looks like camel dung to all the friends, family and potential clients. Standards follow industry, not the other way around (sadly) and if (Paul Irish's scary predictions)[http://paulirish.com/2011/browser-market-pollution-iex-is-the-new-ie6/] are even close to true, then we have a good 10 years before we can kiss IE8 goodbye. So this is why you have probably never hear or seen Protovis or d3.jhs charts before.
The obvious solution would be to port d3.js to sit on top of Raphaël and form the greatest online charting dynasty the world has ever seen! But i only have 3 days to come up with a working solution and I’m not really familiar with ether API enough to make a start (but i'm really thinking about it!).
Note: there is gRaphaël which is charting on top of Raphaël, but its at the time of this writing infantile. It can't even reproduce the line chart example on the front of the Raphaël site although its API is cleaner but not to the same level of detail (and ease) of the d3.js.
To be continued...