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:

this is my _workbench_, dammit, it’s not a pretty box to impress people with graphics and sounds. when I work at this system up to 12 hours a day, I’m profoundly uninterested in what user interface a novice user would prefer.

Why are we even _thinking_ about home computer equipment when we wish to attract professional programmers? in _every_ field I know, the difference between the professional and the mass market is so large that Joe Blow wouldn’t believe the two could coexist. more often than not, you can’t even get the professional quality unless you sign a major agreement with the vendor — such is the investment on both sides of the table. the commitment for over-the-counter sales to some anonymous customer is _negligible_. consumers are protected by laws because of this, while professionals are protected by signed agreements they are expected to understand. the software industry should surely be no different. (except, of course, that software consumers are denied every consumer right they have had recognized in any other field.) …they don’t make poles long enough for me want to touch Microsoft products, and I don’t want any mass-marketed game-playing device or Windows appliance _near_ my desk or on my network. 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:

In use:

(source)

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:



"Engelbart, for better or for worse, was trying to make a violin," "most people don't want to learn the violin." User-friendliness, not coevolutionary learning, became the norm in the design of human-computer interfaces.

In Alan Kay's metaphor, the problem with bootstrapping in Douglas Engelbart's Augmentation Research Center was that whileUser-friendliness, not coevolutionary learning, became the norm in the design of human-computer interfaces. 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, Today, human-computer interaction is focused on ease-of-use and learnability. Ideally, people should be immediately effective with a computer the first time they use it. The emphasis is on usability – without the necessity of training. The exact opposite of Engelbart’s approach. Engelbart’s dilemma is that his philosophy produced some of the best computer technologies of our age (e.g. mouse, windows, word processing, etc.), but the full realization of his vision is completely counter to way interaction designers think of computers systems today. In fact, Engelbart's belief in efficiency over ease-of-use places him in the fringe of computer interaction design today. That’s sad considering he’s done more for interaction design than any else I can think of.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:

(Source)

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. something important happens when a previously privileged position in society suddenly sees incredibly demand that needs to be filled, using enormous quantities of manpower. that happened to programming computers about a decade ago, or maybe two. first, the people will no longer be super dedicated people, and they won’t be as skilled or even as smart — what was once dedication is replaced by greed and sometimes sheer need as the motivation to enter the field. second, an unskilled labor force will want job security more than intellectual challenges (to some the very antithesis of job security). third, managing an unskilled labor force means easy access to people who are skilled in whatever is needed right now, not an investment in people — which leads to the conclusion that a programmer is only as valuable as his ability to get another job fast. fourth, when mass markets develop, pluralism suffers the most — there is no longer a concept of healthy participants: people become concerned with the individual “winner”, and instead of people being good at whatever they are doing and proud of that, they will want to flock around the winner to share some of the glory.

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(The way Emacs does.) And that this should certainly be true of a computer one uses for 8-14 hours a day, for decades.