Software everywhere
January 9, 2012 at 10:23 PM by Dr. Drang
I’d been thinking about writing this post for a long time, but I gave up because I couldn’t figure out a hook for it. Last night’s responses to my question at the end of this post about the seemingly bogus procedure for recalibrating your iPhone home button1 brought it back to mind and gave me the hook.
The alleged recalibration—which is supposed to fix a twitchy home button that registers single clicks as double clicks and vice versa—involves bringing up the phone’s “Slide to power off” screen and then holding down the home button for an extended time. Many of the people who called bullshit on the procedure pointed out the difference between hardware and software. I think Ben Kennedy had the best distillation of this line of thinking:
@marcoarment @drdrang I would be blown away if this were legit. The button is just a physical switch isn’t it? How do you fix HW via SW?
That is, I think, a very natural thought, and yet software has insinuated itself into our devices to such an extent that our instincts about these things are often wrong.
In fact, the biggest difference between the devices that were common during the first half of my life and those that are common now is how the functions of switches and buttons have changed. Some examples:
On/off switches used to literally control the power that ran a device. Now, they often just send signals to the device—signals that mimic, after a fashion, the old, true power switch. Is there a switch on your Mac that cuts off its power? No.
What about your TV? Does it have a real power switch or just a button that initiates a startup or shutdown sequence?
And speaking of TVs, would you believe me if I told you that when I was young changing a channel was instantaneous? No, really. There was a big dial on the front of the set, and when you turned it, the tuner changed right then and there. Today, TVs take forever to change channels because they have to think about it first. And if you have TiVo, you can take a bathroom break while you wait for a channel change.
It’s invaded our cars, too. Do you remember the claims from a couple of years ago of unintended acceleration in Toyotas? To engineers my age, the idea seemed initially absurd, but that was because we think in terms of the accelerator linkages of our youth. Today’s accelerator has no mechanical connection to the engine; it just sends a signal down a wire that gets interpreted by a little computer or PLC which, it turn, sends another signal to an actuator that runs the throttle.
The same is true for brakes. That’s how we get antilock brakes and traction control. (This isn’t to say that the unintended acceleration claims were right; they weren’t.)
The upshot is that all this software intermediation—combined with clever design to give us the look and feel of the old, no-software devices—often makes us guess wrong about what’s really going on when we push a button or turn a knob. Quite often, we’re just providing input to a program.
So although it certainly seemed wrong that a particular sequence of actions would cause the home button to work properly again, because it’s signals are interpreted by software the notion couldn’t be dismissed out of hand. It takes an actual investigation to determine the truth. (Which seems to be that the procedure is, as we all thought, bullshit. Error logs indicate that all the procedure does is kill the currently active app.)
All this software working behind the scenes makes me a little uneasy, but it’s hard to argue with the results. Although I dislike how long it takes to change a channel, I’d never trade my current TV for the one I had when I was in my 20s. And the Opal I drove in the late 70s was no match in ice and snow for the Camry I drive now.
-
OK, people were really responding to Marco Arment’s tweet about my question. But at least I got mentioned in the responses. ↩