Software Developer and GNU/Linux specialist

Smart Little Details

We eat healthy in my home. That’s why my wife and I both like to start our day with a sugary, marshmallow-ridden cereal like Lucky Charms. Today I pulled a new box from above the refrigerator and prepared to open it. The thing is that I hate opening boxes of cereal, because the lid flaps always tear on account of the glue. Then the top of the box is this crummy, tattered mess that makes me wish I could just go to the store with my own container and buy the stuff in bulk. Not so this time. I inserted two fingers under the middle of the flap and found no glue in just that spot. I slid my fingers carefully toward the edges of the flap to avoid tearing the paper as much as possible, and the flap came away clean. Underneath I found, on the other flap, two neatly cut rectangles where the printed outer layer had torn off; the glue had been placed just inside the scored areas, and the delamination of the paper had stopped at the edges. I had to smile; somebody clearly had thought about the frustration of something as simple and unimportant as a cereal box and decided that this one should open cleanly and easily.
I’ve been talking about a tangible product that’s been designed to please in a small way, a way that most people don’t think about very much. It’s one of those little details of presentation that add up to a big picture of a product. Details of this sort don’t really affect the usability or safety of a product, but they say something about what the producers think of both their product and their consumers.
Like cereal boxes and other tangibles, software is a product of human effort. It has core features (the cereal) and ancillary ones (the box and its details). It goes without saying that the core has to be solid or the product won’t be any good. But there is something to be said for the attention that designers and developers give to refining the ancillaries. Again, those extra touches are the difference between good enough and excellent. They may be the difference between something that is minimally viable and something people will enjoy using.
All that being said, the “nice points” of software products should not overrun the core functionality. Completion features are a good example for illustrating this idea. Most or all modern IDEs have extensive completion and popup documentation features, and in most cases they simply pop up. In some cases this happens at the first keypress. Even the fastest machine lags on the laborious task of loading all the data required to display those popup boxes. As a matter of course, I disable the automatic popups and set up hotkeys when I install a new IDE on a machine I intend for my own use. The whole reason for such a piece of software is to write other programs, and the code completion and documentation popups are supposed to be nice little helps. They are ancillaries, but by popping up like Web advertisements, they somewhat obscure the core purpose of the program. The key in adding nice little details is giving them just enough presence to matter without being in the way when they’re not needed.

Post a Comment

Your email is kept private. Required fields are marked *