Software everywhere

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?

11:07 PM Sun Jan 8, 2012

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:

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.


  1. OK, people were really responding to Marco Arment’s tweet about my question. But at least I got mentioned in the responses. 


2 Responses to “Software everywhere”

  1. Ben K says:

    Great point you address in this article. It really is sort of insidious, how pervasive software is in our seemingly tactile world, when one stops to think about it.

    On the home button issue, one consideration not embodied in my tweet was related to Occam’s razor. While it did occur to me that it’s conceivable Apple might have designed a software-based interpreter for the button’s electronics, it would likely be much cheaper (and easier) just to build a mechanically-reliable button. :)

  2. Jay Tamboli says:

    See also fly-by-wire airplanes, http://www.popularmechanics.com/technology/aviation/crashes/what-really-happened-aboard-air-france-447-6611877:

    Still, the pilots continue to ignore [the stall alarm], and the reason may be that they believe it is impossible for them to stall the airplane. It’s not an entirely unreasonable idea: The Airbus is a fly-by-wire plane; the control inputs are not fed directly to the control surfaces, but to a computer, which then in turn commands actuators that move the ailerons, rudder, elevator, and flaps. The vast majority of the time, the computer operates within what’s known as normal law, which means that the computer will not enact any control movements that would cause the plane to leave its flight envelope. “You can’t stall the airplane in normal law,” says Godfrey Camilleri, a flight instructor who teaches Airbus 330 systems to US Airways pilots.