11 May 2006

The Importance of a Clean UI First

I've always been a believer in designing the UI first and then moving in from there. Test Drive Development reinforces this idea; just replace the "UI" with an API. There are several reasons to do this, but I just realized today the last and perhaps the most important reason to nail the UI first, and then work on the rest of the product. The realization came when I remembered a quote from Malcolm Gladwell the author of The Tipping Point.

"If the first broken window in a building is not repaired, then people who like breaking windows will assume that no one cares about the building and more windows will be broken. Soon the building will have no windows. Likewise, when disorderly behavior is left unchallenged, the signal given is that no one cares. The disorder escalates, possibly to a serious crime."
By building the exterior first and really showing that you care about the outside, this sends a message about expectations for the product and I think produces higher quality code inside. I think that for this reason alone, applications developed with Cocoa's AppKit have a remarkable advantage, not technically, but emotionally over tediously built UI in Carbon without NIBs. The very tedium of building the Carbon UI from scratch means doing the UI last and therefore negates the positive emotional influence it could have over the course of the project.

2 comments:

dirkstoop said...

excellent post David :)

One thing that puzzles me though is how one can successfully apply this concept on an evolving project (like macoffice or any other mature app).

Word for instance is highly criticized for feature bloat. Personally I think the 'infinite possible combinations of toolbars that can be combined' adagium is a bit of a hackish way of coping with the balance more features and a clean interface.

The way the MacBU reinvented the formatting toolbar into the floating, dynamic formatting palette of today on the other hand is one of the best ways I've ever seen to give endusers just the features they need.

Basically what my question comes down to is these two things:
- How do you keep this methodology up in a constantly growing and evolving project?
- Why hasn't the formatting toolbar been removed from Word when the formatting palette was introduced - or else why not in the next major release?

While I'm at it: A question to everyone who follows David's blog:
- Do you ever use the formatting toolbar in the current version of Word, or do you know anyone who still does?

CDB said...

hey David, this is a great quote. I had dinner with a friend last night and we were talking about raising children, and it striked me as being totally relevant to kids that go astray.

Not the topic you're on, I know. Just an observation. Gladwell rocks. If you've not already read Blink, its a great follow up to Tipping Point.