james mckay dot net

because there are few things that are less logical than business logic
04
Feb

Seventy-one

I surpassed 70 words per minute on Colemak for the first time today. I have now all but abandoned qwerty…

(For those of you who are getting bored with me being a noisy Colemak fanboy, this will be the last of it round here — promise. I’ve started up a separate blog for that.)

11
Jan

On Colemak

Over the past week or so I’ve been trying out the Colemak keyboard layout again. I’ve been a bit ambivalent about it up to now, partly because I found some Colemak users a bit too enthusiastic, but more because I was getting thoroughly disillusioned with ye olde Kinesis keyboard, so my attention to it has been rather intermittent, to say the least.

However, unlike Michael Kaplan of Microsoft’s International Fundamentals team (that’s the mob that decide which keyboard layouts get included with Windows and which don’t), who dismisses it out of hand because he thinks they’re too zealous, I have actually tried it out, and on Ryan Heise’s typing test the other day I managed about fifty words per minute with it. That is about as fast as most people type, and faster than anything I managed with Dvorak. Impressive, even if it is only about two thirds of my qwerty speed.

Since Colemak is so similar to qwerty, and many of the keys stay in the same place, it is vastly easier to learn than Dvorak if you are an existing qwerty typist, and it is also much easier to retain fluency in qwerty while you’re at it. I’ve managed to get this far with surprisingly little effort using a “qwerty by day, Colemak by night” approach, which has the added advantage that it doesn’t interfere with your productivity while you’re learning.

So will I stick with it? I don’t know at this stage. It certainly seems more comfortable and disciplined for normal text, but I’ve found that it tends to get in the way a bit when I’m trying to write code, especially in C# or JavaScript. However, I now find it pretty easy to switch to and fro between the two layouts depending on which one takes my fancy at any given time, so I may well do. Colemak for text-based work and qwerty for code seems to be a strategy with quite a lot of mileage in it.

Quite how much you stand to gain from learning it I am not sure: the rough impression that I get from people’s reports is that speed gains are of the order of 20% or so at best, so your mileage may vary. Personally, I don’t consider qwerty to be the disaster area that its detractors make it out to be — loads of people use it without complaint, and I can manage a fairly respectable, if indisciplined and inaccurate, 80 words per minute or so with it. However, if you are particularly frustrated with it — and emphatically if you’re thinking of learning Dvorak — Colemak may be worth a try. Since it is dramatically easier to learn, it renders Dvorak a total waste of time. Colemak is also well known for its enthusiastic and lively community, who, although some of them can get a bit carried away with themselves at times, are actually quite helpful and supportive, and more than willing to give advice if you need it.

Alternatively, of course, there is always voice recognition software

09
Oct

Farewell to the Kinesis

I’ve decided to call it a day with my Kinesis keyboard.

This hasn’t been an easy decision. The Kinesis Advantage is a very nice piece of hardware, and I actually quite like it. Once you get used to it, it is very comfortable to type with, though you need to use Dvorak or Colemak to make the most of it. However, there is one very important thing that I have never been able to get used to on it: programming.

I’ve tried it with qwerty, and with Dvorak, and more recently in the past couple of weeks with Colemak, but these haven’t made any difference. The fact remains that there are some keys which are rarely used in normal typing that are used very frequently in writing code. Keys such as the square and curly brackets, the backslash, plus, minus and equals, and the cursor keys. These are frustratingly awkwardly placed on the Kinesis, and I have never managed to get used to them.

Yes, I know that the keyboard is reprogrammable, but you would have to reprogram something else in their places, and that something else would just be as awkward.

A while ago, someone left a comment on my blog assuring me that I would get used to it and I just needed to bear with it. Well, I’ve now had it for eighteen months and I still haven’t got used to it. There comes a point when you just have to face the fact that something isn’t going anywhere and you need to throw in the towel.

Since programming is what earns me my daily bread, I just can’t carry on regardless.

I’m going back to the Microsoft Natural line of keyboards, which are a tried and trusted solution that I’ve always found very satisfactory. I’ve ordered myself a new Microsoft Natural Ergonomic 4000 keyboard, and I am expecting delivery on Wednesday. I first saw one earlier this year on a visit to a client and I was fairly impressed with it. The key beds are curved slightly to make it more ergonomic, though the effect is much more subtle than the Kinesis. And while the £30 price tag may sound a tad extravagant given that keyboards come pretty much free with computers these days anyway, it is a lot more reasonable than the £225 you spend on a Kinesis. Besides, I don’t like flat keyboards that don’t give you the separation between the hands.

I’m not sure whether I will settle for one of the alternative layouts in the end. I found them almost essential on the Kinesis, on which qwerty is particularly cumbersome, but on more conventional keyboards the difference seems much smaller to me, and probably not worth the effort involved in switching. I never managed to match my qwerty typing speed on Dvorak, and now that I’ve switched back over the past few days I’ve realised that I can manage quite a good rate on qwerty, though I haven’t actually measured it properly. There is also the Remote Desktop Problem — when you have to use other computers, alternative layouts tend to get in the way somewhat. Besides, I’ve expended far too much time and energy on this whole kettle of fish and I am rather disinclined to experiment any further now.

23
Aug

Six weeks of Dvorak

I’ve now been typing in Dvorak for about six weeks, and it finally seems to have clicked. This is my fourth attempt, and this time it all slotted into place after about two weeks. Unlike my previous attempt, this time I have had no discomfort, probably because I am using my Kinesis keyboard almost exclusively now both at work and at home, and avoiding flat keyboards like the plague.

I wouldn’t claim to be the world’s fastest typist yet, but it has certainly improved my keyboard discipline. I am now at last able to touch type properly in a way that I was never able to do on qwerty, for starters, and this in turn means that I am finally getting the most out of my Kinesis contoured keyboard. It’s also fun to see people’s reactions when they try to use my keyboard and find that not only are they confused by the shape of the thing, it doesn’t give them the letters that they expect. Hehe…

One thing I have found however is that while Dvorak is a definite improvement for text, the difference is smaller when you are programming, particularly in a curly-brackety language like C# or JavaScript, since you are making much more use of numbers and symbols. Having said that, a lot of what you have to do as a programmer involves writing text — comments, specs and the like — so it is still an improvement anyway.

I decided in the end not to bother with any of the other alternative layouts. I briefly tried Colemak, and while my initial impressions were favourable, I came to the conclusion in the end that its advantages over Dvorak are too small to be worth bothering with. It seemed to work relatively well on a flat laptop keyboard but for some reason I found it no easier to get to grips with on my Kinesis than Dvorak.

There are actually several qwerty derivatives knocking about, and the main thing that makes Colemak different from, say, Asset or Arensito is its small but noisy fanboy community. Its Wikipedia article was deleted back in November on the grounds of non-notability and has since been protected to prevent re-creation, much to the disgust of the fanboys. Yeah, there was the CapsOff million dollar competition, but it seems that was an obscure affair where it turns out that the prize money was entirely funded by donations. Given that the CapsOff website says that they would list all donations on the website, and I couldn’t find any listed anywhere, it seems that Colemak won its designer a lot less than the touted million dollars by a very large margin. Sure, it may become more popular, but I’ve already put in enough effort switching to Dvorak, so I think I’ll give it a miss for now.

23
Jul

Does the keyboard have a future?

I got a new phone today. My old one died at the weekend but fortunately there was a spare one available at work that I have been given the use of. My mobile number is unchanged.

Unfortunately it is not an iPhone, but it does have some rather interesting features. One that I rather like is handwriting recognition, which even makes a reasonable attempt at interpreting cursive (joined-up) handwriting. It is accurate enough to be usable most of the time, and though it does make enough mistakes to slow you down, it seems to get more accurate the more you use it. It is certainly much easier to use it for texting than a tiny numeric keypad.

With technology like this, one wonders whether this means that the writing is on the wall for the keyboard as we know it. Speech recognition may have had a bit of a bad press, but it is improving all the time. We now have futuristic technologies such as Microsoft Surface and the iPhone either out or in the pipeline. Computer scientists at Cambridge University have even produced a device that can decode facial expressions.

Sure, all this may still be slow and resource intensive at present, but the technology is improving all the time, and while voice recognition may not be suitable in all settings (you wouldn’t make many friends using it in an open plan office environment), handwriting recognition is certainly rather promising, and it could well be a serious rival to the humble keyboard as our main data input device.

Having said that, I don’t think it’s curtains for the keyboard just yet. It comes into its own when you need to combine speed and accuracy. Skilled touch typists can reach speeds of eighty words per minute or more — speeds at which your handwriting would rapidly become illegible even to human readers. We developers will probably be the last ones to hang up our keyboards in the end of the day — the requirement for both speed and accuracy is paramount when you are writing code.

20
Jun

Typing perfection?

I have given up on Dvorak once and for all. It does make for much more disciplined typing, but I found that just as I was getting up to speed on it, I was beginning to experience some discomfort in my right hand and arm. There are some nasty artefacts in Dvorak, perhaps the worst of which is the position of the L key, in the top right hand corner of the keyboard. Having to stretch your pinky as much as that gets really sore after a while. Since the main reason why I started looking into alternative keyboard layouts was that for the past two years I have been experiencing some general fatigue and mild discomfort on and off in my right arm in the first place, I thought that it would be prudent to take note. I was also finding it very uncomfortable to type URLs on my Kinesis keyboard, where said pinky has to do the Riverdance to handle the forward slash and the shift key for the colon, then move out of the way to let your right middle finger handle the “www”.

At the moment I am back on QWERTY at work and hating it. However, there is a very promising new kid on the block as far as keyboard layouts are concerned: Colemak. Unlike Dvorak, it takes QWERTY as its starting point and only shuffles some of the keys around, leaving almost all the punctuation and symbols and some of the less frequently used letters in pretty much the same place. This makes for a much more comfortable typing experience that is also much easier to learn, and it has none of the nasty artefacts of Dvorak either.

The Colemak layout

After only two or three evenings, I am already more comfortable with it than I was after three weeks of going completely cold turkey on Dvorak on my first attempt back in July 2000. It also seems that switching to and fro between QWERTY and Colemak will be much easier than switching back and fro between QWERTY and Dvorak. You can get full instructions on how to use it, and a Windows installer, from the Colemak website. Hopefully it won’t be too long before I am good enough at it to be able to use it at work too.

Update: I didn’t eventually switch to Colemak in the end. (See discussion.)

08
Jun

Another crack at Dvorak

Over the past week or so I’ve been having another go at typing Dvorak again. I’ve been getting rather frustrated recently at my long standing indiscipline and uncoordinated habits on a QWERTY layout, particularly in my right hand, and I’ve been anxious to ditch it in favour of something a bit more sane and logical for quite a while now, the problem being, of course, the amount of time and effort it takes to make the switch, and the dire impact that it has on your productivity during the first couple of weeks.

This time I think it is within my grasp, however. This is my third attempt to get Dvoraking, and I can now easily manage over 30 words per minute on my laptop, where I have rearranged the key caps. I am still a bit slower on my Kinesis keyboard which does not have the keys relabelled, so I am having to learn to touch type properly on it, and that makes it a bit more of an effort. Nevertheless, it is now at the stage at which the impact on my productivity is minor enough for it to be tolerated at work, and once you reach that stage, it is plain sailing all the way.

Dvorak keyboard layout

I am well impressed with just how much more comfortable it is than qwerty, and also that it seems to encourage and even enforce much more disciplined keyboard habits. I find that the fingers on my right hand tend to gravitate naturally to the home keys for their resting position now, for instance, whereas on qwerty they tended to gravitate to anything but the home keys. I am also finding it much easier to type without having my palms resting on the wrist rests at the front of the keyboard all the time.

One thing I have found however is that if you frequently have to remote desktop into other computers and servers, a reprogrammable keyboard is absolutely essential. Terminal Services uses the keyboard layout programmed into the server rather than your local machine, so unless you are prepared to switch back and forth all the time between qwerty and Dvorak (and everything that I have read on the subject is unanimous that you shouldn’t while you’re learning), relying on the ability to change the keyboard settings in Windows simply won’t cut the mustard. The keyboard switcher in Windows can be pretty temperamental at the best of times, and nice as it would be to switch all the servers I access to Dvorak, there are other people around who also have to log in as an administrator as well as me, and if they end up typing gibberish or are unable to even log in thanks to the Dvorak layout, they are likely to get rather annoyed.

It seems that there are quite a few alpha geeks and bloggers who type Dvorak. Well known Dvorakists include Bittorrent inventor Bram Cohen and WordPress head honcho Matt Mullenweg. For a light-hearted and entertaining look at the benefits of the Dvorak keyboard layout, check out DVZine.org, a Dvorak advocacy site in web comic format. It’s a seriously cool intro to it that is well worth a read, even if you don’t plan to switch.

05
Aug

Dvorak update

I recently got a comment wishing me luck with my switch to Dvorak, so I thought I’d better post an update.

Unfortunately, it never got off the ground. The problem with the Dvorak layout is that it is so totally different to qwerty that it takes several weeks to get used to — time during which your productivity takes a pretty big hit. If you don’t want to annoy your boss, don’t do it.

Dvorak is not the only alternative: there are other layouts that are closer to qwerty, such as the Colemak layout. Colemak is based on qwerty — only about half the keys have been shuffled around — and claims to be more tightly optimised than even Dvorak in terms of things like the distance that your fingers move, alternation between your hands, and so on.

However, I don’t think you need to do all that much in terms of optimisation to notice a big difference. Remember the Pareto Principle — that 80% of the wealth is in the hands of 20% of the people? The same thing probably happens with tweaks to your keyboard layout. The figures may not be exact, but most of the improvement will come from a relatively small number of changes. These layouts may be able to outdo each other in terms of the exact figures, but there comes a point beyond which it gets a bit pedantic.

One simple tweak that I’ve experimented with a little has been to swap the E, R, T, U, I, O and P keys with the ones directly beneath them. I haven’t spent a great deal of time with this, but it seems apparent to me that it gives a fairly impressive improvement over qwerty while being very easy to get used to. It moves all the vowels and the most frequently used consonants onto the home keys, and since no keys change fingers, you can adapt quite quickly. Once you’re used to that, you could possibly go on to swap some of the other keys around a bit, and adopt an “evolutionary” rather than “revolutionary” approach.

If you can’t afford to shell out for a programmable keyboard such as the Kinesis, Microsoft has a nifty little program available as a free download that lets you create and edit your own keyboard layouts for Windows.

21
Jun

Kinesis report at three months: Broken!

For the next few days at least, I am back on my Microsoft Natural Keyboard.

The reason for this is that my Kinesis Advantage keyboard went belly-up last night. At around the time that Sweden scored their last minute equaliser against England, it suddenly decided to stop responding to some of the keys. Fortunately it is still under warranty so I will be sending it back to get fixed in the next day or two, but having said that, it is still a little bit annoying.

On the other hand, I’m not missing it too badly as of yet. While the Kinesis is more comfortable in some respects — it seems to have knocked a couple of my bad typing habits on the head and the mild discomfort in my right arm has more or less gone now — it does have a few niggles. The curly brackets and the +/= key are in totally the wrong places if you are trying to code in a C-style language such as C++, Java, Perl, PHP or C#, for starters. You have to curl your fingers on your right hand underneath your palms to get to the curly brackets, which tend to get used pretty heavily in the aforementioned languages, and the +/= key is placed counterintuitively in the top left hand corner of the keyboard. The position of the arrow keys is just horrendous — directly below the C, V, M and comma keys, where I am constantly pressing them by mistake, sometimes with fairly annoying consequences. To be sure, you can reprogram the keys if you like, but I haven’t done so as of yet, mainly because I haven’t been able to decide where to move them to or what to put in their place.

I will probably keep it once it’s fixed, but all in all I’m not sure that I would go out of my way to recommend the Kinesis keyboard. At £225 including VAT and delivery it is probably overkill, given that the Microsoft Natural Keyboard is a fraction of the price and you are likely to find it perfectly adequate as it is. On the other hand, if you are concerned about RSI and have to type a lot of ordinary text rather than C# code, it may be worth considering getting a second hand one. One thing is clear, however: both are a vast improvement over the horrible traditional flat keyboard layout.

Update: It was fixed under warranty.

16
Mar

Geeky but nice — my new keyboard

Well I’ve finally done it. I took delivery of my brand new Kinesis keyboard today. It’s fully ergonomic — the keys are in curved bowls that are contoured to the shape of your hands — but man, it has prompted a few interesting comments to say the least.

My new keyboard

My first impression is that it is going to take a little bit of getting used to. The general consensus of the blogosphere seems to be that you spend the first three days swearing at it then the rest of your life swearing by it. Quite what I end up thinking of it after thirty days remains to be seen, but I rather suspect that it will on the whole be pretty positive. I have it on a 30 day sale or return basis, so if I decide it’s not worth the money, I can send it back.

I’ll write a fuller review in a couple of weeks’ time once I have some idea of where it’s going. In the meantime, I’ve put my plans to switch to Dvorak on ice for the time being. However, you can switch the keyboard layout on the fly between QWERTY and Dvorak, or even re-map it to something totally esoteric if you like. So watch this space…