MathCurvesSurfacesWallpaper GroupsGallerySoftwarePOV-Ray
ProgramingLinuxPerl PythonHTMLCSSJavaScriptPHPJavaEmacsUnicode ♥
Web Hosting by 1&1

Bad Advices from Programers about Typing & Keyboard (RSI)

Xah Lee, , …,

If you are a programer, you probably have seen programers discuss and argue about keybinding, typing habit, and best keyboard, in online forums or keyboard review sites. Typically, they'll say: “i'm a programer and type all day in past decade, therefore the keyboard/keybinding should be XYZ”.

Here are some points i think most programers are not aware of when discussing keyboarding issues.

Important Variables in Keyboarding

Which Keyboard EXACTLY Are We Talking About?

WHAT keyboard you use matters a lot. Is it laptop keyboard? is it full sized PC keyboard? Does it have shallow keys like Apple's Aluminum Slab? Or deep clicky keys like the IBM Model M keyboard?

Even between full sized keyboard, there are major differences that effect keybinding choice or keyboarding habit. ⁖ is it standard PC keyboards or Ergonomic Keyboards?

When talking about whether to remap 【Caps Lock】 or swapping any of {Ctrl, Alt, ❖ Win}, or when talking about how to press 【Ctrl+x】, or when discussing keybinding choices, use of functions keys, etc, you have to be precise of exactly what keyboard model your experiences are based on.

Do You Touch Type or Hunt'n'Peck?

Good keybinding choices for hunt'n'peck are NOT good for touch-type, and vice versa.

Show Me Your Key Log!

Every keyboard review starts with “I type all day …”, but just exactly how much is your “type all day”?

If you are a programer, try to use a key logger. You'll be surprised how much you actually type if done continuously.

If we assume just 40 words per minute, that's 200 chars per minute (one word = 5 chars). Divide the total keystroke you type in a day by 200, and you'll see how many minutes you actually type a day.

Good typing advice from programers is bad for data entry clerks who type non-stop for 4 hours a day, and vice versa. Same for keybinding considerations.

I write several blogs. I know that i type more than most programers. But i was surprised, that from my own keylog, i discovered that my whole day's worth of keystrokes can be done in just 1 hour if i type continuously, even though i sit in front of computer 13 hours a day statistically. See: Keyboard Layout: Dvorak vs Colemak: is it Worthwhile to Improve the Dvorak Layout?

From my keylog analysis, it's reasonable to assume that majority of full time programers's type load is less than 30 min's worth per day.

For a emacs keylogger, see: Emacs's Command Frequency.

Examples of Bad Advice

• Some programer claim to have used certain habit for n decades and never have a problem. Sure. Maybe the actual time their fingers are pushing keys is just 30 minutes per day if done continuously. If they do data entry work, perhaps they'll get RSI within a week.

• Some programer claim hunt'n'peck is best practice to avoid RSI. (I have on record 2 notable programers saying this to me in public forum/blog.) This is like saying the best way to avoid sport injury is not to go pro. Sure, you can hunt'n'peck as a programer and still be considered a fast coder, but it isn't a good ergonomic advice. Given a fixed amount X of typing, and if X is small, then all's fine. When X is large, the difference between hunt'n'peck and touch-type will show, with respect to performance and health.

Maybe you don't write a lot emails or docs or blogs, but other programers do.

• Some programer will claim that they do fine on normal straight PC keyboard and conclude that those curved split ergonomic keyboard are not useful. Some couch potatoes never have back pain neither.

You can test many aspects of keyboarding yourself and for yourself. You can conduct experiment to see which key choices are better among 2. Or, which of the 2 keyboard is more ergonomic. Or, whether swapping Ctrl and Caps Lock is better or Ctrl Alt. The key here is that you must actually put effort and time on this as a DEDICATED STUDY. Experience-based judgement are often clouded due to habit and specific keyboard.

In doing experiments, you have to be careful in the experiment in eliminating bias, such as your habit, familiarity, and the particular keyboard you are using.

blog comments powered by Disqus