Design FAQ

From Colemak
Revision as of 10:11, 31 December 2020 by Admin (talk | contribs) (→‎Why have two Backspace keys?)
(diff) ←Older revision | view current revision (diff) | Newer revision→ (diff)

How was Colemak designed?

  • See the Design page for details.

Why were S and R exchanged?

  • It significantly reduces same-finger. This is especially important as it affects the ring finger which is the least dexterous finger. (e.g. try typing fast WSWSWS on QWERTY)
  • It allows for W to stay in the same place. It's more important to keep the Ctrl+W shortcut (Close Window under MS Windows) because Ctrl+W is a potentially destructive shortcut.
  • Less frequent keys take longer to learn, so it better to keep the W in the same place rather than keeping the S in the same place.

Shouldn't P and G be swapped?

  • There are some letter frequency tables that show that G is more common than P, and therefore it deserves a better space. However, most of these were based on flawed corpus, usually too small and unvaried, commonly just a couple of books. With a modern balanced corpus, e.g. Mayzner Revisited, P is actually 14% more common.
  • The P/T T/P letter combinations are quite commmon in English, and especially in tech (e.g. http/apt), and would be made much less comfortable typing them in diagonal.
  • Putting the G in the 'T' QWERTY position keeps it in the same horizontal position. I found it to be easier to learn as it maintains the boundary of the left hand.

Why have two Backspace keys?

  • I found that the Backspace muscle memory is very strong. Even after years of using Colemak, I still press the right Backspace key from time to time.
  • To lessen the frustration during the learning process. A typical scenario is someone making a mistake, trying to correct it by hitting Backspace, type the right letter, oops, the Caps Lock is on, recorrect again, retype again (and repeat the same thing dozens of times because of the strong muscle memory...)
  • In a shared computer, say one of the users switched to Colemak, and the other users need to type a short command to switch back to QWERTY. Usually you can get by even without knowing the layout with copy+paste or trial and error. But it would be completely unusuable to someone who's not familiar with the layout without a Backspace in its expected place.
  • Makes it easier to correct errors while switching between layouts. e.g. type something, find out you're typing in the wrong layout, switch layout, try to correct it, etc...
  • It makes one-handed typing (e.g. when you're talking on the phone) much easier. Error rate with occasional one-handed typing is much higher than touch typing with two hands. Consider the hand movements required to reach from one side of the keyboard to the other. Assuming an 8% error rate for one-handed typing, having two backspaces instead of one can cut down on the distance significantly.
  • Some ergonomic keyboards place the Caps Lock in an uncomfortable position (e.g. TypeMatrix), and some keyboards don't even have a Caps Lock key (Happy Hacking Keyboard and others). On keyboards that don't have a Caps Lock key Colemak would be unusable.

What were the design considerations

  • Comfort and ergonomics
  • Minimise finger movement
  • Balance between hands and fingers
  • Faster typing speed and flow
  • Encourage correct touch typing technique
  • Ease of learning
  • Shortcut compatibility
  • Interoperability with QWERTY
  • Left handed shortcuts for use with mouse
  • Cross platform and hardware agnostic

What were the predecessors to Colemak

Colemak in its current form was released on 01/Jan/2006. There were a couple of previous versions beforehand. These are the historical versions:

ASERTH (Jul/2005): ASERTH was my first keyboard layout.

  • Keep ZXCV
  • Minimize changes from QWERTY
  • Minimize bottom row
  • Try to keep all moved keys on the same finger
  • Put all vowels on the home row
QWFDG YMKLP[]\
ASERT HUION'
ZXCVB J;,./

Asetion (Aug/2005):

  • Same as ASERTH, but with T and R swapped.
QWFDG YMKLP[]\
ASETR HUION'
ZXCVB J;,./

Old Colemak (11/Dec/2005):

QFWPG JLUYK[]\
ASRTD HNEIO'
ZXCVB ;M,./

Colemak (01/Jan/2006):

QWFPG JLUY;[]\
ARSTD HNEIO'
ZXCVB KM,./