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.
Hmm. Not to be "that vim guy", but when those navigation/search/etc become muscle memory, it's not really a high level function anymore to do things like searching.. at least in terms path decideability. The sort of amnesia they talk about here happens to me whenever I need to pull my hands away from the keyboard. Though, their study probably didn't have that many opinionated text editor nerds.
If you look at what Tog says was actually tested, every single test he describes is completely bogus. There's more detail on this in https://danluu.com/keyboard-v-mouse/, but briefly, a test he describes is:
> the author typed a paragraph and then had to replace every “e” with a “|”, either using cursor keys or the mouse. The author found that the average time for using cursor keys was 99.43 seconds and the average time for the mouse was 50.22 seconds
Sure, keyboard-only users who do that exact task who literally use the arrow keys plus backspace are slower than mouse users, but since keyboard-only users don't do bulk search and replace by navigating to each relevant character with arrow keys, that's a meaningless benchmark.
As pointed out in another comment ( https://news.ycombinator.com/item?id=28068986 ), the people who know sed and vim are likely to be power users, which are a really small part of the populace.
Sure, there are text replace tools within most programs, but that doesn't mean that even half of the people using computers will know how to use them, or will ever bother to learn, when there are alternatives available. To that end, it makes sense to optimize for either of the easiest approaches, be it either using basic keyboard commands or the mouse.
That's also why GUIs are more popular for personal computing, as opposed to CLIs, or TUIs. Of course, CLIs could also be improved ( think tar vs docker UX, which can be achieved with something like https://typer.tiangolo.com/ ) and TUIs are also somewhat underused (nmtui, ncdu and many others are great pieces of software).
As for the actual amount of money spent - that is indeed a "yikes", how does someone even spend so much?
> 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.
That's not my experience at all. Once you learn a keyboard shortcut, it doesn't take two seconds to recall it. Were his tests on expert users, or on beginners?
Well it depends on how often you use it. There are a handful of shortcuts I use... Once every other week? It certainly takes me a second or two to remember exactly how to do it. Even if I've used them on and off for years.
Sure ctrl z everyones got down. But what about alt k to kill that one process in that one program you have to keep fixing for that one client?
Pretty much everything you do often enough will be automated away from conscious thought.
It ends up in a weird situation where if someone asks what the keyboard binding for, say, inserting a row into a org-mode table, I wouldn't be able to answer. Something with maybe a c in it, and a '-', not sure? Yet, once in the situation that needs it, the fingers move by themselves.
Also related, musicians don't spend two seconds figuring out how to play a note.
Musicians also regularly play all the notes on their instrument. There are many once/week tasks that you’ll spend more time trying to remember the shortcut you used last week than just grabbing the rodent.
Sure, but one of my most commonly used keyboard short cuts is the one that pops up a fuzzy search over all the available actions/settings. Whereas with the mouse i have to dig trough a ton of sub menus and often even have to google to find what I want.
The difference is between using a keyboard shortcut like vim's "yaw" to copy a word vs vim's "d3f," to delete the next three words. The former you can save to muscle memory and always do instantly. The latter you have to think about, because you need to adjust it to your needs in the moment. That will always take a moment of thinking time.
I have been mouseless for over 30 years. (The office being the exception but I still use it minimally.)
The issue is not speed, it's control. Precision, if you will. I can automate repeated tasks with the keyboard. Doing that with the mouse is beyond awkward; it's counterintuitive.
Mouse is for interaction. Keyboard is for automation.
(Obviously for some tasks, e.g., ones involving graphics, we need a mouse.)
Is automation faster than interaction. You tell me. Try doing everything your computer does by hand. I will give you $50 million for your efforts. Then report back with your discoveries.
Generally no one (seriously) programs a computer exclusively with a mouse. A keyboard is used. Surely, there must be a reason for this.
Of course, the "tech" company model of the world needs users to not be programmers. The mouse is taken as a signal "we have a human on the line". Automation is taken as a signal "it's a bot". Truly, the only significant difference between the two is that it is far more difficult to manipulate, analyse and serve ads to "bots" and charge advertisers money for it. Users who can program the computer to automate tasks can escape online advertising and tracking in ways that others cannot.
One of the most brilliant programmers I worked with had a 14-button mouse. It had cut/copy/paste/select all/etc all on his mouse. He hated typing and actually couldn't touch type. He would always look for code online he could just copy/paste with minimal modification. I thought he was out of his mind but the dude produced amazing results and I think to this day I've still learned more from him about programming than I have from any of the other amazing people I've worked with.
I love to think keyboard is king, but none of this matters—it's whatever floats your boat.
If someone designs a system for input where I can only use a mouse, for me thats a boat sinker. Not that I love keyboards, it's just they are better than anything else I have found.
> Sounds almost like a mini-keyboard that slides around on a pad. :)
...except that it was a one-to-one mapping of function to button kinda deal. He didn't have time for fancy things like key-combos!
Yeah, who knows what programming will look like in the future. I'm a huge stay-on-the-keyboard snob but also, I have `set mouse=a` in my vimrc because often I want to hold a drink in one hand scroll through code with another. Shoot-me-why-don't-ya!?? And heck, sometimes it's just that my right hand was already on my mouse to use a macOS feature and now now my left hand cmd-tabbed me back to vim. It's all about laziness, right? My right hand does quickly find itself back on the home row in the latter situation, of course.
Software / on screen virtual keyboards are a thing. You probably use one everyday if you have a smart phone. The same thing is available on your laptop / desktop as well, though not quite so convenient without t9 or swipe-typing.
I find myself wondering how much difference the feeling of speed makes for creating a "flow" state. It may be physically faster to achieve a task, but if there's a minor context switch between "thinking about what to do" and "mousing around to do it" that doesn't happen with the keyboard, with a corresponding context switch back to thinking about the actual task that all this moving the cursor around is part of... how much time do those cost?
How much of one's internal working memory has to be flushed of the image of what you're trying to create, so that you can visually process mousing through menus much more densely packed than anything back in 1989 when Tog wrote that reply?
Great point on the context switching. It made me think about how I've setup my keyboard and use my editor.
I always opt for a compact numpad-less keyboard with a trackpad right next to it. I like to have the trackpad as close to the keyboard as possible.
I'm a vim user, and what this means is that while I mostly use the keyboard, I can quickly switch over to the trackpad as an auxiliary input for certain movements.
I know the common refrain with vim is to learn how to do things without the mouse... and I certainly can do that pretty effectively. But after over 10 years of vim, I find that using a little bit of trackpad can actually save a lot of time.
I can't find it just now but I thought there was a followup study that looked only at operators familiar with the interface and in that case the results were overwhelmingly in favor of keyboarding (as most of us would expect).
The essence of the difference between keyboard and mouse interfaces is simply that the mouse introduces that extra mechanical layer between user’s intent and internal APIs, but offers the advantage of discoverability.
That advantage and disadvantage tradeoff heavily depends on the nature of core functionality, how it’s mapped to the UI by the developer/designer, and user’s overall experience and familiarity with software.
As with so many things, worth noting that 'people' vary widely across every relevant spectrum, and I can't imagine that the median hasn't also shifted since (checks notes) 1989 (!!!)
I think others have done far too good a job debunking this obvious misunderstanding for me to add much on that front thus I'd like instead to ask a different question.
Tog insists that professional users discard the evidence of their own decades of experience using a computer in favor of the results of his stopwatch but not only declines to show his exact results and methods but declines to even conduct an experiment which looks even slightly like a professional computer using completing a task preferring a nonsensical exercise that appears designed to be automated for even greater savings. Why then after the writer discredits their ability to understand the topic 32 years ago are we still discussing their words.
It's hardly necessary to touch much on his ideas about hierarchies of complexity or perceptible time as he only needs to venture outside his own area of expertise into new and exciting theories about neurology and perception to support the otherwise forlorn and unproven theory that using the mouse was inherently faster in the first place.
If you ever in the course of your programming find the need to formulate new theories of quantum physics to explain why everyone else is wrong and you are correct you may want to step back and consider whether you have departed from the beaten path or perhaps from reality.
So why are we still wasting bandwidth on him?
Incidentally this reply was composed in Emacs. I sadly have a bad habit of misspelling words that spell check has alas done little to alleviate. Each time I misspelled a word instead of taking my hands off of the keyboard I hit a hotkey to go back to the first misspelled word tracking backwards from cursor. Most of the time the first suggestion was correct and I merely hit Enter. Once I had mangled it so badly that I had to hit a few characters to set it once again upon the right track. So 95% of the time 2 keystrokes, rarely 4 to correct misspellings after which I could continue typing from wherever I left off.
Sometimes I found that I didn't like a particular paragraph and wished to rewrite it. This can be accomplished in Emacs evil mode with cip meaning change in paragraph. This erases the current paragraph cursor is in regardless of where in the paragraph you are in other times I just wanted to rewrite part of a sentence in normal mode capital C deletes onward from point and leaves you in insert to continue typing.
Less cognitively demanding? That's debatable. The mouse is way less demanding for my brain when trying to point at or select something in my IDE. Almost frictionless.
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.
This contradiction between user-experience and reality apparently forms the basis for many user/developers’ belief that the keyboard is faster.
https://www.asktog.com/TOI/toi06KeyboardVMouse1.html