Malleability

A couple of people, in response to last night’s post, have suggested a simpler solution that doesn’t involve tricky Unix stuff or scripting. Their suggestion would work, but as I explain in an update to the post, it isn’t—for me, at least—the complete solution. Scripting provides that last bit that allows me to work with the computer instead of work around it.

Which is why the recent news about Sal Saghoian and the Automation Technologies group at Apple is so disheartening. What makes computers great is their malleability through software. They are machines that can turn into other machines at will. You load another program into the computer, and suddenly it can do a completely different task.

The canonical example of the superiority of the computer is the story of Wang Laboratories. Once upon a time, the phrase “word processor” referred to a machine, and Wang was the leader in providing such machines. The rise of the personal computer killed Wang Labs because it turned “word processors” into programs, one of many programs that could be run on the same machine.

Steve Jobs understood how important malleability-by-software was. When the Macintosh was introduced, there were complaints that it was a closed box that couldn’t be expanded. Steve argued that the Mac would be expanded through software. He made the same argument two decades later with the iPhone. The iPhone’s lack of a hardware keyboard wasn’t a deficiency, he said. Software would take the blank slate of the iPhone’s touch screen and turn it into an input system tuned specifically to the task at hand—better than a hardward keyboard.

Part of what makes this malleability so great is that its power isn’t limited to professionals. Rich Siegel is a great programmer, and he makes a great text editor, but he can’t know everything I want to do with it. So he gives me scripting access to BBEdit’s power, and I get, in effect, a new editor, one that does exactly what I need instead of almost what I need.

Most people, you might argue, can’t do what I do. They can’t sit down and write a script to automate a repetitive task, and Apple needs to appeal to the multitudes of them, not the few of me. I would reply first that scripting isn’t all that hard and can be done at many levels. I learn from people who are much more capable, and in turn, I hope that others learn from me. The internet has democratized scripting.

Second, including scriptability doesn’t make a computer harder to use for those who don’t script. The existence of Pythonista, Workflow, and the x-callback-url scheme has absolutely no effect on my wife’s use of her iPad, and AppleScript has never gotten in the way of my son’s use of our old iMac. There may well be user interface features power users want that would confuse ordinary users, but scriptability isn’t one of them.

The death of AppleScript and other automation techniques has seemed imminent before, and it’s always escaped. Sometimes we’ve even gotten small advances like JXA. This latest news is more troubling than what we’ve heard before, but I’m going to keep scripting. My computer works for me, I don’t work for it.