Poor (And) Nonstandard Design
I know this isn’t actually a post about “software design” per se, but I think it can be relevant to us as software engineers. So I live in Phoenix and it’s June. This means it is scorchingly hot every day. We won’t see high temps below 100 degrees until late September.
This means that as someone who tries to stay in decent shape, I have to go the gym and run mindlessly on a treadmill rather than the great outdoors. For those that use treadmills, you’ll know that they usually have a “stop” button on the main front panel–the same panel where you typically enter your speed and incline. Some treadmills also have a special failsafe device that has a cord that is attached to you or your clothing–the idea being that if you fall off the treadmill it will trip the failsafe mechanism and instantly stop moving. The photo here is typical of a treadmill and it’s red stop button.
The other day the gym was busy and I had to use an older cheaper treadmill in the back row, far from the TVs at the front. It had a unique “feature”.
It’s “Stop” button was located in the center on the left handrailing of the treadmill. It’s a non-standard design. Being non-standard in and of itself isn’t bad–especially if it improves on the design flaws of the standard design. However, this design has a uniquely annoying design flaw. See if you can think of it on your own before highlighting the blank area below to see the answer:
A runner can easily bump the stop button inadvertantly if they lower their arms a bit while running. This happened to me twice, and I didn’t appreciate having my run stopped just as I was getting into the rhythm. In fact, I cannot think of any advantage at all–from a usability perspective–to having the button on the railing. Maybe it’s cheaper or easier to manufacture.
How does this apply to software design? A developer can certainly feel free to innovate and think of “out of the box” solutions (after all, if we didn’t try news things we’d all still be doing FORTRAN)–but they need to be sure that they aren’t being different just for the sake of originality–and it must absolutely be USABLE. There needs to be a meaningful advantage to implementing an off-beat solution.