The myth of the magic button

In the movie Contact, Jodie Foster plays a scientist, Ellie, studying extraterrestrial activity. After a long time of dreaming, the unexpected seemed to unfold in front of her eyes. She and her team captured a signal from another galaxy. After the original excitement, they started to want more. The signal was played on an audio system, and there was a certain regularity to it. However, they still could not make sense of what it means. They wanted to decipher it.

They tried all sorts of approaches but none seemed to get them closer to the meaning. That was until the blind scientist shushed them all, and after listening carefully he conjectured that there are in fact two signals mixed up in one: an audio and a video signal. It made sense, and everyone got excited. Now, all they needed to do was to split the signal. Even at that time, they were using dedicated software systems with multiple options for manipulating signals. They did several things, but the key was to use the button that split the fields in the signal (see below). In the end they managed to get an audio signal and a video signal.

The-magic-decoder-button.png

At first sight, this whole scenario might appear natural. There were two signals, and they chose the relevant splitting. And yet, this scenario is ridiculously lucky. Why lucky? Because the radio button could only distinguish between two signals. What would have happened if there were three signals? Two is just a number. Three would be just as possible.

And how about the way in which the signals were mixed up? And what if the encoding would have been different? Just think of the video codecs mess we have to deal with these days just to decipher signals that are known to be video and that are known to come from Earth.

Ellie and her team were lucky, but let's look at the problem from a different perspective. At some point, someone bought the tool that the team got to use. Could you imagine how would it be if we would get a message from outer space with three signals mangled up with a funky codec and the tool would only be able to distinguish between two standard ones? (Ok, ignore all sorts of details for the sake of argument) It would have been a monumental failure.

While not all tools have such a large impact potential, still tools shape your productivity and the process of acquiring your tools matters. If you only look for standard solutions, you will only solve standard problems. Yet, it is most likely that your value comes precisely from what is not standard.

How can you stay away from the entrapment? Look for the magic button.

Magic buttons come with great promises and seemingly cheap prices. All you have to do is press the button, and the report will be provided. You hardly even have to think. The magic buttons automates everything. This is luring, but its usefulness is limited.

The value of a tool resides in its ability of solving a problem. If both you and I are sharing the same magic button, it means that both your and my problem are equal and so are the solutions. Yet, our systems are not equal at all. Think of the last static analysis tool you have used. You likely downloaded it, install it, point it to your system, press the magic button (or command) and you got a report. No customization needed. It's cheap. But what does your system have in common with mine? Perhaps they share the same programming language. So, the tool will focus on that. It will reveal issues related to language idioms such as using nulls where you should not. Granted, some problems can be due to not following these idioms, but that is hardly where our significant problems come from. Our systems' value reside in what we build with the language. That value and the associated problems deserve much more attention, and that is what a tool should focus on solving.

If you find that the tool is offering no customization possibility, stay away. And if you are a software engineer, you should go further and demand your tools to be programmable. After all, it is programming that makes you valuable.

Posted by Tudor Girba at 21 August 2013, 7:22 am with tags story, economics, tooling link
|