top | item 28045342

Going mouseless

176 points| FelipeCortez | 4 years ago |felipecortez.net | reply

177 comments

order
[+] bartvk|4 years ago|reply
Firefox has a neat trick to only search in links. Press ' (single-quote) and at the bottom, a text input field appears with the hint "Quick find (links only)". Type two or three characters will focus the link in question, just press enter to navigate.
[+] globular-toast|4 years ago|reply
This used to pair nicely with "/" which opens up the normal quick search. Unfortunately this is broken on the "modern" web as many web pages "helpfully" override the "/" key to make it go to their search box which, of course, is not at all what that key should do. There doesn't seem to be any way to stop web pages stealing this key and I've slowly learnt to use the comparatively clumsy "Ctrl+F" instead as I'm too scared to try "/" now.
[+] jbaber|4 years ago|reply
Discovered this when some vim-like plugin failed. Realized it's about 90% of the reason I was using a vim-like plugin.
[+] manaskarekar|4 years ago|reply
Thanks, this is awesome. I totally expect to rely on this feature after using it for a few weeks and expect Mozilla to yank it out for usability reasons.
[+] janus24|4 years ago|reply
I'm using the US International keyboard mapping, to type ' I have to type ' + space. The goal is to add the possibility to wrote letters like é (' + e).

So this doesn't work for me and it doesn't seem possible to change the shortcut on Firefox :(

[+] nicholasjarr|4 years ago|reply
Wow! One more reason to stick with Firefox. Thanks!
[+] petepete|4 years ago|reply
Thank you so much for this. Used it since more or less day one and never knew about this feature.
[+] agumonkey|4 years ago|reply
I so forgot about this. Incredible.
[+] dagw|4 years ago|reply
Wow, TIL. Thanks!
[+] CharlesW|4 years ago|reply
For anyone considering doing this for speed reasons:

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

[+] chaps|4 years ago|reply

  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.
[+] luu|4 years ago|reply
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.

[+] zck|4 years ago|reply
This article also says:

> 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?

[+] 1vuio0pswjnm7|4 years ago|reply
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.

[+] egypturnash|4 years ago|reply
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?

[+] intrepidhero|4 years ago|reply
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).
[+] xyzzy123|4 years ago|reply
I wonder if this is due to the mouse requiring a sort of constant attentional feedback loop as you look at the screen and guide it where to go.

Even if it's subconscious and technically faster, or even an illusion - I feel like mouse is consuming more cognitive resources.

The feedback loop with keyboard can feel quite different, in flow it feels like you issue commands and look for immediate response.

Also, when doing a repetitive task you quickly pick up key rhythms and patterns without needing prodigous memory to recall every possible "shortcut".

What I am not sure the user interface testing covered is making users perform the same task 50 times per day.

I don't think that using keyboard to control mouse has the same advantages as a keyboard-native interface.

[+] orzig|4 years ago|reply
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 (!!!)
[+] michaelmrose|4 years ago|reply
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.

[+] bloqs|4 years ago|reply
Keystrokes carry far less fine motor control so are "easier" and less cognitively demanding and feel faster as a result.
[+] jchw|4 years ago|reply
Whenever I don’t have a mouse, I notice. Immediately.

Been staying in hotels recently. The wifi login for IHG hotels varies a bit, but often has either tabs or a checkbox that is not keyboard accessible because it is not part of the focus order. Obviously this sucks for people with disabilities, but it also sucks for people with Android TV devices (in my case, a Chromecast.) Now obviously, one of those things is more important than the other (although unfortunately, I bet I know which complaint would be more likely to lead to a change.)

So yeah, I’ve always got a bluetooth keyboard/mouse combo for this reason. (It’s a bit pricey, but a K830 works well.) It’s a bit sad that websites and apps are so careless with accessibility, but unfortunately, for that reason, it’s hard to truly go mouseless. At least this page describes how to set up a virtual mouse, because yeah, you’re going to need it.

[+] kozd|4 years ago|reply
If you want to ditch the physical keyboard/mouse, there are apps that let you use your phone as a Bluetooth keyboard/mouse.
[+] the_af|4 years ago|reply
I think keyboard-only being faster is a red herring, much like all the frequent arguing about learning to touch type to be "faster".

I don't doubt many hackers and programmers truly enjoy doing everything from the keyboard, and that they can do it really fast too. However, I simply don't buy this is an ideal we should strive for in general.

The mouse has an awesome UX property: it has zero friction for discoverability. It's always there, I know I can point and click and interact with something, I know I can drag stuff and I know I can group and select. Some UIs break this expectation, sure, but more often than not it will work.

I don't have to memorize shortcuts or develop "muscle memory" and can instead devote my brain power to the actual task I want to solve. If I stay a long time away from a certain editor or tool, I don't have to worry about forgetting its shortcuts -- the mouse is always there, reliable as always.

I'm an experienced programmer and a power user in many cases, and I do remember my share of shortcuts. But give me a mouse, anytime -- maybe I spent years away from your app, but I'll know how to use it, and fast. And those shortcuts be damned.

[+] urthor|4 years ago|reply
Exactly.

it mirrors the command line experience. Command line is faster/move convenient once you've learnt how, but finding out how to use it involves reading a manual basically. Each individual task involves a search for a command line command that executes it.

Whilst the learning process for GUI is intuitive because it depends on a chain of tasks that are presented to the user as a visual dashboard.

Two entirely distinct learning processes.

[+] senorsmile|4 years ago|reply
I've been using awesome wm with a slightly customized settings. This plus vimium gets me to >99% keyboard only. When I have to use a Mac, my slow down is so noticeable.
[+] raihansaputra|4 years ago|reply
Is there a keynav like utility for MacOS? Maybe a Karabiner/Hammerspoon other scripts?

EDIT: I've found some, should be "customizable" with Karabiner customization on top

https://github.com/trishume/QuickMouse

https://github.com/h2ero/XEasyMotion

https://shortcatapp.com/

Some great discussion here: https://gist.github.com/lornajane/3892c39098cf70baa9c7a1874c...

[+] Aromasin|4 years ago|reply
I've used the ZSA Moonlander (https://www.zsa.io/moonlander/) as my main driver for the past 6 months, except I've replaced the right hand thumb pad with a custom mouse mod. I basically pulled the electronics from a Logitec trackball mouse and machined a casing for it to clip to the keyboard once the thumb buttons are removed.

It's been wonderful. I'm reaching the stage where I'm just as dexterous now with my thumb as I was with my regular mouse, and my right hand isn't constantly searching for the home row when I return to type. I can't recommend it enough.

[+] nathan_phoenix|4 years ago|reply
If you're using MacOS and are looking for system-wide Vimium, checkout out Vimac[1]. Works really well!

[1]: https://github.com/dexterleng/vimac

[+] hultner|4 years ago|reply
I tried it about a year back and it was missing to much back then to be usable day to day for me. Took a look again now and it does look like there’s a lot of improvements, will have to give it another go.
[+] spfzero|4 years ago|reply
This looks cool, especially hint mode. Wondering what scroll mode adds though, compared to just using the existing Mac OS shortcuts (or Pg Up/Pg Dn)
[+] enricozb|4 years ago|reply
If you're on linux, consider trying a tiling wm like i3 [0] or sway (wayland) [1]. New windows automatically place themselves in a nice place and don't overlap. It's extremely (if not entirely) keyboard driven and pretty configurable.

[0]: https://i3wm.org/

[1]: https://swaywm.org/

[+] matsemann|4 years ago|reply
Using a Rollermouse, I never have to leave home-row when moving the pointer, so not such a loss of time compared to a normal mouse. The mouse-bar is just a centimeter off the space bar, so I just move it around with my thumbs. Index+thumb if I need more precision. No more elbow pain as well.
[+] thom|4 years ago|reply
This is what I liked about the old ThinkPad nipples. I would still buy a laptop with that setup and no trackpad, tbh.
[+] trey-jones|4 years ago|reply
It's a good skill to have. I think sysadmins kind of acquire it naturally, with much work being done in the terminal. I'm fairly proficient on my own computer with my own hotkeys, though I'm sure I could take it further with some effort. I still use a mouse frequently in the browser, but for the bulk of my work my hands don't leave the keyboard.

I'm not sure whether it's significantly faster than an "expert mouse user" but I also don't think it's slower. I haughtily think that my killing and yanking is more precise than it would be clicking, but who knows?

I think it's kind of a parlor trick really, but it does impress the younger and less experienced team members to some degree.

[+] cle|4 years ago|reply
Take care of your hands. I went on a crusade to go mouseless a few years ago, and eventually it resulted in RSI from typing so much. Focus on your posture, take breaks, stretch your hands and fingers, get an ergonomic keyboard, etc.

An under-appreciated benefit of using a mouse (as a programmer) is that it "switches things up" on your hands so that you aren't doing the same repetitive motions all day long. You can be marginally faster with a mouseless workflow, but you're definitely not very productive when you can't type for months due to RSI.

[+] cainxinth|4 years ago|reply
My computer-related RSI prevention tips:

Get separate mouse and keyboard wrist rests.

Use a vertical mouse instead of a traditional one.

Use more than one type of mousing device and switch up from time to time. Graphic tablets with digital pens take some getting used to but are excellent.

Look up RSI forearm stretches and take breaks to stretch your arms and hands for a few moments at least every few hours. I'm also a big fan of gyro ball exercisers.

Get an ergonomic chair with movable arm rests that can keep your arms at around the same height as the desk your working at.

[+] alpb|4 years ago|reply
For macOS, if you like Vimium, you'll like Vimac https://vimacapp.com/ as well. It supersedes vimium but vimium is still better while working in the browser context.

I'm also actively trying to go mouseless and Vimium+Vimac and setting custom keybindings to move/click my mouse on my ZSA Moonlander keyboard are currently helping me excellently.

In many cases, moving your hand to the mouse, finding the cursor, moving it and clicking it is a lot slower than a keystroke combo like F-SD.

[+] asjldkfin|4 years ago|reply
I have the exact same setup as you, moonlander + vimium + vimac.

Out of curiousity, how are you binding Vimac?

I'm binding it to where the right-shift key should be, and it's worked well, but always curious about alternative setups.

[+] jodrellblank|4 years ago|reply
> "With the Vimium extension installed, pressing f will make every visible link on the page get a one-to-three letter shortcut."

This is a UX which happens quite often, but doesn't seem to get discussed much. I want to say it's more of a hybrid between keyboard and mouse even though it's all keyboard driven. I mean popping up numbers temporarily over things you might act on, then they vanish and might not be the same number on the same thing next time. e.g. a meta key in a web browser which overlays the tabs with numbers, you press a number to switch to the tab, then the numbers vanish.

The point would be that you don't have to read through them to work out which one you want, you don't have to manually count "how many things from the left" or "what's a unique substring to search for", you are already looking at the one you want so the number which appears on it is pseudo-eyeball-tracking, look at the thing you want, press the meta key, type the number which appears, ignore the other numbers. Like line numbers and Vim "49G" to jump to line 49, Win+Digit to run taskbar items, Windows menu underlined accelerators.

[+] arpa|4 years ago|reply
I went readless on mobile. Text doesn't wrap, can't zoom out to fit lines into view...
[+] FelipeCortez|4 years ago|reply
Sorry about that. I wrote the style sheet in a hurry and forgot to test it on mobile, although zooming out worked for me.
[+] auslegung|4 years ago|reply
Same here, but I turned on reader mode on mobile Safari and was able to read it
[+] agumonkey|4 years ago|reply
I'm at a courthouse, their software is web based and it's so horrendously inefficient. They tried to make a few keybindings but it's mostly mouse driven. Not even Enter to submit the main form. Gah. Lead dev please remember how fast a keyboard is and how important it is to go swift on simple jobs duties. Ergonomy and efficiency.
[+] brokenmachine|4 years ago|reply
Could you use greasemonkey or something to add the Enter to submit? Also there's vimium which might help.

If you do it all the time, it's worth fixing it.

[+] alkonaut|4 years ago|reply
A mouse or trackpad is a 2D input device. Unless you have a 2D input problem (dragging nodes in a graph, drawing a free form curve, selecting a point on a map…) then it was never the right tool to begin with.

Navigating discrete UI elements or making simple UI actions of the kind that can be mapped to keyboard input - that’s easily doable with a keyboard. Occasionally it’s just a tad harder with keyboard than with mouse (web pages are notoriously useless with keyboard) but it’s possible.

I wouldn’t last a day without going crazy without a mouse though. People who say they have gone mouseless also seem to argue they have zero 2D input and basically use text and ignore all other workloads. That’s not exactly solving the problem (not that I think it can be solved any better than just using a mouse!)

[+] Stratoscope|4 years ago|reply
The article notes that you can use MouseKeys on Windows. MouseKeys is great, but only works if your keyboard has a numeric keypad.

Since I've used ThinkPads for many years, I wrote a program some time ago I called JKLmouse. It gives similar functionality to MouseKeys, but works on ThinkPad and other laptop keyboards that don't have a numeric pad.

It does help to have actual mouse buttons like on a ThinkPad. If you have laptop where the only way to do a mouse click is by pressing on the touchpad it won't work so well, because just the act of pressing the touchpad is likely to move the mouse pointer slightly.

JKLmouse and the TrackPoint work together nicely. You can use the TrackPoint for larger mouse motions and then use the keyboard for precise positioning, all seamlessly.

There is an installer, but for programmers I suggest instead installing AutoHotkey separately, and then download and configure JKLmouse.ahk to run at startup. If I do say so myself, I think it's a good example of some well-written AutoHotkey code. Maybe it will give you some ideas of other things you can do with AutoHotkey.

https://www.jklmouse.com/