Why Grok D3

D3, the cool charting javascript library from Mike Bostock, has got some serious buzz.

D3 was developed using many of the concepts of Protovis, which it is intended to replace.  It uses a concise syntax that allows you to work with data and transitions/animations in a general, but potentially hard-to-grok, way.

These two videos from a "D3 for Beginners" series, from Feb 2012,  are highly recommended.  The first is from the perspective of an artist/designer, while the second is from Vadim Ogievetsky, a developer who is very close to the project and uses D3 every day.

D3 for Beginners Part I: Joe Golike on Thinking in D3

D3 for Beginners Part II: Vadim Ogievetsky on Developing in D3

Both guys are clearly excited.  And both warn that there is a bit of a steep learning curve in effectively using D3.  But beckoning from higher up that hill is the power of making those beautiful data visualizations.

Also highly recommended are the D3 tutorials by Scott Murray.

In looking for a few more videos on D3, I came across one by Ward Cunningham from September 2011.  I didn't know who he is, but I do now.  Basically the inventor of the wiki and other impressive things.  And just last week there was an interview with him in Dr. Dobbs as he is this year's winner of Dr. Dobb's Excellence in Programming Award.  He wraps up the (interesting) interview with a discussion of his recent discovery of D3, and he articulates well my own feelings on it so far: the surprisingly steep learning curve after you see the small amount of code that generates the beautiful graphics, and the feeling that there is high craft, skill and thought behind the development of D3.

"It's a nice library with a lot of examples of it doing impressive things. And then the code for those examples is 20, 30, 40 lines. And then I read the introductory material, and it says, here's our philosophy, and I agree with their philosophy. I like the picture and I like the look of the code. It's only 40 lines, but every line carried some careful thought. There was a learning curve there that surprised me because the programs looked short... 

Anybody who's willing and wants to have pictures on the screen that move, I would encourage them to do the same thing. But do it with an open mind, because you're following the footsteps of a very skillful developer."

-- From Interview with Ward Cunningham in Dr. Dobb's, by Andrew Binstock.

Basically, "I like what you end up with, I like how you get there, but the road is steeper than it looks."

And that, I believe, is why it's worth grokking D3.





Popular Posts