Patterns in static

J





navigational aids:
 




News ticker:





topics covered:





This site is listed on Blogwise, the DC Metro blog map, and (sort of) DC blogs.

the feedback logo. It rotates.

14 October 05.

This essay has been edited and aggregated into a longer work entitled Why Word is a terrible program.

I feel as though a little battle has been won.

Google now has an RSS reader. It's pretty cute, and I personally have switched to it. If you're not familiar with RSS, you may want to read the relevant parts of this prior entry and this one. I assume my readers are using an RSS reader to come to this site; if you're not, you're missing out.

A wonderful feature of the reader is that the j key will let you go down in the list of headers. Yeah, j, as in jo down. K, as in kup goes up in the list. Nope, absolutely nothing mnemonic about the J and K keys, but they feel wonderful. I assume the reader knows how to type properly, with hands on the home keys; I generally find my hands are on the home keys even when I'm just staring at the screen. My hand doesn't need any help from my brain to find the little nubbin on the J key. Which means that I am physically incapable of using those jucked up Apple keyboards which put the nubbin on the D and K keys. Why, Apple, why?

But that J key. It's the index finger of 90% of the world's dominant hand, and the keyboard is designed so that that index finger knows exactly where to rest. Moving down a page is the most common operation, both in reading and even editing, so it makes complete ergonomic sense to attach this to the strongest finger of the strongest hand. Even the lefties will have no problem with it.

But it flies in the face of all mnemonics. Maybe you can come up with some word having to do with the process of scrolling down that begins with the letter J, but I've got nothin'. A good user interface is a balance of a number of things which are not necessarily in harmony: ease of initial use (`intuitiveness'), low cognitive effort (ease-of-learning), and efficiency (less time wasted). I put intuitiveness in scare quotes because I rarely find intuitive interfaces to _actually_ be intuitive. They're designed around certain target users whom I'm evidently incapable of thinking like. As above, I could not think of a more efficient keymap, and I personally think the use of the J key is easy to learn because of its ergonomic delight. But it throws ease of initial use out the window. You wanna use the nifty hotkeys? Then pretend you're literate and read the instructions.

Faithful readers will recall from prior posts that I think sacrificing efficiency for ease of initial use is a terrible idea. You use your word processor or RSS reader for the first time once, but may subsequently use it five days a week every week for the rest of your life. An extra minute a day lost due to an inefficient-but-intuitive interface means about four and a half hours a year lost. An interface which works against intuition can be destructive, so if U went down and D went up, we'd have to write off the application as hopeless, but J doesn't work against anything. It's just a gesture.

Within a week of Google's RSS rollout, Bloglines added a little header to its page: "You can now navigate through Bloglines with hotkeys! [...] Hotkeys: j - next article k - previous article [...]"

Anybody familiar with the OpenOffice.org internals? bdamm (arroba) openoffice (dot) org will give you a hundred bucks to write code to have J move the cursor down a line (plus a handful of other keystrokes like K).

The war
Lest 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]
[Previous entry: "An environmentalist in winter"]
[Next entry: "physical property v intellectual property"]

Replies: 3 comments

on Saturday, October 15th, Andy said

you really like Google's better than Bloglines?
I don't like the fact that it doesn't have folders for grouping similar blogs.
Also, isn't the Lake Wobegon effect when everyone thinks they are above average in something?
Nonetheless, I am glad to see that a company is finally taking your wants seriously!

on Saturday, October 15th, Andy said

also -- I just got a new iMac -- and mirabile dictu, the nubbins are on the correct keys!

on Saturday, October 15th, the author said

--Bloglines also fails to update some feeds, so I have to manually check them from time to time, defeating the purpose entirely. As for the folders, Google prefers the term `tag', but for practical purposes, there's scant difference between the two. I exported my Bloglines feeds to Google and the folder structure seemed to transfer to the tag world just fine.

--It's not a company listening to my haphazard desires, it's a question of saving the world. People are out there suffering, in agony over their text. Or, less histrionically, we've got two consistent market failures: the difficulty of evaluating long-term efficiency, which causes people to overvalue ease of initial use, and the agency problem, wherein the authors and IT purchasers assume that they're above average and everybody else needs coddling. I'm partly interested in the software industry because it's such a showcase of market failures.

Comment!
Yes, the comment box is tiny; write in a real text editor then just cut and paste here.
If you are a human, type the letter h in the first box.
h for human:
Name:
E-Mail:
Homepage: