Monday, September 17, 2012

Review: “Getting Started with D3” by Mike Dewar

Getting Started with D3
D3 (Data-Driven Documents) is an interesting library for creating browser-based visualizations.  Unlike most JavaScript libraries I’ve looked at, D3 provides tools to declaratively transform data into graphics formats, rather than providing a pre-canned monolithic solution to various charting problems.  The successor of Protovis, D3 was specifically created to work with dynamic data. 

Its design is elegant and powerful, but it can be pretty daunting.  The website includes a large number of beautiful visualizations (which I definitely recommend checking out), some bare-bones API documentation, as well as links to introductions and talks.  Even so, it can be difficult to know where to begin to learn the library, and I was happy to see Dewar’s book devoted to it; I’ve been meaning to try out D3 for months but haven’t been able to work up the time or courage.

I like the book’s format: focused, concise.  With such a huge topic it would be possible to write a formidable, 600 page book that only a few people would actually read.  Especially with all the resources on the internet available, what readers like me need is a push in the right direction.   D3 relies on open-standards and modern web browsers, but the book doesn't waste time explaining JavaScript, CSS, or SVG.  There are recommended books in the preface, but nothing more.  D3 supports JSON, XML and CSV as data sources, but Dewar (wisely, I think) focused solely on just JSON.

The book is structured around a half-dozen visualization based upon NYC’s mass transit system, with each chapter describing the creation of increasingly complex output.  Even the most complex visualizations are not treated in a great deal of depth, however.  The source and input files are provided on the book’s website.  Unfortunately, there are no examples with dynamic content.   

The book might have needed closer editing.  I noticed a few mistakes in the code of the printed book, and at times the writing wasn’t very good, in the style of an informal blog post.  It would have been nice if the author had provided exercises.

I feel after reading the book that I know where to start with learning D3.  In short: if you need a quick start guide to D3, the book will probably be helpful.  If you're looking for something more from its 70 pages, you'll be disappointed.

(I read the kindle version, on my iPod, and the eBook conversion was excellent.)

Product Information:

No comments:

Post a Comment