Found in 12 comments
by PaulHoule
Often designers put their hearts into things that look like junk to people on the outside, or otherwise are not appreciated or have practical downsides. This is particularly well documented in architecture, see

and also

I think there is nothing wrong with the "design" of reddit and HN. Those designs do the job; I think in most cases the design is just a container for the content. People come to these sites because they want to enjoy the discussion, not because they want to enjoy art.

If anybody has a complaint about the design of HN, it is that they have a hard time reading it on phones with small screens.

Original thread
by hsitz
I think any of the Edward Tufte books qualify, starting with _The Visual Display of Quantitative Information_:

Original thread
by PaulHoule
If you look at

you see that world class infographics require a "data artist", that is a lot of curation. You have to set the parameters of the chart quite carefully to produce a graphic which appears insightful. It is very easy to change those parameters a little and wind up in a bad place, where you might overload the tools with too much data, etc.

Data viz tools that are easy for a non "data artist" to use are an active area for CS research, new software products, etc.

Another problem is that data is less interesting than it seems to be at first. What action are you going to take on it? Data analysis delivers value when it informs actions.

The history of international development efforts is that aid agencies often have little understanding about conditions on the ground. For instance, they would send big tractors to Chile and truck them at great trouble and expense to get them into farming villages that could not use them, fuel them, fix them, etc.

Thus reducing a country down to a few numbers could cause the illusion that you know something when you really don't.

The numbers themselves are suspect. In a place like Rwanda, few people file tax returns, much of the economy is farmers selling corn to their neighbors, so national income numbers are often a wild-assed guess.

Also the life expectancy numbers are not based on a rigorous probability analysis, but rather a simple model that takes the death rates of 15 year old people in 2015 and 45 year old people in 2015 and treats that like a Markov chain where you are pretending that the 15 year old in 2015 is going to die at age 45 in 2045 at the same rate that that 45 year old people die in 2015, which is just not true -- particularly if you consider exceptional events such as war, famines, etc.

Thus those graphics are great for a talk, but they don't have the real depth of knowledge you'd need if you want to sell something to those people, plan a business, run an effective aid program, etc.

Original thread
by matt4077
No. But they should start to appreciate it, and the people who create it, more than they do.

All too often, it appears that programmers see design as a lipstick-on-a-pig kind of process, i. e. a replaceable skin that possibly improves the color scheme.

My favorite example is the guy who bragged that he saved xxx kb of page weight by replacing the fonts on (or rubygems? one of these repositories) with Arial, because "all sans-serif fonts are the same anyway".

I'd also point to the frequent complaints about It doesn't even matter if that design is any good – it clearly succeeds at what it's supposed to do.

The most obvious path to a better appreciation of the meaning and methods of good design is probably Edward Tufte's books[0], which is one of the "crossover" works that appeal to both designers and the more scientific-minded crowd.


Original thread
by showerst
Introduction to Algorithms (CLRS) - probably the closest you'll get for Algorithms, next to Knuth. It's also updated relatively often to stay cutting edge

AI, a modern approach (Norvig & Russel) - For classic AI stuff, although nowadays it might fade a bit with all the deep learning advances.

While it's not strictly CS, Tufte's Visual Display of Quantitative information should probably be on every programmer's shelf.

Original thread
by ryanSrich
Here's a list of all design books that I give to new hires:

Branded Interactions: Creating the Digital Experience - (

The Visual Display of Quantitative Information -

Universal Principles of Design -

The Interface: IBM and the Transformation of Corporate Design, 1945-1976 -

Multiple Signatures: On Designers, Authors, Readers and Users -

Change by Design: How Design Thinking Transforms Organizations and Inspires Innovation -

Thoughts on Design -

Notes on the Synthesis of Form -

..and a list of ones I'm considering adding:

Unflattening -

Creative Confidence: Unleashing the Creative Potential Within Us All -

The Design Method -

Product Design for the Web: Principles of Designing and Releasing Web Products-

Original thread
by couchand
I very much like the aim and contents of this book. There are loads of data visualization basics that this tutorial gets right, like: In bar charts, however, it’s almost always best to make zero the y-axis minimum.

Or, regarding pie charts, humans are not particularly good at judging the relative size of areas

Or about bubble charts, We should never use the extra bubble chart dimensions to convey critical data or precise quantities, therefore. Rather, they work best in examples such as this example—neither the exact wind speed nor the specific classification need be as precise as the location.

The author does a great job of covering many different types of charts and graphs. There's also a good focus on getting rid of chartjunk, though the author doesn't go far enough, leaving in extraneous shadows and other elements (and I have to question the use of a library that requires so much effort to remove the default chartjunk).

Unfortunately there are a number of wider issues that obscure these valuable insights. Many the data visualization concerns are buried beneath a mound of introductory web development information that vascillates between explaining the nature of foundational technologies like AJAX, SVG and CDNs and assuming that the reader is an avid jQuery user. The last chapter is a treatise on MVC application development. I'm not quite sure who the target audience really is.

But the worst offense committed by this tutorial is the emphasis on overly simplistic charts. From the introduction: Effective visualizations clarify; they transform collections of abstract artifacts (otherwise known as numbers) into shapes and forms that viewers quickly grasp and understand. The best visualizations, in fact, impart this understanding subconsciously. And later (in defense of pie charts), the author advocates for a graph that epitomizes the idea of chartjunk: a 400x400 pixel circle that gives no more information than the number 22.4%.

This, I think, is where the true challenge in data visualization comes: not in producing a pretty chart to display whatever information's at hand, but to DROP the chart if it doesn't truly add value. Waste no ink producing a chart that is better left as a table of numbers (e.g. a reference), and certainly do not waste the viewer's time with a chart showing something that's more effectively communicated in prose. The answer to the question of how much of the world lives on $1.25 a day is 22.4%. A chart simply cannot illuminate a single data point.

Where data visualization gets really interesting is when you maximize the amount of information conveyed. Don't waste the reader's time producing these USA Today (or The Onion) style bar charts. A handful of numbers is best presented as numbers. Seven data points is TINY, not a moderate size appropriate for a bar chart, as the author would have you believe.

Effective data visualizations demand the viewer's careful study. If a reader can completely understand a chart subconsciously, there's probably no need for a visualization at all. Effective data visualizations are information-rich: they have a data density far exceeding that of prose. Good charts are exceedingly multivariate - small multiples are probably the best example. If your charts don't meet this standard, you're wasting your time producing them, and you're wasting your reader's time forcing them to parse a visual representation of what should be simpler prose explanations. If your headline contains as much information as your chart, drop the chart.

A great example of this issue comes in the section on scatter plots. After charting the relationship between health care spending and life expectancy, the author glibly declares In this example, we can see how life expectancy relates to health care spending. In aggregate, more spending yields longer life. However, that's only the least interesting factoid (as in, plausible-sounding inaccuracy) you could glean from this chart. There are many interesting questions that could be asked, but of the three the author poses, only one is answered: who the heck is that outlier that spends 50% more on health care than the pack yet has a lower than average life expectancy (spoiler alert: it's the United States). After demonstrating how to highlight this one data point, the author doesn't bother to explain why it's worth plotting all the others, or how this graph explains the situation uniquely. So once again we have produced a chart with basically one piece of information: that the US healthcare system sucks. This somewhat obvious insight simply isn't worth the ink spilled.

This emphasis on overly simplistic visualizations is entrenched in the choices of libraries. This is not to pick on Flotr et. al, they're good for what they do, but what they don't is far more important. Like essentially every dedicated charting library, you are restricted to just a handful of options that the developer allows you to have. You can choose from a few preselected chart types and customize them in a few preselected ways. If you have a novel dataset that requires anything more customized or unique, you are up a creek without a paddle. Such charting libraries require that you convolute your data until it fits its own assumptions. Nowhere is this better illustrated than this tutorial series, where the differences between iterations are frequently simply a reorganization of the data structure (i.e. a waste of developer time).

Far better, then, to use a generalized data library that allows you to manipulate your visual tools with endless freedom. D3 is a great example of such a library. If you're writing a data visualization tutorial in JavaScript that uses anything but D3 you have a burden of proof to demonstrate why. This is not because D3 is the end-all-be-all of charting libraries, but rather because any tutorial based on the limited selection of possibilities afforded by anything else is simply not a data visualization tutorial. It's a charting options tutorial (also valuable, but far narrower in scope).

The author finally gets around to talking about D3 near the end of the book, but misses the opportunity to demonstrate how simple it actually is to replicate the early examples with D3. It's also worth noting how understanding these composable techniques from the start gives you significantly more power. I really wish this book started with the tutorial on D3; everything prior just seems anachronistic.

For more information on information-rich data visualization, check out the work of Edward Tufte, in particular his book The Visual Display of Quantitative Information [0] (which the author cites but seems not to have read). For more information about JavaScript data visualization with D3, read everything you can find by Mike Bostock [1].

[0]: [1]:

p.s. please don't make a map assuming latitude/longitude == x/y, even a really small one. A decent geographical charting library exists and is free, so just don't hack it.

p.p.s. please don't use radar charts.

p.p.p.s. d3.extent.

p.p.p.p.s. Bower isn't a part of Yeoman.

Original thread
by law
I don't think I saw The Visual Display of Quantitative Information by Edward R. Tufte (available at ) on the list. The Boston Globe's review is 100% correct: it's a visual Strunk and White.
Original thread
by radicalbyte
No, it's not common to see this kind of visualisation. Bad visualisations? Yeah, they're pretty common. The usual mistake is overuse of Pie Charts.

I'd recommend the OP (and anyone else who has an interest in communication) to read:

The Visual Display of Quantitative Information

Information Dashboard Design

Now You See

Original thread
by kallus
Edward Tufte was already mentioned and his books contains some really good examples

I'd say, yes numerical is often just as good, but not always. Also, in my opinion, whether information is displayed numerically or visually, the key is to be as minimalistic as possible.

Original thread
by riklomas
I'd recommend this Edward Tufte book for visual data design, it's very good:

Also, FlowingData is a great site for data visualization:

Original thread

Looking for a good book? Subscribe to the weekly newsletter.