
Keyboard vs. The Mouse, Part 1 (1989) - pcr910303
https://www.asktog.com/TOI/toi06KeyboardVMouse1.html
======
bitwize
I think there is something to be said for "muscle memory". Tog was testing on
relatively inexperienced users. Expert Vim and Emacs users do not take two
seconds to decide which key to press, and we have real corpuses of computer
interaction data which couldn't exist if the two-second figure was a fast rule
-- specifically, StarCraft game logs. A lot of mousing happens in StarCraft,
but a lot of keyboarding happens too, and lots of productive APM just wouldn't
be possible if Tog's observations were a fast rule for all users.

~~~
m463
> Expert Vim and Emacs users do not take two seconds to decide which key to
> press

Many times when editing in emacs I just "do the thing" without consciously
knowing what keys I pressed.

If given a keyboard with no keys labeled, I would not easily know what each
key was. Just the same, I could look away from it and type the alphabet.
Magic.

~~~
Falkon1313
I was given a mechanical keyboard with a set of blank keycaps (it was in my
wish list). People thought it was black magic when I typed, but I never even
noticed.

It's exactly like how you totally forget PINs, phone numbers, or passwords
once you've typed them enough. You need a keypad in front of you (or at least
to pretend there's one) and to just let your fingers do what they've done so
many times before in order to figure it out.

I don't do well with laptops and mac keyboards due to their nonstandard key
arrangements though.

~~~
m463
I have trouble with the newer "flat key" mac keyboards because my fingers
don't have curvature to tell when they're centered in the right place.

My favorite laptop keyboard is the first gen macbook pro. Great comfortable
concave keys with good throw. Some thinkpads were good too.

------
jmull
An interesting bit here (from the last comment):

> I came across an interesting example of perception vs. reality while
> designing a small text editor: When scrolling the text horizontally in a
> window we would refresh the text by redisplaying each line starting at the
> top. This resulted in a wave of text rippling down the screen, and many
> complaints that the screen refresh was too slow. The remedy was to scroll
> the bits already on screen and then redisplay each line from the top. The
> second implementation was actually slower than the first because we incurred
> the overhead of scrolling the bits before we even started to display the new
> text on the screen. However, the perception was that there was an immense
> increase in speed. We stuck with the second implementation because it
> increased the overall satisfaction of the user even though it actually
> decreased the throughput of the product.

The commenter is actually subtly wrong about what's going on here though (but
fortunately does the right thing by focusing on user satisfaction).

Without scrolling the bits first there's a "wave" artifact. That movement will
prevent most users from starting to get their bearings on the new position of
the content until after the wave is done. Scrolling the bits first hides the
wave and allows the user to start getting their bearings as soon as the bits
are scrolled. Newly revealed content does take longer to appear, but if
scrolling the bits is significantly faster than the redraw the difference is
small and the user is able to process the new content more quickly overall by
already having their visual bearings.

~~~
Noumenon72
What is scrolling "the bits"?

~~~
IanSanders
Pixels I imagine

------
finnh
"It takes two seconds to decide upon which special-function key to press.
Deciding among abstract symbols is a high-level cognitive function. Not only
is this decision not boring, the user actually experiences amnesia! Real
amnesia! The time-slice spent making the decision simply ceases to exist.

While the keyboard users in this case feels as though they have gained two
seconds over the mouse users, the opposite is really the case. Because while
the keyboard users have been engaged in a process so fascinating that they
have experienced amnesia, the mouse users have been so disengaged that they
have been able to continue thinking about the task they are trying to
accomplish. They have not had to set their task aside to think about or
remember abstract symbols.

Hence, users achieve a significant productivity increase with the mouse in
spite of their subjective experience."

this is not research, this is jingoism. i've heard this study cited so many
times but never read it ... i'm astonished it is so bad.

2 seconds to decide what command key sequence to press? Sure, if you contort
your test so much (only novel command sequences) that the results apply only
to your contrived situation.

------
astine
I'm doubtful that mouse usage is really faster than keyboard shortcuts for
experienced users, but supposing it is, there are at least two reason that I
prefer to have keyboard shortcuts available.

The first is that keyboard input is much easier to reliably repeat. Keyboard
macros are much less simple with a mouse and even when keyboard macros aren't
an option, I often find it easier when making repetitive inputs to convert the
inputs to key presses and repeat them.

Furthermore, I find mouse usage interrupts my flow. Using the mouse is a very
different mode of input than keyboarding. I have the disadvantage that my
dexterity is worse than many people's and so when I have to switch to the
mouse, I have to be very careful to click the right thing. I don't usually
make the same mistakes with keyboard shortcuts that I use regularly. Even if
the mouse is technically faster, that interruption is very unpleasant.

~~~
dmitriid
My personal experience is that an experienced user with a keyboard _and_ a
mouse easily beats an experienced user with just a keyboard.

> I have the disadvantage that my dexterity is worse than many people's

This, though, is a very valid point that is too rarely taken into
consideration by software makers.

~~~
tincholio
At what, exactly? For text editing, using Vim-like text objects and movements,
I think it's very unlikely that the mouse will consistently add speed.

------
csours
I could use some education on how GUIs actually rolled out to real customers.
I was born in 1982, so I am familiar with computers of the era, but I was
consistently about 5 years behind the times, being from a very small town and
not very well off family. FYI, my first computer was a Commodore 64/128.

This article has more than a faint whiff of "new hotness" vs "old crap". They
have rushed to the new thing and hate the old thing. Like rushing from
Traditional Relational DBs to NoSQL. Whenever you get a new tool, that doesn't
always make the old tool useless.

I think this article also came well before the proliferation of functionality.
There are hundreds of functions in a simple text editor nowadays. I can't
imagine accessing them all via keyboard alone, but I also can't imagine losing
my keyboard shortcuts while seriously editing text.

Programs also added context menus, and more recently search capability for
commands and settings.

I think we've finally learned some lessons about not throwing old tools away,
but I think we need to keep learning that lesson as well.

------
seltzered_
"As a result of my observations of users, there are NO command key equivalents
in my product, Smart Labels, except for Undo, Cut, Copy and Paste. The Clear
and Escape keys will clear the label text edit box. Users may demand key
equivalents, but I will resist them"

\- While I largely agree with this, I think one thing this era of computing
missed (and Windows still does) is the power of querying for items - I'd love
to see a comparison between mousing over, keyboard shortcuts, and querying
(e.g. macos's cmd+shift+/, plugins like
[https://shortcatapp.com](https://shortcatapp.com)) for items between users
that are deeply familiar with an application versus occasional users of an
application and new users.

~~~
on_and_off
Intellij has an integrated "cmd + shft + a" shortcat like feature.

This is so helpful for commands that I use once or twice a month.

I could always learn their actual shortcut but it does not feel worth it.

When I want to capture a layout hierarchy, I just hit cmd + shft +a and type
"lay".

I don't really care about doing this rare action a couple of seconds faster by
learning/setting an actual shortcut for this.

~~~
mping
You can also tap shift a couple of times and a pop-up appears with all
possible options (a superset of cmd shift a)

~~~
dmortin
I bound this to the Insert key which is otherwise useless, so I have a single
key which activates this. I use it all the time.

~~~
jay_kyburz
That's a great use for the insert key!

------
todd8
TLDR: Keyboards are best for professional developers. Mice are still best for
manipulators--photo editing, etc. Trackpads are best for consuming content
like browsing and reading email.

From the article:

> Keyboarders only think they are faster—I think its because of the sound of
> the keys ...

This might be true, _as a generalization_ , but it should be obvious that it
doesn't apply to everyone. That's a bit like me pontificating on how a
basketball free-throw should executed. Listening to me or studying my free-
throw will reveal _nothing_ interesting or important about performing a free-
throw. Talk to a professional player, study the players that hit over 90% of
their free-throws, but don't try to draw conclusions from non-players just
making thing up.

I can't play basketball worth a crap, but I have used computers and their
interfaces for over 50 years. All this time I have been programming, and I've
programmed on more different systems than I can remember (really).

I've used every mainstream word-processor and every mainstream text-editor,
often for years at a time. I have owned at least 100 keyboards and 100 mice
and trackpads over the years. These are my personal observations.

* People are surprisingly good at learning repetitive fine motor skills. The average typing speed of regular people is surprising and would be, IMHO, counter-intuitive if not for our ubiquitous exposure to good typists and piano players.

* One doesn't need to be a great typist. My big fingers seem to be made for picking up rocks, not for typing, so I "only" type around 50-60 wpm despite half a century at the keyboard. However, even at half this speed my thinking speed is what limits most of my coding speed and writing speed. I don't do data-entry or transcription where more speed would be really valuable.

* Fast typists are fast because they make less mistakes than the rest of us[1].

* Qwerty is superior to Dvorak, Workman, Coleman, and other layouts for me because I have to use other people's keyboards often. I don't work entirely by myself. If I did I might be drawn to these improved layouts, but even then a small percentage increase in typing speed wouldn't be a big benefit for me (see above). Furthermore, my hands don't seem to be vulnerable to Emacs pinky syndrome or repetitive use issues where these layouts do seem to be beneficial.

* The strange historical accident that gave us staggered keyboard keys[2] is unfortunate. I have experimented with ortholinear keyboards, I have two TEK keyboards[3] and two Kinesis Advantage[4] keyboards. These keyboards have the keys arranged in columns. I really like the Advantage layout, but I make errors when jumping back and forth between my laptop keyboard and my more extreme ergonomic keyboards. However, the main advantage of these alternative layouts for me is not their ergonomics (see above) but the _better utilization of the thumbs for accessing additional "shift" keys_ layers (control, alt, meta, hyper, command) and special vim style leader keys. I have tried the other ortholinear keyboards as well[5].

* Major keyboard manufacturers have ergo-style keyboards, but they suffer from poor physical keys (like my Microsoft Sculpt Ergonomic Keyboard[6]) or poor utilization of the thumbs (the Microsoft keyboard has split shift keys, which is good, but they can't be programmed to transmit different keystrokes, which is bad).

* The mouse is really good at controlling analog style controls on the screen.

* The mouse is really bad for drawing. For this a tablet is slightly better--I own six. I also have also owned a couple of expensive Wacom tablet/display combinations[6] these fail to be useful to me because they are (1) poor displays, (2) expensive, (3) awkwardly big, (4) require software drivers and hardware interfaces that don't work with my newer equipment--usb-c thunderbolt for example.

* The iPad Pro with Apple Pencil if the best really practical, useful stylus for drawing note taking that I have found. It also is quite easy to use as a tablet with a Mac.

* The one-button mouse was great for my Mom, but I am more productive with more buttons, and for gaming I regularly use a gaming mouse that has 12 thumb buttons. This works great, but it does take a few hundred hours of use to become proficient. (My daughter, an avid gamer, turned me on to the Razor mouse[7]).

* The Apple trackpads are the best trackpads. Trackpads seem particularly well suited for content _consumption_ , like browsing the internet and reading email. They are much less suited for operating other analog style screen based interfaces such as draging icons (folders, selected files, etc.) around the screen. For these later tasks, a mouse is superior.

* The Macbook Touch Bar is pretty, but for professional users, it is not worth giving up function keys to have a touch bar. The lack of an escape key makes it difficult to use vim. I can remap the escape to caps-lock or use a control-key combination instead, but then I fumble around when I'm trying to use a different system. The butterfly keys suck--I haven't decided when/if I'm going to buy a new Apple MacBook Pro with the newer keys because they still don't have function keys. Furthermore, my desktop Apple systems don't have the same keyboards and they don't have the Touch Bar.

* In the early days of GUI interfaces, Apple was right to put the menu at the top of the screen. It served two purposes, it prevented confusion as to which app menu on a cluttered screen was the correct one to interact with and it was easy to get the mouse to the menu--just shove the mouse up and to the left. It eventually hit the upper corner of the screen where you could visually pick up the cursor and guide it to the appropriate menu item. With separate windows on MS one had to guide the cursor visually all the way to the menu. However, now with the large/wide/multiple screens on my desktop systems it means dragging the mouse a long way from where I was using it to interact with a menu.

* I'm not very happy with the wide variety of keybindings that exist for Emacs. However, a properly configured Emacs system has the _absolute best_ system there is for managing software that has one-thousand different functions that a user may want to execute. Nothing I've seen compares to a well configured Emacs for making hundreds of commands available at one's fingertips. Using a mouse instead would be laughable. Emacs requires an investment in time that will not be worth the effort for most people. Like practicing free-throws, there is no point for a regular person to master Emacs. However, if you strive to be a professional developer (or basketball player) practice makes perfect and it is worth your effort.

* Configuring Emacs is important, however it is completely programmable so there is no limit to how much time this will take. Stand on the shoulders of the giants that have come before us and use someone else's configuration. Spacemacs and Doom are great configurations there are many others[9,10,11]

* Vim is great too and is better than Emacs at some things (but I'm currently being faithful to Emacs)

* Keypunch machines suck as IDEs. Just ahead of keypunch machines on the hierarchy are line editors on paper teletype machines. The next step up are editors like TECO. All of these are archaic ways to program that I've been saddled with in the past.

* _Real_ developers should adopt tools as powerful as they can learn to control: Emacs, neovim, and JetBrains suite of tools, all take study, pick one because they are totally worth it. There are other editors, but don't wimp out and pick one less powerful than you can handle. Almost every developer should also learn git, another tool that has tremendous advantages and is worth the effort. Every academic that works with mathematics, data, or code should learn LaTeX--this will take time but again it's worth it for serious work.

* Xah Lee has thought about keyboard, mice, and menus a lot. I like his thinking about keyboards; you should check out his website if this subject interests you. [8]

[1]
[https://userinterfaces.aalto.fi/136Mkeystrokes/](https://userinterfaces.aalto.fi/136Mkeystrokes/)

[2] [https://www.forbes.com/sites/quora/2019/01/10/why-was-the-
qw...](https://www.forbes.com/sites/quora/2019/01/10/why-was-the-qwerty-
keyboard-layout-invented/#17594da757ae)

[3] [https://trulyergonomic.com/ergonomic-
keyboards/](https://trulyergonomic.com/ergonomic-keyboards/)

[4] [https://kinesis-ergo.com/shop/advantage2/](https://kinesis-
ergo.com/shop/advantage2/)

[5] [https://keyboard.io](https://keyboard.io)

[6] [https://www.wacom.com/en-us](https://www.wacom.com/en-us)

[7] [https://www.razer.com/gaming-mice/razer-naga-
trinity](https://www.razer.com/gaming-mice/razer-naga-trinity)

[8] [http://xahlee.info/index.html](http://xahlee.info/index.html)

[9] [https://www.spacemacs.org](https://www.spacemacs.org)

[10] [https://github.com/hlissner/doom-
emacs](https://github.com/hlissner/doom-emacs)

[11]
[https://pages.sachachua.com/.emacs.d/Sacha.html](https://pages.sachachua.com/.emacs.d/Sacha.html)

------
majewsky
> The stopwatch consistently proves mousing is faster than keyboarding.

I take it they didn't measure people typing a page of text using only a mouse
and on-screen keyboard.

~~~
vintermann
On screen keyboards aren't the best to enter text with a pointer. I wrote this
with a swiping predictive keyboard for instance, and it went pretty damn fast.

With the right interface, I wonder if we couldn't learn to enter text really
fast with a mouse, even without prediction. Of course there's little point in
exploring that design space since we're so fast with (and have invested so
much in) keyboard typing.

Either way, I think designing a keyboard only interface to play Doom
efficiently would be much harder!

~~~
fnord123
Doom was fine exclusively with a keyboard. It wasn't until Quake that a mouse
became needed.

------
intrepidhero
I found the most insightful idea in a comment at the very bottom: "A user’s
perception of a product is what causes him to purchase it and influences his
satisfaction with the product..."

If users prefer to use the keyboard, they're not as likely to enjoy (and use)
your "mouse first" software.

~~~
rhinoceraptor
Also, (hugely important!) software that can't be used from the keyboard is
almost certainly not accessible.

------
marttt
This series is also discussed in the wiki for Plan9, the perhaps infamously
mouse-centric OS:

[https://9p.io/wiki/plan9/Mouse_vs._keyboard/index.html](https://9p.io/wiki/plan9/Mouse_vs._keyboard/index.html)

A take-home message from there: "In the experience of many Plan 9 users, using
the mouse in Plan 9 for an extended period of time and then going back to
using vi in Unix highlights the amount of time you spend watching the screen
as you cursor around with hjkl. Having broken out of the hypnosis that Tog
describes, I just get frustrated beyond belief. Yes, I am watching the cursor
move so I should be occupied, but all I can think is ``damnit, if I could just
click where I want to go I'd be there by now.'' "

See also high-brow three button mousing in Acme, Plan9's text editor:

[https://youtu.be/dP1xVpMPn8M](https://youtu.be/dP1xVpMPn8M)

I'm a long time Plan9 fanboy, but I find myself more leaning towards line
editors (Pla9's sam in terminal mode), partly to avoid watching the cursor all
the time. In a line editor, you have to carry the structure in your head, and
it is liberating and calming in a strange way.

Ken Thompson, prominent sam user, has been attributed saying "I don't want to
see the state of the file when I'm editing." I really like this; then again, I
am not a real coder, just a hobbyist and writer of words. So I have no idea
how realistic it would be to use console sam or ed for daily professional
coding. The way line editors resemble a typewriter can be an excellent cure to
the so-called writer's blocks, though.

(See the interview containing Ken Thompson's quote:
[http://web.archive.org/web/20080103071208/http://www.dcs.qmu...](http://web.archive.org/web/20080103071208/http://www.dcs.qmul.ac.uk/~george/history/))

~~~
laughinghan
> vi in Unix highlights the amount of time you spend watching the screen as
> you cursor around with hjkl

vi is four decades old. It's not the pinnacle of keyboard-driven interface
design, vast improvements have been made since then.

For example, I use vim-sneak, which lets you jump to anywhere on your screen
in 3 keystrokes flat 99% of the time (and the 1% of the time where you miss,
well, 99% of those times, just one more keystroke is all it takes to get to
the right spot): [https://github.com/justinmk/vim-
sneak](https://github.com/justinmk/vim-sneak)

I also use relative line numbers, so I can select or delete most blocks of
text in 3 or 4 keystrokes, for example d4j deletes the current line and the
next 4 lines (5 lines total), or d23k deletes the current line and the
previous 23 lines (24 lines total): [https://jeffkreeftmeijer.com/vim-
number/](https://jeffkreeftmeijer.com/vim-number/)

Obviously number of keystrokes isn't the only factor that determines operation
speed. This is actually exemplified by my second example, commands like "d23k"
actually work out-of-the-box even in original vi, the problem is that counting
23 lines by eye is way slower than selecting 24 lines with a mouse by eye,
which is solved by relative line numbers.

------
Const-me
> The stopwatch consistently proves mousing is faster than keyboarding.

Interesting. I wonder did anyone conducted a recent research.

Keyboards stayed the same over all these years while mice progressed a lot,
modern ones have many thousands of DPI and deliver up to 1KHz of samples. This
makes mice work much better in comparison.

Modern displays have much higher resolutions and sizes, a 4k 27” display, even
scaled to 150% DPI, contains much more stuff than 9” CRT of 40 years old Apple
computers. This makes mice work much worse in comparison.

I wonder which of these 2 trends wins.

~~~
dmitriid
> This makes mice work much worse in comparison.

My experience is mostly with Macs, but I guess other OSes have all the similar
things.

First, _physical_ size matters. A button on a 4k screen will probably be a
similar physical size as a button on a 9" CRT (or even bigger), so targeting
is usually not an issue (unless there are glitches in scaling or you don't go
for Retina's 2x scaling).

Second, mouse movement is calculated based on speed. If you drag the mouse
quickly, the pointer will travel a greater distance for the same mouse
movement than a slow drag. This helps move the mouse quickly and then adjust
position.

Modern mice are much more precise than old mice. The high resoltion screen
makes things more readable. All in all My guess is that the situation is
actually better for mouse users than, say, 15-20 years ago.

~~~
def_true_false
_> If you drag the mouse quickly, the pointer will travel a greater distance
for the same mouse movement than a slow drag. This helps move the mouse
quickly and then adjust position._

IME, mouse acceleration is one of the bigger problems for people who rarely
interact with computers. Not sure why it's turned on by default so often.

~~~
setpatchaddress
Have you ever used a computer with no or bad mouse acceleration? (If you’re a
longtime Mac user, you probably have not.) It’s really unpleasant. It’s one of
the things the Mac got right really early on.

~~~
gsich
All the time. It's great.

------
jussij
> It takes two seconds to decide upon which special-function key to press.

I'm definitely in the keyboard camp and I know for a fact this is not the case
for me.

When I am keying in code what I tend to do is just read the text as it is
produced.

I'm not consciously thinking about which key needs pressing, and I know this
only because on rare occasion I actually find that the text I reading is not
the text I was expecting.

On those occasion I stop typing and at that point I then do need to spend a
few seconds consciously trying to figure out what went wrong.

------
keithnz
I'd be interested in more modern studies on this.

1989 I didn't really use the mouse that much it really was amigas / ataris /
macs and those interfaces were really built for mice.

Also you need to make a distinction between applications you use all day every
day and applications you use sometimes.

A lot of games achieve a lot through mouse/keyboard cooperation. As do people
in various designers photoshop/blender/unity etc

For coding, a lot is achieved through things like VIM bindings.

Then we have things like browsers, which are really mouse first UIs that you
can drive through keyboard and enhance with plugins like Vimium.

Also add into the mix trackpads. Useless for somethings, awesome for other
things ( especially through multitouch gesturing )

So, all these scenarios it would be interesting to have a thorough analysis of
perceived speed, actual speed, etc.

------
sildur
> Hence, users achieve a significant productivity increase with the mouse in
> spite of their subjective experience.

Sorry but between doing a high level, interesting activity that takes a few
more microseconds and doing a mind numbing activity that makes me want to die
inside, and also takes a few less microseconds, I choose the former.

We should not base everything in efficiency. Eating only soylent green is
efficient but also awfully boring.

------
gumby
Even the term “keyboard shortcuts” implies that the mouse+menu is the default.
They are simply keyboard commands or keyboard operations.

------
dang
Part 3 was discussed here:
[https://news.ycombinator.com/item?id=4825046](https://news.ycombinator.com/item?id=4825046)

Not much besides that as far as I can tell.

------
butterisgood
I love the Acme editor. The keyboard plus mouse together are really powerful.

In some ways I struggle to find anything quite as flexible. Emacs comes close
but it’s way more complex.

------
jv22222
> a la Quark Style sheets

Quark Express, those we the days!

That was the first software that made me realize how powerful computers could
be and how they would change the world.

Macromedia Director was the second.

------
intrepidhero
Trying to search around that website, it's ironic how broken it is. :-)

Solid implementation beats lofty design maybe?

------
cshimmin
(1989)

~~~
dang
Added. Thanks!

