Premature Optimization

Each shelf has 4 hanging supports. Each support is made of 2 – 12 inch pieces of slotted angle iron. So with 2 shelves left, I needed to attach 16 pieces together to make 8 pieces.

For the first set of shelves, I did this in-place by attaching the first piece to the ceiling mount and then the second piece to the first piece. It worked fine, but was a little slow going since you are working on a ladder with your arms above your head.

I decided that since I’d proved my design worked on the first set of shelves, I could optimize this process.

I measured the length of a hanging support from one of the first shelves and then pre-assembled the 8 remaining hanging supports I would need. To save time, I didn’t leave the bolts loose, I went ahead and fully tightened them with a wrench, saving another step I wouldn’t have to do later on the ladder.

Impressed with my own cleverness, I started to build the last set of shelves. I hung one shelf and then tested by opening the garage door.

This is Part 5. Other parts are here: Introduction, Part 1, Part 2, Part 3, Part 4, Part 5, Conclusion, Epilogue

My acceptance test failed.

I had assumed that both of my garage doors would open with the same level of clearance to the ceiling. A logical assumption, I will add, that turned out to be completely incorrect. I assumed that because the two garage doors were part of the same garage and installed at the same time they were alike in the key ways I needed. I answered the question, “how are they the same?” I didn’t answer the question, “how are they different?

The second garage door requires around 16 ½ inches clearance from the ceiling. The first only required 17 ¾ inches. Because of the order I did the doors, I inadvertently started with the taller shelves and then moved to the shorter ones. Had I done them the other way around, both would be short and I’d be losing out an extra 1 ¼ inch of storage on the other shelf. The image to the right shows the difference between my spec and reality.

In the end, it wasn’t hard to un-bolt the hanging supports and make them the right height. But, I realized at that moment the wisdom I’d had in making the hanging supports from two adjustable pieces. This was an easy, reactive change to make because of the flexibility of the design.

Had I decided to cut single pieces to length and had I made a mistake in estimation or measurement, I would have been stuck. Stuck with shelves shorter than they needed to be or stuck with pieces too long that needed to be cut again.

Because I paid the slightly higher cost up front for a flexible design, it paid off down the line when I ran into something unexpected. A good example on why your design shouldn’t be so locked to the spec that it can’t be easily changed.

Incidentally, this setback and the episode with the hex driver fallacy are what caused me to write these articles. I figured there might be a way to make my failure of benefit to others.

I then discovered another way in which the second set of shelves differed from the first, and again, flexibility came to the rescue.

The Benefits of Wide Tolerances

One advantage of the modular nature of working with a big erector set (or meccano if you’re in the UK) is its tolerances. You are working with metal that is bolted together, but it will bend and flex a bit as needed. This means if you install your ceiling mounts ¼ inch too wide or too narrow (I did both), it will all come out in the wash.

Also, because the slots are every ¾ inch or so, you can attach the pieces however you like. This was important on the second set of doors. For one of the 4 shelves, the ceiling comes in a bit to leave space for plumbing. This left me with a dilemma. I could:

  • Shorten the shelf by a regular amount (make it 36 inches wide)
  • Shorten the shelf by a custom amount (cut it to 44 inches wide)
  • Leave it full size and just change the hanging supports

I chose option 3 because it was the least amount of work and I was willing to live with the compromise. And because of the modular nature of the angle iron, it was easy to do.

I mounted the shelf supports on the outside rather than the inside of the hanging supports and I let the shelf extend 4 more inches past. Standard parts, flexible design and a willingness to compromise on the aesthetics. It isn’t consistent with the rest of the shelves, but in the end it didn’t matter. And I ended up putting camping tarps in there anyway and they compressed nicely to use the smaller space.

One Additional Thing

You may be wondering why the second door opens higher than the first. Truthfully, I don’t know and I don’t care. My goal was to hang the shelves and understanding some esoteric piece of info about why one door requires more clearance than the other doesn’t help me achieve my goal. And to be more accurate my actual goal was to clean out the garage, not build shelves.

When I restate it that way, understanding why there is a difference in clearance is even less and less relevant to the goal of cleaning the garage. I make a note of that point because some software developers/engineers by their nature need to understand how everything works and why things happen. Most of the time this is a good thing, but if you don’t keep your eye on your big picture goal, you can spin off into the weeds, wasting time on things that in the end don’t matter.