Why Engineering Workarounds is Stupid

Back when TV was first invented, their Cathode Ray Tubes weren’t terribly well-designed. They curved a lot, especially at the edges, making the picture at the edges useless. To compensate – to workaround – manufacturers buried the edges of the tube in the TV cabinet, so you could only see the relatively-flatter middle portion of the tube.

As a result, broadcasters had to be careful not to put useful information near the edges of the picture. This concept because known as overscan, meaning the tube was scanning its electron beam(s) across a larger surface than could be seen.

Improvements in manufacturing and electron beam control happened almost immediately, though, making overscan less necessary. Unfortunately, it was built into the broadcast standards by that point, and so everyone kept playing along. Today, overscan is completely and utterly meaningless in our world of readily-available, cheap flat panels. But overscan persists, with broadcasters identifying a “safe zone” for content, and more or less ignoring the “edges” of the screen. The problem is starting to fade as content shifts over to all-HD (which presumes a flat panel type of display), but it’s been an annoying problem for decades.

This should be an object lesson in not engineering workarounds as permanent solutions. If something feels hacky or kludgy, either don’t do it, or at the very least don’t bake it into a standard that will be difficult to change later.

For example, those early TVs should have been built with a circuit that took a non-overscanned image and shrunk it down to the flatter, reliable portion of the screen – with a switch that could turn that feature off. It’s not unlike the scaling modern flat panels can all do, in fact. That way, the workaround can be put into use, but the hack – overscanning – doesn’t get built into the broadcast standard.

We build workarounds every day in IT, but you should pay attention to them. Identify things that you know are hacky, and schedule them for a mental re-visit every few months. Decide if things have improved in other areas, and if the problem can now be solved in a better-engineered fashion. Kludgy scripts should be replaced with more sensible, maintainable, reliable solutions.

Don’t make workarounds part of a permanent standard!