Hacker News new | past | comments | ask | show | jobs | submit login
Keyboard vs. the Mouse pt. 3 (asktog.com)
13 points by EdiX on Nov 24, 2012 | hide | past | favorite | 26 comments



Since my discovery of it in the 1990s, this article has caused me to ignore literally hundreds of reports from programmers that the keyboard is faster than the mouse because those reports gave no indication that the speeds had been objectively determined.

The most important thing I gained from this article is an awareness of the effect by which planning a sequence of editing keystrokes tends to interrupt tasks like writing prose or writing code more than "purely perceptual" tasks like positioning the mouse cursor tend to do. Highly recommended.


But the experiment does not show that the mouse is faster than the "keyboard". It shows that the mouse is faster than using the cursor (arrow) keys for a task where doing the latter would obviously by extremely slow. For me, "using the keyboard" means typing ":1,$s/|/e/g". Say there are 100 instances of "|" to replace. Which do you think will be faster?


Lets ignore the fact that this is a search and replace since that just makes the contest painfully unfair. Normally when using a good text editor like emacs or vim and you're moving somewhere from far away you do a search. Or if you move manually you start out moving by paragraphs, then by sentences, then by words, then finally by characters when you get to the right word. But using the arrow keys you go the same speed the whole time no matter how far away you are. I understand that Word might not have all those fancy movement modes, but it does let you go faster by using Ctrl-Arrow and I don't see why Tog didn't at least let his test subject do that.


Indeed. I'm at a loss trying to understand why he thought he was demonstrating anything interesting. There would be no harm, except that now and then you hear people claim that it has been proven, by studies, that the mouse is faster than the keyboard. I suppose they are quoting people who are paraphrasing people who have sort of heard of this trivial study.


Tip: :% is equivalent to :1,$. It's shorter, too.


Yes! I learned that in this thread, in another reply.


This article only really applies to the "general population".

When you are the master of your trade (read: touch typist who types on a daily basis e.g. developer), the keyboard is much faster for most tasks. That is why vim is so popular.


Out of curiosity, is there any usability study which demonstrate this?


I have been on and off a programmer over the last 10 years. and the last 3 have been using vim(only these 3 were on linux), used to be scite for the first 3 years and whatever was available the rest of the time (which was mostly part-time programming, was otherwise studying cog. sci). I have so far been against the mousing faster than keyboarding argument and even now i reach more easier for the keyboard. But over the last year i have been writing and i can relate to that effect of interference caused by planning keystrokes in my writing(guess still am not enough of a programmer to notice it in writing code).

So i am beginning to understand that the question assumes a simplicity that plain and simple speed in some specific and narrow lab task is indicative of real-world problems and challenges. (Aka, problem analysis, solution space search, choice of solution, planning execution and then execution).Depending on the experimenter and the lab group he's working with, these experiments tend to focus on isolating one of these phenomena/mental processes(sometimes not even clear to the experimenter).

Anyway, at the moment i am convinced that writing is best done in blind manner, ie: no visual input, switched off monitor. I currently use a white on black bg on 750 words, but wish i could find a way to turn off monitor on my laptop and keep typing.

P.S: i found the same thing about QWERTY vs DVORAK Layout. i was a touch-typist(barely average) on QWERRTY too and all the research suggested it's not worth re-learning DVORAK. I started it off as an experiment(1 hr a day of DVORAK for 2 or 3 weeks) find that my writing stamina has improved. I'll bet that there are hand/palm size(area, angle,distance between fingers etc.) variations in the effect of KB layout and that's a statistically significant factor.


>I started it off as an experiment(1 hr a day of DVORAK for 2 or 3 weeks) find that my writing stamina has improved.

I think that anything that causes the person to pay more "perceptual" attention to the details of the physical process of typing will improve "writing stamina" and will reduce the chance of RSI. I tend to think that the reason people's RSI goes away when they start to learn Dvorak is that the need to learn causes them to pay more attention to the physical process of typing (and that a Dvorak user who never learned Qwerty would see approximately the same benefits if he started to learn and to use Qwerty). I am much more confident of my first sentence than my second sentence.

(To be painfully explicit, I tend to think that there are better ways of paying more attention to the physical process of typing than learning Dvorak. E.g., just resolve to pay more attention works pretty well.)


Have you tried to replicate it recently?


I've never tried to replicate it.

What I consider the important negative effects of overly keyboard-centric editing (and overly keyboard-centric window management) take years to show up, are hard to measure or quantify and have nothing directly to do with typing speed.

Typing speed is important only in that when I realized that people could be so mistaken about typing speed, I wondered what else they could be mistaken about.


This is all very well for the particular task, but now let's get into serious keyboard usage, where the difference is made.

The real approach to this particular problem (yes, I know it is a specialised problem; knowing when to use the keyboard and when to use the mouse is part of the matter) is to use find-and-replace functionality.

- The find and replace approach using Word for Windows, keyboard: Ctrl+H [Find and replace; shortcut may not be correct, I'm just working from distant memory], |, Tab, e, Alt+A [replace all].

- The find and replace approach using Word for Windows, mouse: find the find icon. I believe it's near the end of the Home tab in the ribbon, now. Click on it. Go to the Find and Replace tab (probably?). Focus on the Find field. Enter "|". Switch to the Replace field. Enter "e". Click the Replace All button. (Probably agree to replacing from the start of the document as well.)

Now tell me that that was faster with the mouse than with the keyboard (assuming that you knew where everything was from the start).

Vim.

- Keyboard: :%s/|/e/g<Enter> (and it's in your muscle memory, anyway, so that the whole thing takes no more than four seconds).

- Mouse, find-and-replace way (assuming you have the toolbar showing - I certainly don't): much the same as Word. It's in a toolbar icon.

(Note that if you have set ``behave mswin`` you can have the dubious convenience of a Word-style select mode with which you could do the replacing the slow way as in the article in just the same manner).

Which method is faster in this specialised case?

Being aware of actual timing issues and knowing when to use one and when to use another is important. I do, very occasionally, use the mouse in Vim. But Vim has such a good keyboard interface (and, you might choose to argue, not a well-tuned mouse interface) that the mouse is needed precious rarely.

And every time I've gone back to make a modification in this comment while writing it, I've used the keyboard. And I know it was faster.


I've seen this article before, and every time I've said to myself, "Gosh, how non-intuitive. I'll have to remember that"

Today, I had a little time and a little more skepticism, and said "Gosh, I wonder if it's actually true".

I, too, replicated the experiment, and for me, at least, it's completely wrong.

Conditions: Microsoft Word 2003, 12-point default, whole page view, 15-inch laptop screen, 1200x1920 resolution

Text: the paragraph of Peter Deutch's letter

Keyboard: 128 seconds Normal mouse: 167 seconds (30% slower) Lenovo Trackpoint mouse: 228 seconds (78% slower)

Yet another disadvantage of the mouse (and Trackpoint) was that the task required far more attention and generated more anxiety: it was difficult, error-prone, clumsy, and frustrating--I kept wanting to stop and rest my fingers. That is yet another reason that the mouse is a poor choice for this kind of task. With the keyboard, I could work much longer without anxiety.

I hypothesize, but have no idea of how to test, that this greater comfort results from not relying on eye-hand coordination for the details of the task, but rather being able to coordinate with a mental model of knowing what the cursor keys will do without having to see it happen on the screen.


so, using cursor keys alone and in MSWord (!) is slower than using a mouse... no mention of "real" editors e.g. emacs, vim, etc... worthless drivel... how'd this get voted up to waste my time?


I tried to replicate the experiment and couldn't. In fact I got the opposite result, with the mouse taking twice as much time as the keyboard.

I wonder if it is because of the increased pixel density.


So, someone claims that the keyboard is faster than the mouse in emacs with with small fonts, and then Tog says that he had previously showed that the keyboard was slower than the mouse in Microsft Word (presumably with a normal sized font since he mentions he did the test before getting the letter). Not exactly responsive, I expect that both the letter-writer and Tog are perfectly correct.


Worth mentioning that the someone is http://en.wikipedia.org/wiki/L_Peter_Deutsch

Not in Emacs btw but in Smalltalk with Emacs keybindings.


I guess I'm not really surprised that using the mouse is faster for specific tasks like arbitrarily moving the cursor. It's a much more random access kind of device than the keyboard.

What really makes the keyboard shine is the use of shortcuts. Change the task to a sane one, like find and replace, and I guarantee you I can hit that shortcut before you can get your mouse up to the menu bar.


I, for one, prefer using the keyboard as much as possible mostly for comfort reasons. I use vim and various vi-plugins (in chrome, intellij, eclipse) for code-editing tasks, and I even switched to a Kinesis Advantage keyboard (best 200£ spent ever), and my typing speed considerably decreased for a while, though the comfort was greatly improved, which was my goal (now I'm back up to speed, and probably even a bit faster than before). To be honest, when programming, the bottleneck for me is definitely not my typing speed, is that really the case for anyone?


I think the Kinesis Advantage is a very bad keyboard. Particularly, although the key switches (Cherry Browns) are fine, the way they are arranged relative to each other has very bad ergonomics, and any of the many non-Kinesis boards in which Cherry Brown key switches are arranged in a single plane has much better ergonomics. The reason the Advantage is bad is that when every key has a different "altitude" (height relative to the desk or floor) and a different orientation (the direction in which the center-line or "axis of travel" of the key points) it becomes much harder for the person to memorize the location of the keys and in particular much harder to memorize the "vector direction" (i.e., distance and direction) between every pair of keys and the vector direction in which the person's hand would need to move to strike every key perpendicularly.

I used a Kinesis Advantage (well, a Kinesis Essential, which has the same Cherry Brown switches and the same arrangement of keys into two "bowls", one for the left and and one for the right hand) as my only keyboard for about 2 years. I bought it to try to get rid of my RSI, but my RSI continued until I was shown (by a piano teacher) the Taubman technique by which piano players avoid RSI, which is when I realized that to get rid of my RSI I would have to stop typing or I would have to memorize the locations of all of the keys on the keyboard. (Actually, certain keys, like backquote, right bracket, left bracket, backslash and backspace, I do not have memorized. I look at the keyboard when using those keys.)

The Kinesis Advantage is a consequence of thinking of typing as a sort of "sign language" to be perceived and understood by the machine. That is IMHO the wrong way to think about typing. The correct way IMHO is to think of typing as a long series of physical actions. Imagine you have a plunger in front of you. I.e., a 3-inch-diameter disk of plastic attached to a beefy value or switch. Imagine that you need to activate the plunger reliably -- to minimize the chances that your first "activation attempt" will fail. So now you have some "perceptual" / "non-cognitive" decisions to make, namely, will you have to get your shoulder or elbow in a different position in order for your hand to contact the plunger cleanly and perpendicular to its axis of travel? How fast should your hand be moving when it meets the disk? Do you want to take a "backswing" before your "swing" for the plunger? (I.e., move your hand first in the direction opposite to the direction it will need to move to activate the plunger.) Good typing is more like that than it is like making signs in the air the way that users of sign language do. (The DataHand keyboard takes the typing-as-sign-language metaphor even further than the Kinesis Advantage does, and the DataHand is an even worse keyboard than the Advantage is. Here is a pic of the DataHand: http://www.atpm.com/7.05/images/dh-handinunit.jpg.)

These comments on the Kinesis Advantage can be tied with the topic at hand. The reason the Kinesis Advantage is praised by so many programmers IMHO is that those programmers do not realize or understand the need for a keyboardist to memorized the locations, etc, of all the keys. That memorization is a perceptual task rather than a "high-level cognitive" task such as planning a complicated sequence of movements or operations or solving an algebra problem. Similarly, using a pointing device is a perceptual task. (More precisely, it is much more perceptual than the alternative ways of achieving the same result using the keyboard.) In both cases, we have large vocal populations of programmers (namely, Kinesis Advantage lovers and lovers of keyboard-centric tools like Vim, Emacs and Xmonad) who prefer to substitute cognitive tasks for perceptual tasks whenever possible. I suspect that that preference is a mistake and that those programmers would be better off in the long run if they tried to reduce the fraction of time they spend in high-level cognitive tasks. A possible exception is programmers whose frontal lobes are still developing, i.e., programmers under 22 or so, but certainly any programmer over the age of, say, 25 who prefers a high-level cognitive task when a perceptual task would work just as well to achieve the goal is IMHO misusing his or her brain more likely than not. (I am almost sure it would be misuing my brain for me to do so. I am much less confident about other people although I am confident enough to use this comment to share my suspicions.) Often there is no alternative to engaging in high-level cognitive work -- it is the only way to achieve some goal -- and in that case I am all for it if the goal is important enough.

I think it is important for people expressing an opinion about a tool to state how familiar they are with the tool. Consequently, let me state that I used text-mode Emacs ("emacs -nw") every day for 18 years. When I finally switched to an editor that allowed me to position the cursor (and do other things) with the pointing device, I realized I should have made the switch much earlier. Parenthetically, the editor I switched to was graphical-mode Emacs, but I customized it to extend the range of tasks that could be done with the pointing device, and I temporarily disabled the arrow keys to train myself to use the pointing device to move the cursor. (In fact, I permanently bound up arrow and down arrow to commands that scroll about one-eighth of a screenful, which is similar to what what up arrow and down arrow do in Plan 9 and even more similar to what they do in Firefox.) Also, I would probably have switched to Textmate, Sublime Text 2 or Gedit if I had not already invested a lot of time and energy into Emacs, including the writing of 5000 lines of Emacs Lisp code to customize Emacs. I would probably use some keyboard shortcuts if where using Textmate, Sublime Text 2 or Gedit.


Why would it be easier to remember how to hit keys on a flat 2d plane? My fingers are all different lengths.


If what I have been saying in this comment section has any value, then most people have already committed to muscle memory how long each of their fingers is relative to any other finger on the same hand.

If you just hit the D key and want to hit the T key next, on the Kinesis Advantage, in addition to having to know how far the D key is from the T key in the two horizontal dimensions, you have to know the delta in altitude (i.e., how far it is in the vertical dimension).

In addition to the "delta in altitude" information just described, almost every key on the Kinesis (the axis along which the key will travel when pressed) "points" in a different direction, which is two more degrees of freedom. So, for almost every key on the Kinesis, I would have had to "memorize" (i.e., commit to muscle memory) 5 "scalar values" in contrast to the 2 scalar values for every key on a normal keyboard.

I am not saying that no one can "memorize" that information; I am saying only that my estimate of the time and effort required for me to memorize it caused me to ditch my Kinesis for the standard planar arrangement.

Note that I used a Kinesis for 2 years. It was only after I realized that I would need to "memorize" where the keys are (and what direction they travel when pressed) to recover from RSI that I gave up on Kinesis.

And yes, I have been free from RSI in the six years since making this realization and ditching my Kinesis.

And yes, I think most of the ergonomic keyboards currently sold by Microsoft are bad for the same reason the Kinesis Advantage is bad -- particularly those keyboards that could be described as "wave shaped" or "hill shaped". (At least the Kinesis Advantage has decent keyswitches!)

ADDED. There is more wrong with the Kinesis than just the amount of information it requires a person to commit to muscle memory. I just got done stating that the DataHand is an even worse keyboard than the Kinesis, and the DataHand requires a person to have only a few "muscle memories". If I understand correctly and if the DataHand device is a good fit for the person's hand, for every character, the person need know only which finger to twitch and which of four directions (up, down, left or right) in which to twitch the finger.

The reason the DataHand is such a bad keyboard is that it causes the person to repeat over and over again a kind of movement that is very different from the kinds of movements people are used to making and are good at making.

An example of a kind of movement that humans are good at is striking something with a hand or a finger. There is a lot of (conscious and unconscious) "data processing" going on when a human is getting ready to hit something with a hammer or with his fist, hand or finger. My belief is that the best way to avoid RSI and other problems is to get the brain to devote a lot of "cpu cycles" to planning out the physics of every keystroke.

The DataHand (and to a lesser extent the Kinesis) has bad ergonomics because it makes it hard for the brain to do detailed physical planning. This planning would entail perceiving or remembering the exact location, relative to the striking finger, of the key to be pressed. In contrast, when all the keys are on the same plane, it is more likely the the brain will plan out "ballistic" movements resembling hops, or plan out a "backswing" before the "swing", and, again, we want to get the brain deeply engaged in planning movements.

Designing the keyboard so that every key is right next to a finger tip is bad ergonomics because the brain is poorly adapted to carrying out the resulting key-pressing movements.

To summarize, the most important things for avoiding RSI are (1) choosing a keyboard that encourages the right kind of movements (namely, the kind the brain is good at planning) and (2) reminding oneself during typing that pressing a key should be more like hitting a ball with a tennis racket than making a sign with a flag, baton or the hand. Part (1) consists mainly of avoiding so-called "ergonomic" keyboards like the DataHand, Kinesis and most modern Microsoft "ergonomic" keyboards. The Microsoft Natural Elite keyboard by the way was a good keyboard (well, besides the pretty crappy rubber-dome keyswitches) because even though it was a "split" keyboard, all of the keys designed to be hit with the left and lay in the same plane, as did all of the keys designed to be hit with the right hand. But they might be hard to get now. And like I said, the keyswitches are pretty atrocious even compared to the (scissor-style) keyswitches on the good modern Logitech keyboard like the K750.


Switching is particularly costly. Just watch someone complete a web form who doesn't know to press tab. Painful.


Well yes, if you have a _really_ dumb editor that makes keyboard navigation clumsy as hell, then you are faster with a mouse.

It is just like that if you go into the jungle, you are faster on foot than in a Porsche.


The keyboard is always faster if you know what you're doing.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: