You might be just as fast and just as accurate but your fingers are definitely working harder, which could lead to RSI, for example. People have analyzed various layouts for efficiency, which may vary with type of work:
As a single data-point I find RSI isn't a problem for my typing style. I'm in my sixties and I've fought RSI on and off many times. To the contrary my typing style has changed to be more comfortable and less stressful. I've actually had to change it at times to lessen pains in specific fingers. Forcing myself to use touch-typing had caused pain in my pinkies before.
What is your "typing style"? Newer keyboard layouts trying to reduce the "pinky" usage. "Programmer Dvorak", for instance, places frequently use programming keys (e.g. [ }) more conveniently on the keyboard. What you're doing might work for you, but there are quite a few people with RSI issues so something that helps and is reproducible is needed.
It's not about typing faster, it's about moving your fingers less by placing frequently used keys on the home row, or in an easier place to reach. I posted a lot of information about this. Read through some of it.
Think about it like mileage on a car. If your fingers move half the distance to type the same text, that will add up over the decades.
I've actually given dvorak a fair shot - used it exclusively for a complete year, bought a blind keyboard to speed up learning, practiced daily with dedicated tools for the first month or so. I also took the opportunity to learn proper typing style, rather than a sort of 9 fingered hunt and peck system I had fallen into.
The result is absolute, abject failure. More pain in the wrist and upper arm and noticeable reduction of work efficiency. I'm now back to qwerty and hands flying over the keyboard.
I've however come to the conclusion that it's not specific to dvorak, but rather an inherent flaw of the "proper" way of typing, at least when it applies to programming, at least when it comes to the way I do it: I'm using the arrow keys rather a lot, especially since I don't ever use a mouse to navigate in text.
The arrow keys are far enough of the "main" part of the keyboard that I can't reach them without moving my right hand away from the proper, F-J position. Getting it back to the right position afterwards often involves a bit of fumbling, to the point where I sometime shift it one entire column to the right and need to delete the 5 or 6 characters I typed before my brain caught up with what was happening. This is both frustrating and, over the course of a long day, exhausting.
I know that there are solutions for this: I could use emacs-like shortcuts to navigate (ctrl-n for ->, say), I could use fancy keyboards such as the typematrix which map the arrow keys to cleverly choosen normal keys with a FN modifier... but at this point, I just want to be able to type comfortably again, not learn yet another alien (to me) method of typing in the hopes that in a year or two, I'll be back to where I was one year ago.
> The researchers say our typing techniques are often a
> reflection of the task being performed on the computer.
> “The touch typing system was developed for typing
> sentences on typewriters,” said Feit. “It is not
> advantageous for Photoshop shortcuts or gaming, often
> done with one hand on the mouse.”
> Developers could use this research to create better user
> interfaces both in software and in keyboards
> themselves. The interfaces should be tailored to the
> way we type today, not how we typed a long time ago.
So much this. Writing English sentences on a typewriter with touch typing works well. But many people don't write prose exclusively and computer keyboards are not typewriters so it's no surprise that touch typing doesn't often work so well.
As a programmer I find typing {, } and \ with the pinky the biggest problem. There are layouts especially for programmers.
The ones that I'm aware of are Programmer Dvorak[1] and Neo[2].
I agree. I just don't know the correct word. In German we have "Tastschreiben" (touch typing), "Blindschreiben" (blind writing) and "10-Finger-Tastschreiben" (yes this is a word, 10 finger touch typing).
I don't like QWERTY for a number of reasons, but feel forced to use it out of respect to my peers at work. I succeeded at learning a better alternative, Colemak, at home, since it is not far from QWERTY. But you don't need to change your whole layout - you can do incremental stuff to improve your situation.
For example, I found it silly that () [] {} and /\, symbols that I use so very often every day, are placed so far away from home row in both Colemak. Also, I was annoyed with the Alt key being placed really awkwardly on my MacBook Pro. And here CapsLock was going totally unused... So I changed CapsLock to Alt, Alt+j to (, Alt+k to ), Alt+Shift+j to [, Alt+Shift+k to ], Alt+l to {, Alt+æ (the key just right of l on my Danish QWERTY keyboard) to }, Alt+u to / and Alt+i to \. It was something like that - I can't check since the computer is broken at the moment. And it was glorious. You should try it out - just change the stuff that bugs you the most to begin with.
I used a program called Ukelele for Mac to change my keys. Unfortunately, it's a bit harder to remap CapsLock in Windows, which is what my workstation uses.
I learned to type with speed by playing Police Quest when quite young, and developed a quite quick, but interesting style where I never use my thumbs. I tend to cover roughly 2/3 of the keyboard (the left side) using my left hand, and the remaining 1/3 (and 10-key) with the right.
It's worked out well for me, and I can touch type both code and English wonderfully. The only time it falls apart is when I find myself in front of a split, so-called ergonomic keyboard, which expects each hand to do a 50% split.
Isn't this more a reflection of the limits of the qwerty layout? Both 'styles' have similar asymptotic limits because the layout simply doesn't enable faster speeds very well.
I learned how to touch-type in high school so I could type easily at college. After programming for years I've migrated to a custom scheme that seems a lot easier to type than touch. I have suspected I was no slower but I haven't tested myself. Even if slower it is easier.
I was given a computer at an early age and my mother didn't know how it worked and had never used a computer, and my grandfather was blind, and so had never used a computer either. I picked up how different keys and combinations worked myself at around the age of seven, and developed an awful habit of turning caps-lock on, pressing the letter I wanted in uppercase, and then turned caps-lock off again.
I'm thirty now, and a professional programmer, and it's only within the last few months that I've gotten away from the habit by disabling the caps-lock key, I might remap it to something else in the future.
I type at a pretty speedy pace, probably around 80-90 words per minute, my fingers don't rest on the home row. The only thing that bothers me with my current typing is that my left pinky has a tendency stick up, as if I'm drinking tea. [0]
I tried to learn to touch type last year. Bought a blank keyboard to help. 8 months later I still type with two index fingers, at the same speed as I ever did (about 45 wpm) and with more or less zero errors. Only on a blank keyboard, so I never look down anymore. Kind of weird and still unnerving . I'll try touch typing again sometime. And yes, I'm afraid I'm a professional programmer.
When I got a Das Keyboard back in college, it was largely to break myself of the habit of looking down (also it looked cool). I wasn't slow, but looking as I typed always ended up tripping me up. Removing the letters was the only thing that broke me of the habit. Best money I spent on my machine, silly as it was.
Try out the Colemak keyboard layout for the next time you try to touch type. It may force you to break your habits by putting you into a different headspace and turn your Qwerty muscle memory into a handicap.
http://colemak.com/
As a counter-anecdote: my stupid self-taught style involved my left pinky shifted left to hover/handle the shift/ctrl keys, and thus my right hand travelled a bit more to cover the remaining keys.
In graduate school I started to have increasingly frequent bouts of wrist pain and realized I needed to do something or risk major surgery. I took a weekend, relearned touch typing with the Colemak layout, and have been happy I did that ever sense.
I switched to Colemak to reduce strain and found it to be effective. The only issue I have with it, is I sometimes forget to press ctrl-space before I pass my Mac to a coworker. Then I have to explain out-loud that I use Colemak, which is hard to do without sounding like a total hipster.
Makes me wonder. Are we typists? It almost never happens to me to have to copy a text from paper - and never more than a few lines in any case. So I can freely stare at the keyboard while I type, I'm concentrated on what I'm typing anyway. Also, I don't think that my output is in any way limited by the amount of words I can type per minute - more by the amount of words or lines of code my brain is able to produce in a minute, which is not much.
Finally, if there is something that really makes me cringe, is when some colleague or friend proudly declares to type like real men do, without looking at the keyboard. They usually sit in the correct ergonomic position, back well straight, eyes on the monitor, and start typing. A word. Mistake. Backspace. Again. Mistake. Backspace. Space. Mistake. Backspace.
And they're typing code. With auto-completion, intellisense and everything.
I prefer to look at the monitor at the words I'm typing, then looking at the keyboard while I'm typing. I think that for people who aren't strong touch-typers, they may not realize what the advantages are. When I'm thinking of something and trying to type it out, there's no cognitive overhead, so I can use 100% of my brain power for whatever I'm thinking about. When I've thought of something I want to type, I can type it out really quickly before I lose the thought, and can quickly get it all typed out and go back to thinking.
I write with (almost?) all my fingers in use, without looking at keyboard, and
with quite good accuracy for quite a long time. I don't think everybody should
force themselves to learn that.
If you write really much, your hands will remember which keys are where. If
you haven't learned that yet, it means that it is probably not a critical
thing for you -- and nothing more.
For programming, words-per-minute typing speed isn't so important. Just typing characters is a small fraction of your input. You're doing all sorts of other operations - moving and pasting expressions and lines, adjusting indentation, switching to another window with documentation. These operations go all over the function keys, navigation keys (home, page down, etc), arrow keys, modified by all sorts of chords (ctrl, alt, apple, etc). None of that is captured by the traditional words-per-minute typing metric.
For programming, a better characterization is actions-per-minute, like in Starcraft. I can navigate my IDE and OS noticeably faster than most other developers I've met. Especially non-technical folks are amazed by the speed that I can compile and tab over to the explorer window to copy the output to a staging server, faster than they even register what they're watching. Actions-per-minute and the accuracy of them does matter for the speed and productivity of a given programmer.
I'm not convinced apm makes a more productive programmer.
One of the juniors on my team actually asked me the other day how many lines of code he should ideally produce per day. I told him that as far as I was concerned, anthing below zero lines was pretty cool.
After reading that I don't feel so bad now that I don't know how to type. Hard to break the habit of using two fingers on a C64 in grade school. The qwerty keyboard seems very inefficient for technical use anyway.
32 comments
[ 2.9 ms ] story [ 70.1 ms ] threadhttp://xahlee.info/kbd/dvorak_and_all_keyboard_layouts.html
http://patorjk.com/keyboard-layout-analyzer/#/about
https://medium.com/@vojtajina/my-keyboard-layout-is-better-t...
There are more links under "Alternate Keyboard Layouts" on this GitHub page: https://github.com/melling/ErgonomicNotes/blob/master/keyboa...
As a single data-point I find RSI isn't a problem for my typing style. I'm in my sixties and I've fought RSI on and off many times. To the contrary my typing style has changed to be more comfortable and less stressful. I've actually had to change it at times to lessen pains in specific fingers. Forcing myself to use touch-typing had caused pain in my pinkies before.
> What you're doing might work for you,
As I said, it's just one data point.
Think about it like mileage on a car. If your fingers move half the distance to type the same text, that will add up over the decades.
The result is absolute, abject failure. More pain in the wrist and upper arm and noticeable reduction of work efficiency. I'm now back to qwerty and hands flying over the keyboard.
I've however come to the conclusion that it's not specific to dvorak, but rather an inherent flaw of the "proper" way of typing, at least when it applies to programming, at least when it comes to the way I do it: I'm using the arrow keys rather a lot, especially since I don't ever use a mouse to navigate in text.
The arrow keys are far enough of the "main" part of the keyboard that I can't reach them without moving my right hand away from the proper, F-J position. Getting it back to the right position afterwards often involves a bit of fumbling, to the point where I sometime shift it one entire column to the right and need to delete the 5 or 6 characters I typed before my brain caught up with what was happening. This is both frustrating and, over the course of a long day, exhausting.
I know that there are solutions for this: I could use emacs-like shortcuts to navigate (ctrl-n for ->, say), I could use fancy keyboards such as the typematrix which map the arrow keys to cleverly choosen normal keys with a FN modifier... but at this point, I just want to be able to type comfortably again, not learn yet another alien (to me) method of typing in the hopes that in a year or two, I'll be back to where I was one year ago.
As a programmer I find typing {, } and \ with the pinky the biggest problem. There are layouts especially for programmers. The ones that I'm aware of are Programmer Dvorak[1] and Neo[2].
[1] http://www.kaufmann.no/roland/dvorak/
[2] https://en.wikipedia.org/wiki/Keyboard_layout#Neo
http://www.neo-layout.org
Other languages have a different letter distribution so different keys should be on the home row, for example.
Other popular layouts include:
Colemak: http://www.workmanlayout.com/blog/
Norman: https://normanlayout.info/
Workman: http://www.workmanlayout.com/blog/
Optimization for programming is not the main goal of the Neo layout, but it is a feature, see [1]
Programmier- und Sonderzeichen wie / \ [ ] $ > = sind gut erreichbar.
My translation: Programming and special charactes, like / \ [ ] $ > = are easy to reach.
[1] http://wiki.neo-layout.org/wiki/Einf%C3%BChrungskapitel
Thanks for sharing the other layouts.
For example, I found it silly that () [] {} and /\, symbols that I use so very often every day, are placed so far away from home row in both Colemak. Also, I was annoyed with the Alt key being placed really awkwardly on my MacBook Pro. And here CapsLock was going totally unused... So I changed CapsLock to Alt, Alt+j to (, Alt+k to ), Alt+Shift+j to [, Alt+Shift+k to ], Alt+l to {, Alt+æ (the key just right of l on my Danish QWERTY keyboard) to }, Alt+u to / and Alt+i to \. It was something like that - I can't check since the computer is broken at the moment. And it was glorious. You should try it out - just change the stuff that bugs you the most to begin with.
I used a program called Ukelele for Mac to change my keys. Unfortunately, it's a bit harder to remap CapsLock in Windows, which is what my workstation uses.
It's worked out well for me, and I can touch type both code and English wonderfully. The only time it falls apart is when I find myself in front of a split, so-called ergonomic keyboard, which expects each hand to do a 50% split.
I'm thirty now, and a professional programmer, and it's only within the last few months that I've gotten away from the habit by disabling the caps-lock key, I might remap it to something else in the future.
I type at a pretty speedy pace, probably around 80-90 words per minute, my fingers don't rest on the home row. The only thing that bothers me with my current typing is that my left pinky has a tendency stick up, as if I'm drinking tea. [0]
[0] Like so. http://4.bp.blogspot.com/-crwYVpcU7z8/TfvDnx6v82I/AAAAAAAAB3...
In graduate school I started to have increasingly frequent bouts of wrist pain and realized I needed to do something or risk major surgery. I took a weekend, relearned touch typing with the Colemak layout, and have been happy I did that ever sense.
Finally, if there is something that really makes me cringe, is when some colleague or friend proudly declares to type like real men do, without looking at the keyboard. They usually sit in the correct ergonomic position, back well straight, eyes on the monitor, and start typing. A word. Mistake. Backspace. Again. Mistake. Backspace. Space. Mistake. Backspace.
And they're typing code. With auto-completion, intellisense and everything.
fwiw, I made 5 typos in this comment.
If you write really much, your hands will remember which keys are where. If you haven't learned that yet, it means that it is probably not a critical thing for you -- and nothing more.
For programming, a better characterization is actions-per-minute, like in Starcraft. I can navigate my IDE and OS noticeably faster than most other developers I've met. Especially non-technical folks are amazed by the speed that I can compile and tab over to the explorer window to copy the output to a staging server, faster than they even register what they're watching. Actions-per-minute and the accuracy of them does matter for the speed and productivity of a given programmer.
One of the juniors on my team actually asked me the other day how many lines of code he should ideally produce per day. I told him that as far as I was concerned, anthing below zero lines was pretty cool.