(Edit: My apologies: comments were closed earlier; they closed automatically after 2 weeks. They’re open now.)
CPU History 1.0 was an obvious work in progress. It shipped without multicore support, with a redrawing bug, and with a horrid preference window design. The first two bugs were fixed months ago, when I pushed a beta of 1.1 to a few multicore testers. However, the third bug wasn’t on my radar until Peter Hosey (@boredzo) brought the Apple Human Interface Guidelines (HIG) to my attention.
Without further ado, here’s the 1.0 preference window.

The list of things wrong with this layout is longer than the list of things right. Inconsistent spacing, and no attempt at vertical alignment of labels or controls.
When I added features (namely, multicore graphing) to 1.1, I had to add another control to the preferences. Hence, the 1.1 b1 preference window.

This is the release that compelled Peter to link me the HIG writeup on laying out windows. And rightfully so.
After an hour spent massaging things in Interface Builder, here’s the first 1.1 redesign. (I’ll call this 1.1 b2)

I fixed vertical spacing between elements, horizontal alignment of labels and controls, and a few other tweaks. It was primarily a HIG-compatible spacing fix to the 1.1 b1 layout.
Still, the layout just felt wrong. I visited #macdev on IRC to consult some other developers, and two suggestions surfaced. First, a tab-based layout (from ciaren and ccgus), and a boxed layout (a combination of my thinking and ccgus’s view idea). I set out to implement the tab-based layout first.



That’s tabs one, two and three. I split things based on logical separation: general, floater preferences, and color choices. However, as is evident on tab three, I couldn’t find a good layout in that tab that used the space required by tab one. Onward, then, I ventured, to fix another layout shortcoming.
The separations from the tabs made logical sense, so I wanted to keep those while junking the extra whitespace of the tab layout. So next up was a box-separated (NSBox) layout.

This is the current leader in the window design, and most likely what I’ll be shipping tomorrow. It had the right mix between an all-in-one window, which removed whitespace issues with tabs, and clear splits between controls of different types.