| J |
|
navigational aids: News ticker:
|
14 October 05.
This essay has been edited and aggregated into a longer work entitled Why Word is a terrible program. The warLest you think this J thing is some sort of recent meme, it all comes from vi, a text editor written in 1976. I am using a version of vi (vim) to write this right now. OK, I'm going to pause for a second and let that sink in: most programs have a shelf life of about six months, and this guy wrote a program twenty-nine years ago which is still in somewhat common use today. j goes down, k goes up, {jfw will go to the first instance of the letter w in your paragraph. Also, since I can't stand seeing that unclosed open-bracket, I have to tell you that }j%d% will delete a parenthetical remark in the first line of the next paragraph. Which is all to show you that Mr. Joy, the author of vi, fell soundly on the efficiency side of the efficiency vs intuition scale.We sometimes like to write documents which actually have Js in them, and vi thus has modes: in editing mode, j goes down and d$ will delete the rest of the line; in insert mode, the j key puts a j on the screen, and typing d$ puts gibberish on the screen which quickly reminds you you're in the wrong mode. There are two competitors to J. The first is the ctrl-D school, rooted in EMACS, written by a certain Mr. Stallman (whom I have found to be perfectly capable of being very reasonable) . EMACS's keymap is sort of like vi's, in that it's not particularly intuitive, but once you've learned it, you're done. However, it's a compromise along the efficiency vs intuition scale, because you don't need to deal with modes (more intuitive) but reaching for the ctrl key all the time is not nearly as pleasant as twitching your index finger to hit the j key. The joke is that EMACS stands for escape meta alt control shift. The EMACS vs vi war is a long-standing one, which is just kinda dumb, because they're of basically comparable efficiency. No, the real drain on the economy is the other school—the down-arrow school.Let me take a paragraph or two to make this as clear as possible: the down-arrow school is a total failure when it comes to efficiency. On my screen right now, getting to the first w in the last paragraph via arrow keys is 27 keystrokes (using ctrl-arrow to go by word where possible). That's about three or four seconds for a single navigation, though it'll take you still longer to do it with a mouse. Do forty three-second navigations in a day and you're already up to nine hours in a work-year—a full work day a year just hitting the arrow key. You get to multiply by your wage to see what your company is spending per annum to facilitate ease of initial use. Even if it's one tap of the arrow key, your hands are already off the home keys; going off and on again is another half-second. If you do a hundred arrow-key navigations in a day (and if you're an office worker who does a lot of writing, you probably do closer to a thousand), that's another full work day a year just moving your right hand back and forth between the arrow keys and the home keys. The rabidness of the aforementioned text editor wars comes from the fact that text editing absorbs a huge amount of one's life. If you're like most office drones, most of your time at the computer is spent writing and editing plain text—and you're just one office drone; there are millions in the U.S.A. who are all operating computers basically identical to yours, using a down-arrow school text editor of some sort. Yeah, there are people doing flashy data-slinging with big servers, but the bulk of computing is the literally billions of person hours per year spent editing text. Now multiply that half-second to move the right hand to the arrow key; at this scale, it adds up to literally millions of person-days per year spent on making that little twitch. With an entirely straight face, I can say that on the order of a billion dollars per year is spent on paying people to hit arrow keys. When the programmer guys got together and wrote whatever it is you use to write your documents and navigate your web pages, they had all of the paradigms at hand. Half of these guys are using EMACS or vi themselves. We get frustrated when we ask Mr. Computer Geek for help and he (always a boy, eh) comes back with over-everyone's-head exposition about just opening up regedt and doing a quick ctrl-f for HKEY {343-f2ea53e}. Less blatant but just as insidious is when Mr. Geek suffers from the Lake Woebegone effect. He knows that he knows more about PCs than you do, therefore you are dumb and wholly incapable of learning the reams of knowledge that he has compiled. The IT department at my local think tank is stocked with such people; given their attitude toward us users, I'm sometimes surprised they haven't installed drool-guards on all the keyboards. And this is at a think tank, where even the dense kids are pretty darn sharp. Of course, the IT department is thinking about the worst case. But when was it ever efficient to force everybody in a several-hundred person organization to work with exactly the tools that the least-able could work with? A reasonable approach would be a system where you could use both the down-arrow and the j key. Most versions of vi let you do this (and EMACS allows ctrl-D and down-arrow), but few down-arrow school programs include a vi or EMACS keymap as well. And so, after dealing with such people for too long, I take Google's j key as a slight victory in a long battle against the forces of condescension. It's just two keys, a far cry from a word processor with a full vi keymap, but it's a sign that the guys who designed and programmed the system felt that it was more important to make usage efficient than to make it drool-proof. As such, it gives me hope that maybe the software of the future might focus on long-term efficiency over the quick sell.
[link] [3 comments] Replies: 3 comments
|