Archive for August, 2006

Web design inspiration has a short half-life

Sunday, August 20th, 2006

There’s something about the anticipation of a short trip that triggers this recurring fantasy that I’ll be able to squeeze in the time to get my website redesigned. The fantasy often persists well into the trip. I’ll be thumbing through an airline magazine, will notice something interesting (a clever layout, use of color or typeface), and will tear the page out and make some notes about how it can figure in to the redesign that I’m about to start work on any minute now.

Later, home from the trip, I’ll empty my pockets and laptop bag, and out will fall these unused design fragments. I have a folder in my desk with ten years worth of design material torn from airline magazines.

Thumbing through the folder is like a brief romp through the major graphic design tropes of the past decade. A designer with a good eye could scatter the pages and reorder them based on when the typeface, color choice, or visual affect was popular, probably naming photoshop filters along the way. “Distressed typewriter font with subtle drop shadow? Hm… That’d probably be late ‘97.” I wonder if there’s a phrase in the graphic arts community to describe the moment when a particular look jumps the shark.

And there’s the challenge. Since I’m always short on time to redesign my website, I need to find a look that’s going to have a long shelf life. The content of my “design ideas” folder suggests that a good strategy might be to notice what’s catching my eye now, and then avoid using it.

Coding at altitude

Sunday, August 6th, 2006

Another friend discovers one of those rules for technical travelers: Don’t trust code you write on airplanes.

There’s a rule of thumb: Each thousand feet of sudden elevation gain is like drinking a beer. (How strong the beer is arguable, but the principle holds.) Commercial planes are typically pressurized to ~7,000′ (above sea level), so we’re talking at least a six-pack of weak stuff. But since you’re sitting down, you may hardly notice that your brain isn’t firing on all cylinders unless you’re trying to do the crossword puzzle in the airline magazine. The effect goes away once you’ve landed, or acclimated to the new altitude, but a few hours in a plane aren’t enough to undo the effect and restore a clear head. So unless you’re starting off from some already high place like Denver, consider yourself under the influence, and quarantine any code you write until you’ve tested it thoroughly.

I learned this lesson several years back after an inspired coding session on a two hour flight. I’d cranked out ~300 lines of fairly tricky state machine code, involving a stack of objects each full of procedure pointers. I was really pleased with myself, until we landed and I remembered to run the existing test suite. Everything broke. (Well, not everything, but enough tests failed to seem that way.) If I’d checked in the new code, it would have taken days to undo the damage. I kept the design, threw the code way, and redid it test first. Rewriting the code with tests only took a few hours, and the result has been running in production for six years without any reported bugs.

Don’t trust code you write on airplanes, unless you’re stuck in a plane on the ground while the ground crew waits for a replacement part.