The difference is that with a pointer device you need to control the input very carefully and precisely, which wastes time and brain cycles. A misclick could result in either maximizing or closing a window. Consecutive clicks can be interpreted differently depending on the configured period. Dragging and dropping is awkward, etc.
On any trackpad other than Apple's this becomes even more difficult. Gestures are nice but also require nuance and IME don't become part of muscle memory as quickly as keyboard use does.
Keyboard-driven workflows have no such issues. A keyboard shortcut is an immediate command to the computer to perform an action, and if that's something you do often, it will save you time and effort right away. You'll memorize it soon and forget about it since it will become part of muscle memory.
> If the challenge is to move to an arbitrary location visible on screen, then it’s logically almost certain that a good trackpad is more efficient than any combination of keyboard shortcuts.
But moving "to a location on screen" is never a challenge worth using keyboard shortcuts for. If moving a cursor is your only UI option then a trackpad will be more efficient than doing the same with a keyboard of course. What you should do is use hotkeys to perform the action you would with a pointer so that you don't have to move it to begin with.
I’m not really sure what you’re getting at. I find my MacBook trackpad to be a fast and precise method of placing the cursor at an arbitrary location within a text buffer. Outside of certain special cases it is faster for this purpose than fiddling around with keyboard shortcuts. There should not be any significant mental overhead associated with using a pointer device if you are sufficiently practiced at it.
If trackpads don’t work well for you then don’t use them. I believe you, and have no interest in proving that your favored working methods are suboptimal. However, having tried the ‘keyboard first’ approach, I know that it is less efficient for me.
I do tire of the ritual haranguing of anyone who notes that they find the use of pointer devices an aid to their working efficiency.
I'm disagreeing with your assertion that "it's logically almost certain that a good trackpad is more efficient than any combination of keyboard shortcuts".
I thought you were talking about moving the cursor to a general area of the screen, not within the context of a text buffer, but there I still think using the keyboard for motion is more efficient once you build up the muscle memory for it. There are plugins like vim-easymotion[1] that make this faster, but I've found plain motion bindings to be efficient enough for me.
In any case, my intention wasn't to dismiss your personal preference, so apologies if it came out like that. At the end of the day we all have a specific workflow we prefer for whatever reason, and that's fine. I just objected to the general statement that a trackpad is more efficient.
As a developer, eventually, the raw task of "writing code" is really not where I feel losing time. Tbh, most of my time developing software is reading code and thinking about what needs to be written and "doing nothing" waiting for build/test to complete.
Fast switching between tools using touchpad gestures is more important to me than being able to type faster (but I acknowledge you can do both). As a sidenote, I absolutely love macOS fullscreen mode combined with 4 fingers swap. It's such a productivity marvel that I don't understand why Windows never copied it.
It's not so much about saving time for me as it is about avoiding the context switch. If I'm typing on the keyboard moving my hand away to the mouse or down in the case of a trackpad and then carefully positioning the cursor on the screen and clicking, is disruptive to my workflow when I just want to think about what I'm typing. For daily use I use a Trackpoint to at least avoid the hand movement, but moving the cursor around still takes me out of whatever I was doing to focus on the UI (in addition to the annoyingly persistent Trackpoint drift issue).
But I agree that Apple's touchpad gestures are awesome and from the few times I've tried it it worked much more reliably than on any other device. Still, I haven't found a more comfortable setup than a ThinkPad keyboard + Trackpoint. The insanely short key travel on Macbooks is unbearable to me.
>but there I still think using the keyboard for motion is more efficient once you build up the muscle memory for it.
I think a lot of people underestimate how fast a good trackpad can be with practice. I can move the pointer to an arbitrary location on screen in less time than it typically takes me to make a key chord. However long and hard I might train on Vim (and I did use it for ~10 years!) there's a hard limit on how much time that could save me when the trackpad is already so damn fast.
True, but it's much more precise than an analog pointing device sensitive to subtle movements, click timings, etc. Keyboard input can be trained and ingrained in muscle memory. Mouse movements always require focus to at least ensure you're clicking on the right UI element.
On any trackpad other than Apple's this becomes even more difficult. Gestures are nice but also require nuance and IME don't become part of muscle memory as quickly as keyboard use does.
Keyboard-driven workflows have no such issues. A keyboard shortcut is an immediate command to the computer to perform an action, and if that's something you do often, it will save you time and effort right away. You'll memorize it soon and forget about it since it will become part of muscle memory.
> If the challenge is to move to an arbitrary location visible on screen, then it’s logically almost certain that a good trackpad is more efficient than any combination of keyboard shortcuts.
But moving "to a location on screen" is never a challenge worth using keyboard shortcuts for. If moving a cursor is your only UI option then a trackpad will be more efficient than doing the same with a keyboard of course. What you should do is use hotkeys to perform the action you would with a pointer so that you don't have to move it to begin with.