[ Content | View menu ]

Content, Design, and Tufte

Mark Mzyk | September 9, 2009

In what now seems like an eternity ago, I saw Nathan Huening of Sprocket House give a talk at Refresh The Triangle back in July on Edward Tufte.  Nathan’s talk was his attempt to highlight Tufte’s main points about design.

Looking back, I don’t remember all the points Nathan highlighted, however, at the time the ones that most struck me I wrote down in my moleskine.

One of the points was that of the smallest effective difference.  This is where elements are separated by the smallest distinction possible, so that they are distinct and easy to follow, but so that the eye isn’t overwhelmed by the divider.  An example of this would be having a thin gray line dividing boxes, as opposed to a thick black bar.  This principle stuck out to me because I realized it often shows up in calendar grids.  Google calendar uses this to great effect.  Each block is marked with a thin blue line in Google calendar.  This also has the side effect of maximizing space.

The other principle that struck me from Nathan’s talk is that content influences design.  Nathan used an example from his own design company to showcase this.  He talked about how as they designed the website for Peace College the Alumnae Affairs department at Peace College the homepage design was designed last and was influenced by the content of the second level pages.  How could they have known what needed to be highlighted on the homepage without knowing the content of the other pages?  The hierarchy of the second level pages also influenced how the layout and navigation of the homepage was to work.

Once it is shown to you, realizing that content influences design seems obvious, yet as most of us go through our lives we continually ignore this fact, leading to suboptimal designs.  What tends to be designed is one size fits all, and while there is a place for systems like that, more often than not they lead to inefficiencies.

The ignorance of content influencing design even shows up in programing.  All to often, we programmers build the scaffolding of our programs first and then later insert the all important content, squishing it into the scaffolding we’ve built.  This leads to logic that is warped to account for the scaffolding, instead of the scaffolding changing to accommodate the logic.

DSLs (domain specific languages) are one way that content influences design in programming.  The content becomes the design of the language.  While it’s still possible to have a badly designed DSL, a DSL is closer to the content than a generic language will be and this should lead to greater efficiencies in design.

Nathan’s points were well taken.  While I’d heard of Tufte, not being a designer myself I’ve never taken the time to read his works.  I’ll need to rectify that, as it’s clear that principles that apply in the design world also have applicability to the world of programming.

Filed in: Design,Programming.


  1. Comment by Nathan:

    It’s precisely because so few people are familiar with Tufte’s work — admittedly, his books can be a bit dense and hard to approach — that I decided to translate some of his lessons for a general audience. I trust now if you do pick up some of his books, they’ll make a little more sense…

    (Also, we didn’t design Peace College’s main page, just the Alumnae Affairs department at http://alumnae.peace.edu.)

    Thanks for the write-up!

    September 10, 2009 @ 22:28
  2. Comment by Mark Mzyk:

    Hey Nathan,

    The overview was a great help. It strikes me as somewhat ironic that a man who stresses clear and effective communication can have books that are a bit dense. I guess some of design is still in the eye of the beholder.

    I also fixed the post to point to the Alumnae page and not the Peace homepage. Sorry about the mix up. I want to make sure you guys get credit for the work you did.

    Thanks for putting on the presentation, I learned a lot from it (even if I didn’t remember it all).

    September 11, 2009 @ 10:21