Saturday, 4 October 2014

Top 3 tips for an improved typing experience - part 3

In this final part of my 3 keyboard improvement tips, let's look at an idea which is designed to allow the hands to adopt a more comfortable typing position when using standard keyboard hardware.

Tip #3: Use a Wide Keyboard Modification.

This tip is based on the Colemak Wide layout, but in fact will work well regardless of the layout being used. When I first heard of this idea, I was sceptical. But now, having tried it out for a while, it has become one of my favourite keyboard mods. Below are examples for both the Qwerty and Colemak layouts. There are Microsoft Keyboard Layout Creator files available if you want to try it out - these particular examples assume a UK keyboard.

The Qwerty-wide layout introduces greater separation between the hands and allows easier access to keys on the right-hand side, such as Return.
The design of most standard keyboards cause the hands to be unduly cramped together. This is especially the case with many smaller laptop keyboards. This modification addresses this design flaw by moving all the letter keys on the right-hand side of the keyboard by one space to the right. As a result, it introduces a greater separation between the two hands, as the home position of the right hand is now further to the right.

My laptop keyboard, using the Colemak layout combined with the Wide modification.

This change also provides the additional benefit that the commonly pressed keys on the right edge of the keyboard, such as Return, Backspace and Right Shift, become more accessible, and require a much reduced movement away from the home position.

The possible drawback though, is that to make room for the moved letters, the keys [ ] / = need to move to the central column of the keyboard, which may look strange at first sight. Despite the unusual aesthetics, in reality these keys are rarely typed, and if necessary can always be remapped to more convenient positions e.g. by using something like my AltGr Programmers mod.

A difference of one key-width may not seem like a huge difference, and in an ideal world it would be better yet to have an even greater separation. But nevertheless, having tried if for myself, I have found it does make a noticeable difference. For those who are touch-typists and have control over the equipment they use, and I am now convinced of its merits as a worthwhile change.

Download: Example scripts for all three tips are available from my keyboard-tweaks GitHub repository.

Saturday, 27 September 2014

Top 3 tips for an improved typing experience - part 2

Continuing my top 3 ideas for improving typing comfort and effectiveness, here is my next useful tip.

There are many computer users out there who have decided that the CapsLock key is a waste of a perfectly good key position. It's situated within easy reach of the left pinky on the home row, but for most typists, is rarely used.

Some folks have remapped their CapsLock key to some other function, such as an extra Control or Shift key. The Colemak keyboard layout, which I have recently started to use, remaps it to an extra Backspace key by default. These ideas are all excellent suggestions, but I have started to use a new setup, which I have found to be better still...

Tip #2 - Set up a navigation layer via the CapsLock key.

This idea is similar to and inspired by DreymaR's Extend Layer, but this version is implemented entirely using AutoHotkey.
Holding down CapsLock makes available editor functions.

By holding down CapsLock while pressing other keys, a new layer becomes available, much like my previously mentioned AltGr setup. The difference is the CapsLock layer provides navigation features such as arrow keys, home, end, page up/down, backspace/delete - all without the need to move your hands away from the home position on the keyboard. The navigation keys are situated in a similar layout to the usual configuration of the arrow keys, making it easy to learn and natural to use.

It also defines accessible additional shift and control within the layer to allow easy selection and editing of text. For example, Ctrl-Left (back one word) can be typed using only centre-row keys. For additional ease-of-use, common control-shortcuts such as copy, cut, paste, and undo are duplicated in this layer.
And of course, for those occasions where you do genuinely need to type a lot of capital letters, you needn't completely lose the Caps function, as it has been remapped to AltGr+CapsLock.

The real benefit to this configuration is, once you have adapted to it, that it allows very fast and efficient editing operations regardless of the editor software being used. It avoids the need to switch the right hand between the home position and the arrow key block, resulting in less movement and a more comfortable experience for the right hand.

To try it out for yourself, download the CapsLayer AHK script.

Next up: Tip #3...

Saturday, 13 September 2014

Top 3 tips for an improved typing experience - part 1

Recently I became interested making my typing experience more comfortable and efficient. To this end I started looking at alternative keyboard layouts, but as a side effect of this, have along they way realized there many improvements that can be made even to a standard keyboard.

If you are looking to make your typing more productive, but don't want to do anything so drastic as learn a new layout, then there are still plenty of handy optimizations you can make.

Here are 3 useful ideas for improving typing comfort, speed and effectiveness.

Tip #1: Set up a custom layer via the AltGr key.

Make commonly used but difficult-to-access keys easier to type.

Ideal candidates for this are hyphen -, underscore _, equals =, plus +, and brackets { ( [ ] ) }. This is likely to benefit programmers especially, who often need to type non-alphabetic characters such as symbols and brackets. These characters are in difficult to reach positions at the top and right of a standard Qwerty keyboard, but can be made extremely easy and comfortable to type by assigning them to easy-to-reach keys in combination with your AltGr (or Right-Alt) key.

Keyboard mappings for the AltGr key.
Shown above my current AltGr keyboard mapping, implemented with the very useful AutoHotkey tool. To try it for yourself install AutoHotkey and use the AltGr Programmer script.

The AltGr key can usually be held down with the right thumb while the secondary key is pressed, all with the hands in the standard typing position. This enables many characters to be typed quickly and comfortably without awkward wrist movements or stretching the over-used right pinky finger. This simple remapping should make typing more comfortable, especially for those who are touch-typists.

Note, the AltGr key is by default used to type accented or other characters in non-English speaking countries. If this is the case you may need to be more selective in which keys and characters you want to reconfigure. In my setup, I have incorporated much of the US international layout so that many accented characters and symbols can be typed if required (eg via dead keys, indicated by light blue highlighing). I find that in practice though, the real benefit in everyday keyboard use comes from the easier to access characters which are now on my middle row: - _ { ( [ ] ) } = +

Next: Tip #2

Saturday, 16 August 2014

Colemak keyboard layout - post-switch results

It's now about 3 months since I switched to using the Colemak keyboard layout, so for the benefit of anyone thinking of doing the same, here is a update on my progress and some thoughts on the switching process.

As far as typing speed is concerned, I am now able to type pretty much at the same speed as I could before the switch - around the 50wpm mark according to typing tests. The key difference is though, that my typing has become an easier and more pleasant experience, with less stretching of fingers, and I am now using a much improved touch-typing technique. Nevertheless I am still seeing gradual improvements, and expect to surpass my previous ability in due course.

My keyboard as it now looks - thanks to some inexpensive stickers!

I had first learned to type using Qwerty, around 30 years ago, in a haphazard way, never adopting the recommended touch-typing technique. Qwerty itself is partly to blame, as it does not really encourage good practice, with its commonly needed keys such as T, E, I and O away from the "home" positions. With Colemak on the other hand, with the most common keys right under your fingers, and its careful avoidance of same finger key pairs, it practically forces you into typing correctly.

So for me, part of the process of learning Colemak, has meant being much more disciplined about using the proper technique. I have spent many hours over the last few months doing typing exercises to hone my skills. Some useful websites for this purpose are 10fastfingers, and TypeRacer.

It has to be said, I went through a difficult and painful time in those early weeks. This is not entirely due to having to learn a new, unfamiliar layout, but having to use fingers that had rarely been used in my hunt-and-peck days - especially my ring fingers. The upshot of this is when you suddenly need to type something quickly, it can be frustrating, knowing you have effectively lost a skill you've been able to take for granted for years.

Fortunately, the painful period is fairly short, and within a few weeks my ability to type was back up to a reasonable speed, if still not quite as fast as before, but with consistently growing speed, accuracy and comfort.

One criticism of Colemak is that despite its superficial similarity with Qwerty and claim of being easy to learn, in practice it is still a significant undertaking. Some of the layout changes it makes, such moving the S key, and arguably the G key also, do end up making the transition more difficult for new users for only modest improvements in the various optimization metrics. A possible alternative variation that requires fewer changes is shown below.
An easier-to-learn Colemak variant which keeps 12 letter-keys in their Qwerty positions rather than standard Colemak's 10, including the difficult S.

Some have also complained there is too much emphasis on the central column -  due to the placement of common keys D and H - causing excessive lateral wrist movement. I also found this to be the case initially, but eventually became somewhat adapted to it.

Ultimately though, there's no such thing as the perfect layout, and all layouts are about compromise, having to balance competing objectives. And it seems harsh to overplay Colemak's minor weaknesses after living with the truly awful Qwerty for many years. Colemak is still in my view the best all-round optimized, well-supported layout.

Judging from other's experiences in the Colemak forum, it also appears to be the case that those Qwerty users who already have a good touch-typing technique can usually pick up the new layout much more quickly and easily than those of us who had to learn the proper technique simultaneously.

So the big question is: Is it worth the switch?

I would say, if you tend only to use computers that you have control over, and if you anticipate doing a lot of typing during the rest of your life, then the answer is certainly a Yes! Of course, there is an uncomfortable transitional period lasting a few weeks, which is the biggest barrier to entry, and there's no easy way of getting around that. But if you persevere, you will reap the benefits of using a comfortable, optimized, ergonomic layout for the rest of your life! So I say Go Colemak!

Saturday, 5 July 2014

Learning Colemak step-by-step

Previously, I mentioned I'd decided to learn a modern, optimized keyboard layout. After much deliberation on the various options available, my chosen layout was Colemak.

There are two possible approaches I considered to learning Colemak:

1. Go cold turkey. Decide on a day to make the switch, then use Colemak exclusively. This would be the fastest method but would also be painful initially as my ability to type effectively would be gone for some time - possibly weeks - as I adapted to the new layout.

2. Piecemeal Transition. Colemak has a scheme designed to make the transition easier by changing only 3 or 4 keys at a time in a sequence of steps. This method is known as Tarmak. Although it may be a slightly slower approach, by allowing the user to adapt to relatively few key changes at a time, typing ability can be somewhat maintained during the transitional period.

I opted for the piecemeal transition approach, Tarmak.

So, I set up my keyboard for Tarmak-1, put stickers over the changed keys, and went to some typing test websites. First results: it was a painful experience - as though I'd forgotten how to type, even though only 4 keys had changed. Making even a modest change to the keyboard after so many years experience with Qwerty was surprisingly unsettling.

Tarmak-1 moves the all-important E, and also N, into optimal positions.

This initial period was the most difficult, and often frustrating. Typing required constant vigilance for any of the changed keys, which in this first phase, includes the very common letters E and N. As one of only two keys to switch hands, E is particularly difficult to re-adjust to.

But I continued on and it soon began to click. While I would still make frequent mistakes, there would also be moments that hinted at what was being gained. For example, both "ne" and "en" are very common letter pairs in English, and so some early satisfaction was gained when I was able to type these efficiently in their new positions on the home row.

After about a week, I moved on to Tarmak-2. At this point the three most common letters in English (E, T, A) are right under the fingers. I found this second step to be much easier, and adapted especially quickly to the new T position. It certainly seems easier to adapt to changes when they remain on the same finger.

Tarmak-2 makes the second most common letter, T, much easier to reach.

I think that Tarmak-2 is worthy of consideration as a layout on its own right. With relatively few changes, it already fixes the majority of Qwerty's flaws. For those thinking about changing layouts but are concerned that full Colemak is too radical a change, you could do worse than try Tarmak-2, and then decide later whether or not to continue to full Colemak.

Personally though, using an established layout that enjoys good support was a key part of my decision, so once again after a week or so, I continued to the next step...

Tarmak-3 moves R to the home row, but S also moves one space to the right.

Tarmak-3 moves R and S to their Colemak positions. I had the most misgivings about this step as I consider S to be one of the few keys that Qwerty actually positions well. And as expected, this change gave me problems, often hitting R whether I meant S. If I could change one thing about Colemak, it would be to leave S in the Qwerty position - the difference in typing efficiency is extremely minor but it would make Colemak easier to learn!

After a week with Tarmak-3, I was by now impatient to complete my Colemak journey, so I decided to skip Tarmak-4 and go straight to full Colemak. That meant a lot of keys changing at once, notably the I and O keys into position in the home row. Being a major change, again my typing suffered for several days. But on the upside: I had made it, after nearly a month spent transitioning, I was now a Colemak user and there was no going back, so I could now focus my attention on improving my typing knowing that all keys were in their final positions!

Tarmak steps 4 and 5 combined, resulting in the full Colemak layout!

I'll post an update on my thoughts on Colemak and the whole switching process once I have fully adapted to my new layout. I wonder how long that will take...

Sunday, 15 June 2014

Alternative keyboard layouts

It's well-known that the ubiquitous QWERTY keyboard is not a particularly efficient layout. It's one of those cases where a standard gets adopted in the early days of a new invention - the typewriter - and as people become familiar with the standard, the motivation for reform falls away.

QWERTY: no-one likes it; it doesn't care.

I have at times in the past thought about this issue and wondered whether it would be worthwhile to learn a different, better-designed keyboard layout. For a software developer, the keyboard is a critical tool, but the QWERTY keyboard often feels like it's working against you. There is large amount of finger movement required due to commonly used keys being harder-to-reach, while uncommon keys, such as J, K, F, and semicolon, are in the easiest to type, "home" positions.

However I had always rejected the idea of switching, on account of the drawbacks being to great.

Reasons to switch layouts Reasons to stick with QWERTY
1. More comfortable typing experience.
2. Reduced risk of common typing ailments, e.g. RSI.
3. Improved typing speed.
1. Existing typing ability on QWERTY adequate.
2. Learning a new system could be time-consuming and difficult.
3. QWERTY keyboards so dominate that it might be difficult to avoid them entirely.

For me, reason #3 was the killer issue for sticking with QWERTY. I was concerned I would need to continue use QWERTY, and trying to maintain the ability to type in two different layouts was out of the question.

But recently in weighing up these factors, the balance has started to shift. What about the drawbacks that prevented me taking action before? Well, they have become less significant. Pretty much all my typing these days is done on my own computers, so the need to sometimes revert back to QWERTY is eliminated. Also, should I need it, there is software available which lets you temporarily change layouts that can be run from a USB memory stick without the need to install anything.

Although some report faster typing speeds after transitioning to a new layout, for me speed is of secondary importance - I am more interested in potential gains of comfort and usability. If I am going to spend so many hours at the keyboard, I want to take whatever steps I can to make the experience as pleasant as possible. And while the learning curve is still an issue, there are layouts out there that make for a (relatively) easier transition from QWERTY, and my thinking now is that the long term gains would be worth the short term pain.

So, I did some research on some optimized modern layouts. Some, like Dvorak, are well-known alternatives but are an extremely radical departure from QWERTY, and hence harder to learn. Others, like Minimak offer an an easier learning curve at the expense of being less optimized. I also liked the approach of the Norman layout with its emphasis on ease of learning while being an fairly well optimized modern layout. There is some good analysis of various layouts at the Carpalx website.

In the end I decided to that the layout I would switch to was... Colemak. This is a modern, well-optimized layout which also retains several keys in their QWERTY positions. In particular, most of the bottom row is unchanged, meaning common shortcuts for copy, cut, paste, etc, remain in familiar positions. There is also a learning method available (called Tarmak) which switches a few keys at a time to make the transition easier.

Colemak: Better typing since 2006

My decision to choose Colemak over the other easier-to-learn layouts like Minimak and Norman was that Colemak is moderately well-known(*) and well-supported. It's comes built-in on my Android phone and I believe it's available in Mac OS X as well. It also has a small but growing active user community.

So, be it wise, brave, or simply crazy, my transition to Colemak has begun! More on my progress to come...

(*) Insofar as any non-QWERTY layout can be described as "well-known".