a companion discussion area for blog.codinghorror.com

Going Commando - Put Down The Mouse


#61

Ahem… http://www.asktog.com/TOI/toi06KeyboardVMouse1.html

The money quote:

"We’ve done a cool $50 million of R D on the Apple Human Interface. We discovered, among other things, two pertinent facts:

  • Test subjects consistently report that keyboarding is faster than mousing.
  • The stopwatch consistently proves mousing is faster than keyboarding."

#62

Esc, cancel whatever… Why don’t programmers use this key for cancel?

It was cancel before the mouse and hopefully it will be cancel after the mouse.


#63

"[…]If you try to remember a lot more than these, you are entering the region of diminishing return: allocating your precious memory for shortcuts infrequently used. "

You shouldn’t try to learn a bunch of shortcuts which are likely to be interesting at once and then try to remember those shortcuts later. Instead you should use shortcut for functionalities that you actually use a lot and use those shortcuts until you don’t even have to use your brain when using the functionalities.

I was surprised when I read the article basic textbox shortcuts http://www.codinghorror.com/blog/archives/000563.html : I use most commands without realizing it!
If I have to select text from the beginning of the text to the cursor position i’ll use the shortcut for it without even thinking about it but if someone would ask me how to do it I’d be unable to answer, maybe I’d say that I don’t know if it exist!

Bram Moolenaar, the maker of vim, has a nice presentation about using keyboard/editors everyone should see: 7 Habits For Effective Text Editing 2.0
video : http://video.google.com/videoplay?docid=2538831956647446078
text version : http://www.moolenaar.net/habits.html
A sample :
"There are three basic steps:

  1. While you are editing, keep an eye out for actions you repeat and/or spend quite a bit of time on.
  2. Find out if there is an editor command that will do this action quicker. Read the documentation, ask a friend, or look at how others do this.
  3. Train using the command. Do this until your fingers type it without thinking. "
    It correlates well with the second advice from the book code complete : Think about your work. Don’t just do something. Think about what you are doing and find a better way to accomplish it.

#64

In fact, keyboard browsing HTML page work very well with the Mouseless Browsing extension for Firefox.
https://addons.mozilla.org/fr/firefox/addon/879

To my surprise, after a few minutes, I was even able to browse faster with the keyboard than the mouse.


#65
  1. Type a username.
  2. Press the Tab key.
  3. Type a password.
  4. Press the Enter key.

I agree, keyboard short-cuts certainly make life easier… but are Tab and Enter keystrokes seriously considered “short-cuts”?

Even my mom uses Tab filling out forms!!


#66

@Seth Root,

That is an unqualified disaster of an interface. It might be entertaining as a game or a demo or a “Media Information Studies” term project, but it’s bad for a whole pile of reasons as a real interface.

It combines the worst aspects of keyboard interfaces that have been discussed here (high level cognition, determination of context) with that of mouse interfaces (moving hand, precise motion, switching your motor skills to another mode), while managing to be brutally unforgiving in practice (oh, you didn’t want to open that menu? too bad you moved the mouse there by accident). That doesn’t even consider accessibility…


#67

Just a quick tip: for faster navigation in firefox, there’s an easy extension called Hit-a-Hint (https://addons.mozilla.org/en-US/firefox/addon/1341).


#68

I’ll give this a shot, as soon as I can, but for now my theory is that mouse+keyboard is faster and better than mouse-only, or keyboard-only.
The log-in example seems quite slow with a mouse-only approach, but I usually use both mouse and keyboard:

  1. Move mouse to username textbox and click it, ONLY if the username box does not have focus by default;
  2. type username;
  3. tab to get to the password textbox;
  4. type password;
  5. tab to get to the ‘login’ button (sometimes redundant, e.g.: the ‘login’ button is the only button on the login form, for web application/sites).

I don’t know… I like the idea of going key-mmando (sorry, going commando brings to mind bad images for me) to see if I can learn new stuff and find better ways to do things I am currently doing with my mouse+keyboard combination, but in the end I think a more ‘holistic’ approach is the better answer.
F.O.R.


#69

One of the quickest ways to feel more productive while actually being less productive is to stop using the mouse. Nuff said.

http://asktog.com/TOI/toi06KeyboardVMouse1.html
http://www.asktog.com/TOI/toi22KeyboardVMouse2.html
http://www.asktog.com/SunWorldColumns/S02KeyboardVMouse3.html


#70

Brenden, whilst modal interfaces are faster for those who know how to use them, for novices and people who generaly use computers they are a pain. Take the modal Caps Lock key; most people I know hate it because half of their text ends up capitalised. Consider that a lot of people need to look at the keyboard to type, so aren’t looking at the screen. By the time they’ve typed a sentance with the Control modifier accidently left on they’ve closed the document, not saved it and created 3 shortcuts on the desktop. Woops.

I personaly use the web with a combination of mouse and keyboard. To navigate, it’s pretty much all the mouse (with gestures or context menus and whatnot). I only ever really use the keyboard to fill out forms. I find it much quicker (without masses of training, all of which would be ruined when I move from one browser at home with x feature to a browser at somewhere like college that doesn’t have it) to use the mouse to navigate.


#71

It may be hard to believe, because it doesn’t seem that hard, but repetative stress syndrome is a real thing.

Actually, using the mouse causes me repetitive stress pain. Something about how my fingers hover over the buttons.

I prefer to alternate mousing with using keyboard shortcuts for relief. Programs should give you the choice.


#72

Here’s the granddaddy of Dvorak-debunking articles, that all the rest quote:

http://wwwpub.utdallas.edu/~liebowit/keys1.html

You can see that, whatever issue one may take in my use of “bean-counters” and “haytuhs”, my specific characterizations are correct. It credits Dvorak with being at least 2% faster (the smallest result from several studies cited); it doesn’t address comfort whatsoever; their conclusion that Dvorak isn’t superior stems from considering the only relevant issue to be whether it’s sufficiently superior for a business to recoup an investment in retraining its staff.

“It’s completely deniable! My fingers and hands don’t “travel” at all on my QWERTY keyboard”

One wonders how you imagine typing occurs without the fingers traveling. Here’s a Mac program to facilitate calculating the difference:

http://www.integrity.com/homes/tomandkaren/Keymileage/

The portion of my statement I was submitting as undeniable is the greater finger travel required with QWERTY. It’s well-established, but, as you demonstrate, it’s not actually undeniable, if one is sufficiently creative in one’s denial.

That additional finger travel would engender additional strain seems inescapable, but, as I said, I don’t have evidence. It’s conjecture. My own experience constitutes anecdotal evidence; I submitted it anecdotally.

“If QWERTY really is so much more uncomfortable and injury-prone than Dvorak, why does almost nobody use it?”

I said that it “probably” caused more hand strain and “quite possibly” more injury. I said explicitly that there isn’t hard evidence. Your straw man doesn’t resemble what I actually said.

There are many, many things we do in daily life for which there are alternatives that engender less strain. Most people, most of the time, can take the additional strain without noticeable effect, and never bother thinking about alternatives. I did a decade of QWERTY typing without feeling strain. If it weren’t for a lot of other bigger things I was doing wrong, that might well have continued to be the case.

Ubiquity is self-maintaining. In popular thought, learning to type means only learning to type QWERTY. Most people are never exposed to a keyboard labeled in Dvorak (I’ve never had one); no one would want to learn to type on a mislabeled keyboard. And once one has learned to touch-type, it would take a dramatic reason to consider re-learning.

“What was your typing speed on QWERTY? Were you ever really trained on it?”

Somewhere around 110 wpm. I took a typing course in high school, and had correct form. I worked my way through college as a typesetter, much of which work was straight typing, so I had plenty of practice.

“Did you ever injure yourself on it?”

I had a debilitating repetitive stress injury that left me in non-stop pain from fingertip to shoulder in both arms for months. A dozen doctors told me I’d never work 40 hours a week at a computer job again, and that I’d be substantially impaired for the rest of my life. I’ve proved them wrong.

Switching from QWERTY to Dvorak was one of very many changes I made in my recovery. I absolutely do not claim that it is discretely the case that QWERTY caused the injury, or that Dvorak cured me. I also absolutely believe it was one of many things that helped. Not the biggest, almost certainly not sufficient to have made the difference between pain and its absence, but something that helped.

“Do you know anybody else who was injured, who then switched to Dvorak and reported being fine?”

I know several people with stories like mine, in which switching to Dvorak was one of many changes made while recovering from injury. All of them feel switching was helpful; I’d be very surprised if any of them ascribed primacy to it.

“Is it not remotely possible that the improvement in “comfort” is psychological?”

I used to be in non-stop pain. Now, I’m not. Is it remotely possible you’ll believe me when I tell you that the difference isn’t merely psychological?

We’re on the same side that the question could and should be resolved by study and evidence. And, as we’ve both said, neither of us have it.


#73

@ Jeff:

IBM makes (or used to make; not sure what has gone to Lenovo and what hasn’t) keyboards with a trackpoint. I’ve contemplated getting one… for those times when using the mouse is effective. It would mean not having to take any hand off the keyboard in order to operate the mouse. I was surprised at how precisely I could point with a good trackpoint (like the ones on modern Thinkpads) even without any practice.

@ Daniel D:

Any two key combo done on the same hand will send incredible pain into my wrist.

Use vim (or any vi clone you like). It’s an occasionally mentioned factoid in Emacs-vs-vi wars that all the major Emacs gurus suffer from RSI. The vi gurus, not so.

@ Ben LKM:

  • Test subjects consistently report that keyboarding is faster than mousing.
  • The stopwatch consistently proves mousing is faster than keyboarding.

That’s fine and dandy, but it simply doesn’t apply to all tasks.

For apps you only use rarely, the mouse is almost always faster, since you spend a lot more time in discovery/exploration mode, which is awkward to do with the keyboard.

If an app has good keyboard support and you’re proficient enough with it to have committed a large set of shortcuts to muscle memory, there’s no way someone with a mouse will beat you. This applies overwhelmingly to text editors. And yes, this is based on fact not conjecture. There are enough editor fanatics who have actually timed various tasks using the keyboard, mouse, or some combination thereof where applicable (primarily I know of Emacsians and vi-ers who’ve done so, unsurprisingly, but I bet there are BBEditors, Textmateys and maybe Ultraediters who have done the same).

Other tasks, like webbrowsing or image manipulation, are intrinsically pointing-heavy and therefore slow and awkward to operate with a keyboard, no matter what. I find I’m fastest in such a case if the app also offers lots of single-stroke shortcuts, particularly if they’re on keys on the left half of the keyboard. Then I can use my right hand to operate the mouse for pointing and selecting and my continue to use my left to interleave keyboard-based triggering of actions. That combination lets you can go dizzyingly fast.

In both cases the key generally seems to me to be single-stroke keyboard commands. (Small wonder my weapon^W editor of choice is vim.) Or at least you should be able to keep the same modifier key(s) depressed – as in Emacs’ mostly-exclusive use of Ctrl. Having to sprawl fingers from modifier to modifier costs a lot of time. That might explain Tog’s results – from casual use, it seems to me that the gratuitous extra Cmd modifier requires more monkey-fingering while keyboarding on the Mac as compared to other systems. Although that might just be an impression; I haven’t used Macs enough to know for sure.


#74

@ [ICR]:

whilst modal interfaces are faster for those who know how to use them, for novices and people who generaly use computers they are a pain.

Sure, how is that topical? I didn’t think the subject was how to be more efficient as a casual user who can’t even type without looking at the keyboard. (There’s a pretty obvious drastic win available to such people, if they do want to become faster: learn to type without looking at your hands.)


#75

Seriously in regard to the tilda and ratpoison comments, you can’t go wrong with ion3. It was designed for keyboard use. The scratchpad is so nice and intuitive for imitating tilda. Easily modified and just a great design.


#76

OK admittedly there must be a line where you get maximum efficiency out of of using not just the keyboard or mouse but a combination of the two. Jeff loves using examples where you start off in the username field and the next field is the password field and the form has been setup for a default submit. NOT REAL WORLD FOR MOST PEOPLE!

Go to the Washing Mutual Bank website: www.wamu.com
Do you by default end up in the login form elements? NO
Number of TABs to get to the username: 19

Once in the username field I am able to type my username, press TAB, then my password and then press return.

So what’s faster, pressing TAB 19 times or using my mouse.

OK Jeff - so now your saying let’s not bring the web into it because of the way HTML works.

The fundamental shift that needs to occur is the way shortcuts are used. Primarily in the past they are a combination of some special key like CTRL or ALT with a 1 character such as an alphabetic or numeric key. However, some of the larger applications have a massive amount of options and features.

It would be insane to have to type something other then Ctrl+B for Bold. But what if Ctrl+B was already taken. Well is it any faster to type Ctrl+H (hotkey command) to get the app to wait for longer input and then type BLD and then return.

Hmmm what’s the timing on that…
Ctrl+H BLD ENTER
or
Mouse to the B on the toolbar

Tough call there, there are some pretty fast mousers out there.

But what if that “Bold” option was in some sub-menu somewhere that wasn’t easily accessible?

I say five me MEANINGFUL hotkey commands and I will use the keyboard. Make me remember weird shortcuts per application, I don’t think so.


#77

Update for those who use Maxthon and want to navigate with the mouse, there’s such a plugin - LinkClicker:
http://forum.maxthon.com/index.php?showtopic=26380
Not brilliant, but better than nothing.


#78

not a big deal, use the internet with Lynx, it will teach you a lot.


#79

I like using the Z and X keys in Opera to go back and forward between pages. Makes sense, since it’s for the left hand. Firefox uses Alt and the arrow keys. This makes it 2 a handed operation and slows down the navigation.


#80

"I can’t wait for the day when the cursor follows my eye movements " Thank you for that. Now lookup “Nystagmus”

http://en.wikipedia.org/wiki/Nystagmus

for example. May that never be the default!

As for web browsing, what happened to accesskey?

http://www.w3.org/TR/WCAG10-HTML-TECHS/#link-accesskey

What browsers actually support this? I know of no way to find out if this is supported in a document in any of IE, Firefox or Opera.
As a result I have not bothered to provide it anything I have written.
And what if thee are more than 36 links in a document? I’d love to know how to support that properly.