Home » Thoughts and Musings »

design: /di·'zin/

   n a deliberate plan for the creation or development of an object. vt: to create something according to plan.
   good design: /'gud —/ the product of deliberate forethought and careful understanding of the purpose of a subject, resulting in a subject which significantly improves its utility, allowing it to integrate seamlessly and naturally into the role for which it is intended.
false synonyms: fashion, decor.

Search for
The Truth about Yoda Conditions Notation

There's been a flurry of activity concerning Yoda Notation (also referred to as Yoda Conditions) recently. A conversation at work revealed that this term of art has taken off. More surprising, however, is the misinformation surrounding it.

Logical Expressions Visualized

If there's one thing that computing has brought to the forefront, it's dealing with logical expressions. We deal with them on a daily basis, but communicating anything more than the most trivial expression to non-technical folks remains a barrier.

How Much is Too Much?

I recently had a discussion with a colleague about the design of a feature our team was working on. One component was a particular sticking point for this fellow.

The Best Things are Often the Simplest...

There's that story—apparently apocryphal—of how NASA spent hundreds of thousands of dollars developing a pen that would work in the microgravity of space...


Okay, here's some terminology for you. Some of it is tongue-in-cheek, but it's useful (I think) when discussing design issues.

Simplicity is the Soul of Invention?

Many years ago, while I was still new to Autodesk, I went to some out-of-house AutoCAD training. We had just released R14, with lots of whistle-and-bang features new to the product...

"In French, oeuf means egg, cheese is fromage... it's like those French have a different word for everything!"
- Steve Martin
"In Paris they simply stared when I spoke to them in French...

Complexity vs. Usefulness—Regular Expressions

I love these things called regular expressions. I think they're the coolest. The kinds of things you can do with regular expressions is incredible...

How much do you want to play Simple Simon?

I've often likened working on computers to playing Simple Simon: if you told a computer to "put your shoes and socks on", that's exactly what it would do: put its shoes on, then put its socks on... because that's what you told it to do...

Importance of Good feedback - Sisyphus' Progress Bar.

There's a fellow in Greek mythology named Sisyphus who—for his sins while alive—was condemned for eternity to roll a boulder to the top of a hill in Hades. Just as he got it there, it would fall apart and roll back down to the bottom...

Bugs: Attitude or Bad Attitude

I saw an old review of Steve Maguire's Writing Solid Code, in which he gets lambasted (with considerable ad homiems, I notice) by a reviewer that I think missed the point.


You hear the term intuitive frequently when it comes to interface design. Unfortunately, intuitive means different things to different people. Like the saying goes, "Common sense often isn't."

Taking the Long View

It's surprising how often poor design stems from shortsightedness. "Oh, we never expected it would be used for that."

Imperfect Indicators

Imperfect indicators are those which closely parallel a state you're trying to watch, but are themselves uncoupled from it. Being uncoupled from that state, of course, means that isn't always accurately representing that state.

Missing any O-Rings, Anyone?

We have an expression at work: Don't lose the O-Rings...

Design Pebbles ™

One of the things I plan to do on this forum is to call out little "Design Pebbles"™—little faux pas or oversights that, like a pebble in your shoe, are tiny things, but become major irritants with repeated use.

The U in USB Means Universal... Why isn't It?

I got this doodad while attending a function a while ago. It's one of those retracting cord things. One side is a standard USB connector, and the other is a fitting that plugs into a particular cell phone's charging jack...

Coding in Style

Code serves one purpose: to communicate intent. It does so to two audiences: the compiler that will reduce the code to machine instructions, and the hapless souls who will have to look at your code in the future.....

Universal Measurement

Since this section discusses design, I thought I'd take a light-hearted excursion from the practical into the realm of "nice, but Thomas, you're never going to convince anybody." A bit of "fun" design.

Design Flaws of the HP6315—lessons learned (?)

I've come down pretty hard on the HP6315, and I think I've made my case why. I'm not alone: complaints about the HP6315 are quite abundant on the web...