Keyboards aren't just about memory, they are a lot slower then the mouse if you don't have almost instinctive muscle memory. If you have to think what the key combo is, use the mouse.<p>Every so often I'll start thinking that maybe a keyboard + mouse combo is the fastest most efficient way to go... on Windows.<p>And then I see a windows developer for whom the keyboard has become an extension of his hands and he never touches the mouse. It's crushing to see that kind of speed and power.<p>The speed and efficiency of the keyboard isn't just a lot faster, it is so much faster that it changes the way you work.<p>But it's hard to get there, you have to find the commands, practice them, practice, practice, and all the while it would be easier to just reach for the mouse.<p>And yet I've made it a goal of mine to always get better at using the keyboard. A little bit a time, I figure I'll have no need for a mouse when I'm 80 or so.
The difference between keyboard friendliness on OSX and Windows has always been fascinating to me. On OSX, even being able to tab between buttons in a modal dialogue is off-by-default. Opening folders in the Finder is cmd+O instead of just enter. I still have no idea to this day how to access the menu bar from the keyboard.<p>Meanwhile on Windows, I spend 99% of my time on the keyboard, since both Explorer, Visual Studio, and all the other apps I use couldn't possibly be friendlier to shortcut keys. The consistency gets better with every release as well.
The real problem with keyboarding is the TERRIBLE lack of consistency. Apart from a very few commands, most applications seem to just randomly select keyboard letters to map to tasks based on the first letter of the english word. When I switch to a german keyboard, the key stroke commands change again! I use my apple, and things are different again.<p>It does not work. A UI has to be consistent, and keyboard commands are extremely inconsistent. Look at the vim style commands and compare them to the windows style commands.<p>And another problem with keyboard commands is that there is no hint. How many people have gotten stuck in vim because the interface is not acting as expected?<p>Using a gui to shut down an App, I look for an X and press it. Using a keyboard, it could be ctrl+q, ctrl+c, ESC, :q!, Alt+F4, Alt+B (German Systems), Alt+Q (English Systems) or exit().<p>It's TERRIBLE user interface design to have so many different ways of performing the same action on the same operating system.<p>F1 works because it's always Help. The arrow keys work because they always mean the same thing. That's how keystroke commands should work: One combination, one meaning - all the time and everywhere! So when you learn that stuff, you know it.<p>I don't want to invest my time in learning app specific shortcuts for applications that I don't use that often. And that are liable to change anytime.<p>The state of keyboard control of software is broken, and has been broken for a long time.<p>My suggestion for the fix - an OLED keyboard that switches to "command mode" when a button is pressed. So the commands are always in the same position with all apps, all layouts, all languages and stay consistent.
I was working on a project with another programmer, and there was this little "test" window and an icon that only showed up when you alt-tabbed to our app (it is a system-tray-only app). I simply assumed that the other guy knew about it and was going to take it out before release. Well, it stayed there for a long time, and the release got closer and closer. It finally got entered as a bug, and I asked the other developer "so you weren't going to remove it?"<p>He said "I didn't know it was there. I don't really use alt-tab."
Working in financial models all day in Excel, I can't imagine having to use the mouse for any more than 10% of my work. Keyboard shortcuts are so much faster that they basically render a mouse useless.<p>It takes some getting used to and a bit of practice, but once you get comfortable with the keyboard, there's no turning back. I really only use the mouse for casual web browsing and solitaire.
Where do mouse gestures fit in? It seems like they're in the "remembering lots of stuff" category (though there is less possible variation to the mouse signal, it only has so many buttons and relative movement/timing).
Oddly enough, I find that I have to put my hands on the keyboard to figure out what a particular emacs command is. My muscle memory has outlasted my 'brain' memory.
Thanks, Hank, for bringing up a very important topic that we don't talk about enough.<p>Interestingly, of all the things that retard adoption of new technologies, I think that the mouse is still the biggest one.<p>I have customers with call centers and power users still on green screens and command lines. The switch to GUI has always been too expensive. When you have 4000 users, the cost of average call times going from 2 to 4 minutes adds up quickly.<p>Make no mistake about it, for repetitve tasks, the keyboard is always faster than the mouse. "Alt" and "Ctrl" commands are cool and geeky, but like Hank says, who can remember them all?<p>We need web apps with intuitive keyboard interfaces. Fkeys (they're on every keyboard) and single letter commands are easily adoptable. (Oh, you mean "C" brings up the Customer record, cool.)<p>The ability to do this is as old as javascript. Once we developers take the GUI pain away from the power users, the big migrations can continue.
I tend to go to the mouse as soon as I have to work with more than one window, but I think keyboarding wins long-term.<p>In my opinion, the advantage of keyboarding is not due to its being faster, but the fact that, once learned, it doesn't break flow. The time lost due to mousing is trivial, but the compromise to flow is significant, at least for me. This is why hackers and gamers alike prefer to keyboard.