For discussion of benefits and conflicts between pointer (usually a mouse) and keyboard usage. Related topics such as menus, function keys, and command strings are also appropriate. This topic is often the "input" side of the CLI/GUI arguments, as opposed to the "output" topic of GraphicAndCharacterDisplay?. (Many character-based interfaces use a pointer. Many people treat their GUI systems as a collection of character-based windows and use the pointer for tasks such as text selection.)
Antipattern:
we've agreed on:
From TheDumbingDownOfProgramming:
I suspect that those who are more productive in CUIs are those who type very well, and those who are more productive in GUIs are those who type less well; for them, clicking and pointing is faster than typing. For a very good typist, clicking and pointing can be much, much slower (and less expressive). Of course, it depends upon what you're doing. I'd hate to draw using a CUI just as much as I hate to compile using a GUI.
I don't mean to pick on anyone; I mean only that in 1999 we can and should do better then to "suspect" and speculate. Moving your hands from home position takes about five keystrokes. If you don't touch-type, everything is slower. Even if you touch type, finding and reaching the F12 key is as expensive as a mouseclick. Finding and reaching a meta-key combination that pulls your fingers off home is as expensive as a mouse click. Any mouse operation can have a keyboard equivalent specified for it.
I would prefer us know and cite the literature, instead of saying "What studies?". Please see, for example, "Card, Moran, and Newell (1980), The Keystroke-Level Model for User Performance Time with Interactive Systems, Comm. ACM, 23(7), 396-410".
I think you're overstating things. The studies have shown some things to be true about the interaction of menu items and GUIs. But that's far from saying the subject's closed in all areas. Time to find and perform a command isn't all there is to say about productivity. Acquisition times vary depending on the user (and can be very slow for beginning users, which argues for having all commands on a menu).
All mouse commands can indeed have a keyboard equivalent, but there's no way that a keyboard command sequence is going to beat my mouse when moving a image from "somewhere in the top left ish" to "somewhere in the bottom right, there, a little bit above the text" (which is more or less the spec. my daughter gave me recently while editing a birthday card).
Now this isn't an excuse for ignorance of the literature in areas where it is relevant, of course.
So it sounds to me like you agree with my observations, even if I have overstated them. Let my try and summarize what I think we've agreed on: Every command should be available from a menu, because beginning users with long acquisition times will find them fastest that way. Each mouse command can have at least one keyboard equivalent, so that users who have no mouse, whose mouse is broken, or who refuse to use a mouse can still use the system (albeit inefficiently). Some tasks, which users have memorized and which can be performed very quickly, are optimally invoked through keyboard equivalents. Some tasks are ideally suited for the mouse, even given keyboard equivalents. And there is no excuse for ignorance of the literature. Which part have I overstated?
Perhaps more significantly, I'm disappointed that, to judge from comments such as those posted recently, the old prejudice that GUI's-are-for-dummies and that real-programmers-use-command-lines still lives, even when it has been shown to be unsupportable by relevant science.
I was thinking about what it is about mice I don't like, and I think it's something more important than speed. When I have to move my hand off the keyboard to the mouse, it feels like I'm switching modes in my brain. This mode switch is more disturbing than lost speed. It has the same feel as the telephone ringing while concentrating on something, an unwanted interruption that interferes with flow. I think that even if you can come up with bunches of science to prove that the mouse is, in some measurable way, better for what I do, you won't be able to change one bit the fact that mice feel bad to me. You can call it prejudice, but I prefer to think of it as a personal human factor.
I appreciate your candor. You embrace a venerable tradition that I have no problem with. You said, in effect, "I prefer the keyboard". That is perfectly legitimate, and has nothing to do with prejudice. What I call "prejudice" is if you were to accompany it with a statement along the lines of "and you're dumb if feel otherwise". Further, you have explicitly separated your feelings from the relevant science -- another perfectly reasonable stance. The position I object to is the position that says, in effect, "I like the keyboard, and so the keyboard is better, and everyone who prefers the mouse is dumb". That is not what I hear you say. A "good" user interface has keyboard equivalents in order to be responsive to users who feel as you do. The comparable stance, in the audiophile community, is "I prefer the sound of tubes and vinyl. I know it is not as 'accurate'; nevertheless, I prefer the warmth and coloration of my analog system." It is the effort to generalize personal experience, in the face of contrary relevant science, that I have a problem with.
You're both dumb to think that either the mouse alone or the keyboard alone, are any use to anyone at all.
I cite DougEngelbart's NLS, which had a chording keyboard for the left hand and a mouse for the right hand.
I cite 99% of all games created in the last 10 years which uniformly have keyboard control for the left hand and mouse control for the right.
I cite the fact that, excluding games programmers, all programmers are complete morons at interface design. The fact that morons, including you two, go for either 1) pure mouse, 2) pure keyboard, or 3) complete equivalence of mouse and keyboard, is all the proof I need to condemn all three options.
There should be only one mode of input, a perfect mouse/keyboard combination. That's the way I feel and you're dumb if you think otherwise.
No... I want it to be that if your mouse is broken, you can still use it, and if your keyboard is broken, you can still use it, so long as you are OK with using the on-screen keyboard for entering actual text (as opposed to hitting ctrl-c, ctrl-v, left, right, ctrl-shift-P).
Richard, I am a fan of DougEngelbart's chord keyboard plus mouse idea, but I have to wonder, are you using one right now, or is this just all talk?
Consider it part and parcel of being a contrarian. When people invest so much effort in polite and proper behaviour that it makes their writing stilted, I feel an unrestrainable impulse to slap some bad manners into them. Hence the gratuitous offense.
So I hope that answered your implied question. Unless you seriously wonder about chording. If you do then I can tell you that chording doesn't seem optimal to me (and I'm not up to spending 100+ hours learning a completely alien keymap when I still spend half my time typing qwerty). I prefer the light-glove and ring mouse instead, neither of which I have because I'm just too damned lazy. Then again, I don't have one of those 400$ CDN Kinesys keyboards either.
Why not using the natural parallelity of our motoric surface, outsourcing the pointer to our toetips {or something similar}. See: ShoeKeyboard. Then there is {probably} no {significant} mode-switching. FridemarPache
Preferences for keyboards are also supported by relevant science.
See "Individual Differences in the Use of Command Line and Menu Computer Interfaces" by S. J. Westerman in the International Journal of Human-Computer Interaction 1997 v.9 n.2 p.183-198. (abstract at http://www.hcibib.org/gs.cgi?word=checked&terms=J.IJHCI.9.2.183 )
Does it let you actually read the article? I wouldn't want to back up an argument with only an abstract. Citing the literature is a great idea, but many of us don't have easy access to it.
Tog has done actual research on this. At http://www.asktog.com/SunWorldColumns/S02KeyboardVMouse3.html he describes how the stopwatch found all users faster using the mouse, but the same users all thought they were faster using the keyboard. There is an interesting psychological effect going on here.
''This is somewhat of a StrawMan test case. If I were going to replace every bar with an e like he said, using the keyboard, I would use vi and set up search pattern for bar, do one replace, and then do a rapid repeat of . and n. In other words, the test was skewed to favor the mouse because the text-only option was weaker than the mouse-only. I wonder if the other tests comparing keyboards and mice usage are done with vi/emacs or Word/Notepad?'' --Pete Hardie
Agreed. In OpenOffice, that's Ctrl-F, Shift-\ ("|"), Tab, E ("e"), Alt-L, Enter, Alt-C. For those who can't simulate OO.org in their mind, here's the breakdown:
Just for kicks, here's the equivalent with mouse only:
See also TheHumaneInterface.
Contributors: TomStambaugh, WayneConrad, CliffordAdams