Technique and hand comfort
My hands are definitely more comfortable when typing Workman than they were when typing Qwerty.
Due to the layout, my fingers are able to stick above the home row, because the most commonly pressed keys are actually there. For the other keys, I can reach each finger out from this base position.
This typing technique, which I believe is called "touch typing" (??) is greatly encouraged when learning to type, even for the Qwerty layout. Controversially, I don't think it's good advice for Qwerty. The Qwerty layout makes it totally impractical to keep the fingers around the home row, since the home row has very few useful keys on it. (In fact, significantly more time is spent typing on the top row than is spent on the middle row!)
As a result, when I was typing Qwerty in the past, I would use the first 2 or 3 fingers on each hand and move each hand around quite a lot to hit all the keys. For some words, one hand might even cross into the keyboard half owned by the other hand in order to type it faster.
The design of the Workman layout, which puts the most commonly used letters on the home keys, and the next most common letters in easy to reach positions, makes it naturally comfortable to use.
I type faster now with Workman than I did on Qwerty.
Checking my TypeRacer profile, I can type passages of text at around 115 words per minute, and in my last blog post about Workman, I wrote that my Qwerty speeds were 90-100 wpm. That's about 20% faster. Cool!
But what if I had spent the same amount of time that I practised Workman for, practising Qwerty instead?
I don't know, but the answer I expect is that such practice would have caused my Qwerty speeds to improve. Would they have improved to 115 wpm? I can see that being possible.
And I look online, and I see Workman typers that are much better than me, and I see Qwerty typers that are much better than me. The way I see it, choice of keyboard layout does not grant better speeds. Technique and practice are the things that are important.
I think typing speed and keyboard layout are almost entirely independent, and that Qwerty is certainly not "slow".
How to type quickly
One really important thing that I noticed from TypeRacer is that I do a lot better if I "slow down" in order to type more accurately. If you go fast, you're more likely to make mistakes. If you do make a mistake, then you will probably type a few letters past it. You must switch modes in your brain, stop typing, move to the backspace key, delete these excess letters, delete the original incorrect letter, move your hands back to the base position, and resume typing again.
Another way to think of it is: When you make a mistake, it's like you stopped typing entirely for the period of time that it took you to notice and delete the mistake. This is a surprisingly long time!
Pausing to make sure that you are typing the words correctly if your mind is unsure is faster in the long run, because the micro-pause as you process which fingers to move is still far shorter than the amount of time you would have effectively stopped for if you had made a mistake.
Consistency and accuracy are extremely important to typing quickly.
The nature of typos
I have noticed that on Workman I make different kinds of typos than I do on Qwerty.
On Qwerty a common error would be for me to press the key next to the one I meant to press. This is possible because my hands are floating over the top of the keyboard and moving around. Now that I'm typing "properly", with no hand movement, this isn't an issue.
The kinds of typos that I make now are much more commonly caused by pressing keys in the incorrect order if the same finger must be used twice in the same word, like typing "tiwce" instead of "twice", or "misidrection" instead of "misdirection", or "characetrs" instead of "characters". (TW are on the same finger, as are SD, and so are TC.)
I still make errors where I just press the wrong finger entirely and type the wrong letter, but these are much more reduced compared to when I was using Qwerty, and can be further reduced if I take the time to slow down and think about what my hands are doing.
When programming, there isn't as large of a difference in typing style compared to Qwerty. Programming requires typing a lot of symbols and punctuation, which means my fingers naturally need to jump all around the keyboard no matter what layout I am using.
There is a "Workman-P" layout available, which is designed more for programmers to use, and moves some symbols to easier-to-reach places, for example. I haven't tried it yet, and I think it would be a hassle to learn, since the locations of symbols are actually printed on my keyboard.
The labels on the keyboard
You will type faster if your keyboard has no letter labels on it.
Think about it. What purpose do the markings serve? Once you know how to type even somewhat effectively, you should know where all the key positions are. If you are looking down at the keyboard, that's bad for three reasons.
One; if you are looking at the keyboard then you are not looking at the screen, so you can't check how things are being printed out. Have you ever typed an entire paragraph with caps lock on by accident? You won't if you're looking at the screen while you type.
Two; if your fingers are on the keys then you can't look at the labels on the keys. Your fingers are in the way. If you are reading the labels, then you have your hands off the keyboard and in a terrible pose, which is just awful. If you really need to be reminded of where all the letters are, you should print out a reference of the layout and stick it in your workspace at the same height as your screen.
Three; a lot of fancy keyboards have keycaps that are shaped differently depending on the row that they're found in. This is to be more ergonomic for the fingers, or something. If you rearrange the keys, the rows that the keys are in will change. Keys that are at different heights to each other will now be next to each other in the same row on the keyboard. It's awful.
Ideally, if you change keyboard layouts, you have keys without labels on them. If your keys have labels, that's still fine. Leave them as Qwerty no matter the layout you type. You will type better, I promise.
Funny moment: Computer science test machine
In my computer science class last year, there were a number of programming tests that had to be taken on a machine that did not have access to the internet or to my standard home directory. This was done to avoid cheating by students.
The Workman layout is not installed on those computers, and I can't download or copy the layout specification to be able to easily install it.
What I did was use a series of commands to reconstruct an xmodmap specification of the layout. The sandbox computers did have xmodmap installed, so if I could create the file by hand, then I would be able to use the layout.
If you were curious, here is the process:
- Have the key positions in the new layout memorised.
- Have emacs, xev, setxkbmap, xset, xmodmap.
- Start Emacs, and visit a new file
C-x h BACKSPACE C-u M-!,
xev -event keyboard | grep -Eo 'keycode [0-9]+'
- Even though the new layout is not yet installed or enabled, for this step, just pretend that it is. Using the positions from your new layout, type Q, W, E, R, T, Y, across and down the keyboard. (This means you do not press the keys that are labelled Q, W, E, R, T, Y on the physical keyboard. You press where those letters would be if your desired layout was enabled. So for me, I'd actually be pressing the keys that are labelled, Q, R, K, E, F, H...)
- Close the white window using the mouse.
- Select all with
C-x h. Then
M-x delete-duplicate-lines. Then go to the end of the buffer with
- You should have pressed all 26 letter keys, and also the semicolon key, for a total of 27 keypresses. Verify this by checking that the buffer now has 27 lines of text. You should have pressed the semicolon key immediately after pressing whichever keys are J, K, L in the new layout.
- Select from the end of the first line to the end of the last line. Then execute
C-x r t SPACE = SPACE RET. This adds
=to the end of each line.
- Go down each line and type the actual QWERTY letters. Q, W, E, R, T, Y... However, instead of symbols like
;, you'll need to type the name of all the symbols which appear on that key, like
- Now in a terminal,
setxkbmap -option caps:backspacefor capslock backspace. (Note that you have to do this before the upcoming
setxkbmapwith any set of options will reset
xset r 66makes the capslock-backspace activate repeatedly when held.
Hardware keyboard layout considerations
That last thing is possible, and quick to do with some practice, but definitely very tedious, and Linux only.
For a while now I've had a dream of building a hardware module that I can insert between the keyboard and the computer to remap the layout in hardware. So rather than needing to work to install the layout on the computer, which may not even be possible depending on if it is a public computer, I can take the device around with me and then use any computer after taking 5 seconds to connect the device to the keyboard.
But I'll probably follow this up in another blog post if I decide to actually continue the idea.
I like Workman! I think it's a good layout. My hands are comfy. My accuracy has improved. My typing speed has not, because typing speed depends on technique and skill rather than layout. Typing on other computers now is very tedious. Using the Workman layout on public computers may be possible, depending on the computer.
I hope you enjoyed this lengthy insight into how I use computers now.