Wednesday, 30 June 2010

Typing: The Next Level

1. Touch-Typing or Hunt-and-Peck

Though it has been often stressed that as programmers you should know how to touch-type, I hardly find that in practice. In my experience, the number of touch-typists around me has always been less. The majority use the hunt-and-peck method of typing -- which is slower than touch-typing. Something even slower than hunt-and-peck is using just two fingers to type (two-finger-typing). In my observation girls who like to grow their finger nails often are two-finger-typists.

It's not that people don't want to type faster. They do. It's just that they don't want to put any effort into it. Or if they do start to learn, they soon give up. This is because when you first start to learn touch-typing, your speed and accuracy will be lower than hunt-and-peck. The short-term productivity gain of hunt-and-peck usually wins over the long term benefits of touch-typing.

2. Me: A touch-typist.

I learnt touch-typing around 7 years ago, while I was in college. A senior of mine -- James -- was a touch-typist and inspired by him I started learning. It took me around 3 months to be both reasonably fast and accurate. Since then I have always been touch-typing.

Right now, I average around 85 WPM (Word Per Minute). Which is pretty good and I usually beat people on type racer.

Which leads me to the question:

"Being a fairly good touch-typist, is there anyway I can further improve my keyboard productivity?"

Yes, I believe so. But before I talk about that, let me present some background.

3. Mouse Hand Switches

While interacting with any application I usually use:
  1. Only the keyboard.
  2. Only the mouse.
  3. Both keyboard and mouse. 
I'm quite productive in cases 1 and 2, but when it comes to case 3 (using both keyboard and mouse) my right hand is forced to perform a lot of switches from keyboard to mouse and vice-versa.

To given an example, say I'm reviewing a word document. The mouse is being used by the right hand to navigate through the document. The left hand rests on the keyboard. Now if I want to insert a comment:
  1. First, I will use the mouse to select the insert-command from the menu. 
  2. Then I will have to move my right hand back to the keyboard to start typing. 
  3. Finally, once I'm finished with the comment, I will move my right hand back to the mouse.
If the comments are short in length and plenty in number, this leads to a wastage of time because of frequent right hand switches.

4. Keyboard Shortcuts

The traditional alternative to avoid mouse hand switches, is to learn keyboard shortcuts. This is so that you avoid using the mouse as much as possible.

This still leads to problems:
  1. Not all commands have keyboard shortcuts; these commands can only be accessed through the mouse.
  2. It's hard to remember all the shortcuts of a particular application.
  3. Shortcuts change from application to application.
  4. Sometimes navigation is faster with a mouse.
The solution ...

5. One Handed Typing!

While using the mouse, your other hand is usually free and I would expect it to be on the keyboard. Now if you are a conventional touch-typist, you can type on the keyboard with your free hand, but that is restricted only to one half of the keyboard.

The reason is pretty simple. The touch typing method is so structured that the keys are divided between your two hands. When you become a proficient touch-typist, your right hand knows only the right side of the keyboard and the left hand knows only the left.

So to avoid mouse hand switches, you need to be able to type all over the keyboard with your one free hand!

6. One Hand Keyboard Layouts

One handed keyboard layouts have been around for quite some time. They have been designed for physically handicapped people or people who have lost function of one hand temporarily.

The prominent layouts are:
  1. Dvorak: There are layouts for both left and right hands. The key mappings are completely different from a standard QWERTY keyboard. All major operating systems support it and a QWERTY keyboard can be converted to Dvorak through software mapping. 
  2. Half-QWERTY: This layout is specifically for people who already know QWERTY based touch-typing. The keyboard uses standard QWERTY halves. Your hand rests on its natural QWERTY half. To type characters from the other half, you hold down the spacebar, which causes the characters from the other half to remap onto your hand's half, and type the characters.
  3. One-Hand-QWERTY: Your one hand types on the standard QWERTY layout. No hardware or software remapping is done.
Off the lot, I find the One-Hand-QWERTY method the most promising because the keyboard doesn't need to be remapped. So when you switch from one hand back to two hands, the remapping happens in your brain and not on the keyboard.

I want to learn the One-Hand-QWERTY method over the coming weeks. By doing so, I hope to cut down on the frequent right hand mouse-keyboard-mouse switches. It remains to be seen whether this experiment succeeds.


    seeker said...

    Good observation on your x and xx cube mates screen, keyboard and fingers as well!

    You can actually give a compensation to them for giving you such an subject for writing in blog ;) :D

    seeker said...

    But a good post though, recently was trying to figure out why my typing speed is low, even though i do only 'peck minus hunt' typing.

    So how did u learn Touch typing? Any specific software?


    Rohit said...

    @seeker: I don't even remember what I used. There is no dearth of software or tutorials regarding touch-typing on the web. Just pick one and stick to it.