Computing pioneer Alan Kay tells us that a computer is “an instrument whose music is ideas.” This seems like a beautiful metaphor, until you realize that we have somehow ended up in a world where the profession of musician is nearly unknown. To continue with this analogy, let’s imagine that you were a child who loves music. A child with Mozart’s inclinations, if not necessarily the full magnitude of his gifts. Your parents buy you a toy piano, and you live out what are, unbeknownst to you, the brightest days of your life. The years go by, adulthood comes, and you become – no, not a composer: an organ grinder. (Or, if you like, a disk jockey.) Or let’s say that you were an extraordinary lucky and dedicated child of music. You manage to enroll in a conservatory. Or perhaps you don’t, but instead you spend your free time away from your organ-grinding day job as an amateur composer. And yet, in either case, you are still stuck playing out your original works on a hacked barrel organ. Why? It is because, in this imaginary nightmare world, the very idea of a musical instrument has faded away. If someone wishes to hear music, he turns a crank or listens to the results of someone else doing so. Or perhaps there are Victrolas in this world – and professional composers, the few which still exist, are expected to compose music by hand-etching grooves on a phonograph record, as if they were machinists working a peculiar sort of lathe.
Sadly, the above scenario is more truth than fiction – for computer enthusiasts. There is a particularly cruel discrepancy between what a creative child imagines the trade of a programmer to be like and what it actually is. When you are a teenager, alone with a (programmable) computer, the universe is alive with infinite possibilities. You are a god. Master of all you survey. Then you go to school, major in “Computer Science,” graduate – and off to the salt mines with you, where you will stitch silk purses out of sow’s ears in some braindead language, building on the braindead systems created by your predecessors, for the rest of your working life. There will be little room for serious, deep creativity. You will be constrained by the will of your master (whether the proverbial “pointy-haired boss,” or lemming-hordes of fickle startup customers) and by the limitations of the many poorly-designed systems you will use once you no longer have an unconstrained choice of task and medium. To my knowledge, no child grows up “playing doctor” and still believes as a teenager (or even as a college student) that an actual medical practice resembles that activity. Likewise, no one has a fully functional toy legal system to play with as a child, and as a result goes into law. On the other hand, “adult” programming, seen from afar, is enough like child-programming to set the computer-enthusiast child up for just this kind of exceptionally cruel bait-and-switch.
Let’s say that you were one of the lucky ones – those who found a way to pay their bills via something resembling creative programming. Or, far more likely, you inhabit the salt mines by day, while letting your mind run free in your spare time. Yet in both cases, you are doomed to work with the instruments of the salt mine! Fortunately, in software there is room for some liberating deviancy – since bits are easy to rearrange and copy. But as for hardware, you come home to the very same instrument of torture and mutilation you left behind in the cube farm: the typewriter keyboard. (And, naturally, the “C machine.” But the latter is an overworked subject on this blog, and today we speak of other things.)
Virtually every profession has a concept of professional equipment. It tends to be costlier, sturdier, more solid, more rewarding of dedicated training, more difficult to obtain, than equipment intended for amateurs. And yet, among the tools of a modern programmer’s trade, we find scarcely anything which fits into this category. Perhaps you are now sitting in front of your lovingly-maintained heirloom IBM “Model M” keyboard, but it is still a typewriter keyboard – and resembles, in many fundamental ways, the cheapest piece of disposable trashware found at your local electronics store.
Conventional wisdom in the technology community holds that the personal computer revolution gave everyone access to professional-grade computing equipment. I hold the opposite view: that the very notion of professional equipment has been forgotten in our field (and to my knowledge, in our field alone.)
If the above is a delusion, I am proud to share this delusion with several persons whose brilliant minds I think of as my guiding lights. Among them was Erik Naggum:
Erik Naggum, comp.lang.lisp. Feb. 16, 1997. (Emphasis mine.)
And so, here we are, deskilled craftsmen, flippers of bits. Some of us fungible today, some tomorrow. Still performing the same old menial tasks by mouse instead of by lever — the so-called Computer Revolution notwithstanding. Still “turning steam engine valves by hand.” Still writing the same, dreary boilerplate code, again and again. On QWERTY keyboards…
You have probably heard of Douglas Engelbart: one of the very, very few genuinely great minds of the computing field. He is best known as the inventor of the computer mouse – but in fact, this man created just about all of the conceptual underpinnings of what we now think of as the standard human-computer interface. Arguably, he is single-handedly responsible for the very notion of interactive, visual computing. Engelbart presented his ideas to the public in one long demo session on December 9, 1968. This demo is known today, quite appropriately, as “The Mother of All Demos.”
If you watch the Mother of All Demos – which you should – you will notice the piano-like device sitting to the left of the conventional keyboard:
A closer look:
The above gadget is known as a chorded keyboard, or chorder. In Engelbart’s computing environment, it supplemented, rather than replaced, the traditional typewriter keyboard. Most of Engelbart’s contemporaries saw the chorder as a somewhat naive engineering mistake. Among them was Alan Kay:
Thierry Bardini, Bootstrapping: Douglas Engelbart, Coevolution, and the Origins of Personal Computing. (p. 215.) (Emphasis mine.)
As far as I can tell, this is still the mainstream view today:
Richard Monson-Haefel, “Engelbart’s Usability Dilemma: Efficiency vs Ease-of-Use.“
And yet, there were those who believed that there is something to be gained by breaking with the typewriter tradition. Why should the mechanical constraints of nineteenth-century clockwork limit today’s user interfaces? Among the few brave souls who “put their money where their mouth is” was Cy Endfield – American (later, British) screenwriter, film director, theatre director, author, magician and inventor. Endfield, a true polymath, created the Microwriter – a pocket word processor equipped with six keys, intended to be operated with one hand:
At first glance, this device resembles the familiar stenotype. However, the latter was never meant to be a general-purpose text entry system. Stenotypes use syllable-based encodings, narrowly specialized for transcribing human speech. Endfield’s Microwriter was something rather different: a genuinely-original, alphabet-based, general-purpose text entry system.
The Microwriter’s use of one – rather than both – hands seems like a shortcoming, until you realize that the device was designed for maximal portability – at the very dawn of the age of personal computing! It was really intended to replace a traditional paper clipboard, rather than a typewriter:
Endfield’s chording system was of a very elegant design, which balanced ergonomics with mnemonic simplicity:
Volume One of the Microwriter User Guide contains a miniature crash-course in the use of Endfield’s writing system. This document is perhaps the cleanest and most imaginative piece of technical writing that I have ever come across:
There have been other commercial and academic attempts at chorded keyboards, but this one happens to be the earliest (that I am aware of) which reached actual production and was placed on the market (however briefly.) It is also the only one which I have had the good fortune to actually hold in my hands:
This rather unimpressive “hello world” was achieved after around fifteen minutes of practice. The speed is a fraction of my QWERTY typing speed, but is a near-match for my handwriting on a good day. What would it have been like if I had been put in front of an Endfield keyboard as a small child, instead of a typewriter monstrosity?
And what if you could expect to find (or carry) a decent, non-wrist-destroying chorded typing device everywhere you go, at work sites, schools, etc.? Clearly, that is not the kind of world we live in: century-old technological standards die hard. But why is there so little interest among genuinely-professional computer users in an input device which maximizes speed and slows the destruction of the hands with which you work? And I marvel at the absurdity of the miniature QWERTY keypads found on mobile phones! Surely that is where the supremacy of the chorder would be indisputable.
Fascinating as the chorded keyboard is, its confinement to the ghetto of “crackpot technology” is but a symptom of the underlying disease: the total victory of the technological business model which caters primarily to the unskilled.
Naggum clearly saw the absence of professional computing equipment for what it is: a result of the erosion of the very concept of the craftsman, the skilled, non-fungible professional:
Erik Naggum, comp.lang.lisp. Jul. 15, 1999.
In the mind of today’s technological entrepreneur, the ideal user (and employee) is semi-skilled – or unskilled entirely. The ideal user interface for such a person never rewards learning or experience when doing so would come at the cost of immediate accessibility to the neophyte. This design philosophy is a mistake – a catastrophic, civilization-level mistake. There is a place in the world for the violin as well as the kazoo. Modern computer engineering is kazoo-only, and keyboards are only the most banal example of this fact. Far more serious – though less obvious – problems of this kind tie our hands and wastefully burn our “brain cycles.”
Professional equipment, whose mastery requires dedication and mental flexibility, may not be appropriate for casual users. But surely it is appropriate – in fact, necessary – for professionals? Just why is this idea confined to crackpots shouting in the wilderness? I hope to learn a definitive answer to this conundrum some day.
Some people said, after reading this: “He thinks that computers ought to be costly and difficult to use.” Sorry, idiots. The message here is that a computer system should maximally reward learning. (The way Emacs does.) And that this should certainly be true of a computer one uses for 8-14 hours a day, for decades.