Tufte complete... Book 3


My third book (Tufte's Second) is complete, I only have the first left to read, which I shall order once I have finished writing this post. Again there is plenty of excellent information in Envisioning Information, well worth the price tag.

Tufte offers many insights in the book, but two things initially spring to mind; the first is the use of colour within information design, primarily he examines and outlines examples which often call on nature for their palette:


He also delves into excellent examples of using colour for information, using colour as verb, noun or word:


Wonderful stuff.

The second thing that springs immediately to mind is discussed in a section on layering and separation, where Tufte introduces us to a foundational principal of information design: 1 + 1 = 3 or more. The simplest way to explain this concept is to see it in action:


While there are only two bars drawn a third bar is visible as the white space between the two bars is activated. This is generally something to avoid, or understood and used to ones advantage.

There are many more excellent examples throughout the book, and in all the other books for that matter; not surprisingly I'm looking forward to reading Tufte's very first book, my last, on the subject of information design: The Visual Display of Quantitative Information.... I'm off to order it now.

Tufte has arrived... Book 3


The love affair continues, my third purchase has arrived.


This is actually Tufte's second book, not third; I've been reading the books out of order.

I cannot wait to get started.

Tufte complete... Book 2


I finished the Tufte book Beautiful Evidence on Friday. Another absolutely excellent read, to the point where I bought another of the four books almost immediately.

As with the other Tufte book that I read there were a couple of mind blowing concepts wonderfully explained and demonstrated in the book. In Beautiful Evidence my favourite was the concept of something Tufte calls Sparklines:


Tufte has actually published a few pages from the Beautiful Evidence book on the subject of Sparklines. I have also bookmarked a number of links on del.icio.us that might interest you if you like the Sparkline concept, here are some of the highlights:

As my affair with Tufte has continued my eye has been skewed with Tufte coloured glasses. Whilst browsing I stumbled upon, to my delight and surprise, two accounts here and here from Jeff Atwood and Chris Sells respectively on their experiences attending presentations delivered by Tufte himself (at different times). Both posts do a great job, however Chris does an excellent "Ed's Grand Principals of Analytical Design" list, distilling the important elements from the school of Tufte. Chris wrote his post pre Beautiful Evidence, but it still holds true.

I'm looking forward to the next instalment arriving any day now.

WPF Week - Channel9


It's WPF week over on Channel9 this week; if you're a WPF fan, like me, then check it out. The purpose of this "week" of activity is due to the beta release of Visual Studio 2008 and .NET Framework 3.5 Service Pack 1, which has a bunch of bug fixes and new features for WPF, amongst other things. ScottGu does a great write up on this new beta release.

Making an ItemsControl Scroll...



When you don't need the selection functionality of a ListBox it is often best to use a plain ol' ItemsControl; the overhead is generally less and it's just as easy to program against, a win-win situation. The downside is that you can loose a little too much functionality along the way: such as scrolling (doh!).

In this post I describe how to add scrolling to an ItemsControl and the steps I generally go through to replace the template of a control - a hint as to how I broach the scrolling problem :-)

Scrolling an ItemsPanel

Recently, for an application I'm working on, I replaced a ListBox with an ItemsControl, where scrolling was still important, to which I thought "no problem, I'll just add a ScrollViewer to the ItemsPanel" as per my previous post on the matter of replacing panels.

However, the ItemsControl did not like this at all as you have to replace the ItemsPanel with a Panel and only a Panel - which kinda makes sense; but it does up the ante when it comes to the effort involved.

The solution I went for was to change the control template of the ItemsControl and wrap the ItemsPresenter in a ScrollViewer - otherwise the template remains completely unchanged - and bingo! All is well.

Here's a summary of what that looks like, with the new elements highlighted:

<Style TargetType="{x:Type ItemsControl}">
  <Setter Property="Template">
      <ControlTemplate TargetType="{x:Type ItemsControl}">
         <Border ...>
            <ScrollViewer VerticalScrollBarVisibility="Auto">
              <ItemsPresenter ... />

A scrolling ItemsControl, Done! (with a Gordon Ramseyesq intonation)

Adding a Custom ControlTemplate

As a tip to any budding control template hacker, here are the steps I go through when I need to replace a control's template - first and foremost I open "ShowMeTheTemplate", brought to you by Chris Sells and Ian Griffiths as part of their book, Programming WPF (a must have for any serious WPF developer IMHO).

Next, I copy the contents from the relevant pane into a new <Style>; finally I mess with the template as necessary to achieve the required look, layout or both.

It's worth noting that there are a couple of alternate approaches to extracting a template from a control: the primary one I hear about is the use of Microsoft Expression Blend; but a more "developer" focused approach is to use the control template examples documented on the MSDN Web site.

Personally, I prefer the "ShowMeTheTemplate" approach as it does not require another piece of "pay for" software, such as Blend, and it displays a true representation of the template, as opposed to a documented version of the template.

If you know of any other ways then then I'd love to hear from you.

Tufte has arrived... Book 2


My second Tufte book has arrived today! I cannot wait to get started; I can only hope that it is as good as the first, I'll keep you posted.

Tufte complete...


I finished Tufte's Visual Explanations book yesterday and ordered his latest book the very next moment. To say that the Visual Explanations book is excellent would a be gross understatement.

Rather than me going on about it here and poorly describing the excellent detail within, I'm going to redirect you the .Net Rocks! episode released yesterday (a tad serendipitous if you ask me) in which Mark Miller talks about his experience and learning from Tufte with which I can only agree.

Enjoy both the book and the podcast! I know I did.

(I recommend that you are sat by your computer when you listen to the DNR episode; with your Shrinkster links ready to go, Mark fires them off thick and fast).