It looks like you are using Internet Explorer, which unfortunately is not supported. Please use a modern browser like Chrome, Firefox, Safari or Edge.

Keyboard is the Medium of the Developer Part 3 – Codito Ergo Some!

Published in People, Technology

Written by

Esko Luontola

Esko Luontola is an avid programmer and usability enthusiast. Esko has been using TDD in every project since 2007 and is also the author of the University of Helsinki’s TDD MOOC (tdd.mooc.fi). He is continually pushing for technical excellence and better software development practices.

Article

July 23, 2018 · 4 min read time

Your keyboard design is likely based on a 150 years old workaround – and I’m not referring to the QWERTY layout. The Sholes and Glidden typewriter was the first commercially successful typewriter. Its rows of buttons were staggered, so that the metal arms wouldn't get stuck. This constraint was removed with the introduction of electronic typewriters in early 1900s. It’s about time to design keyboards for humans.

Above is a picture of the Sholes and Glidden typewriter. Notice the layout of the keys: no two buttons are on the same vertical line to accommodate the metal arms. In the previous parts of the series, we have looked at different keyboard styles in use at Nitor. Now it's time to see how keyboard manufacturers approach ergonomics.

nitor_keyboard_3-2.png

TypeMatrix 2030 was my first keyboard with a non-staggered button layout. It takes a couple of weeks to get used to, but after that it will feel the most natural way to type.

The straight vertical lines of the buttons are good for the finger joints; no sideways motion needed to reach the alphanumeric keys. The enter key can be pressed with the strong index finger instead of the weak pinky, and the shift keys are large and easy to press with the pinky finger. Unfortunately, the keyboard’s small size requires keeping hands close together, which strains the wrists.

In this picture, a protective silicone skin is used. However, it makes all keys feel mushy and inaccurate, so I always used the keyboard without the skin. Which leads us to the repairability of the keyboard: I once spilled some tea on the keyboard, making multiple keys nonfunctional. I was able to open it and repair the corroded conductive lines with electric paint. Unfortunately, opening the case required physically breaking multiple plastic clips, so the only way to reassemble it was to use super glue.

Since all the buttons are in a symmetric grid, it is hard to locate the arrow keys without looking at the keyboard. I used all blank keys, which made it harder to find all the special keys, so I always had a button layout printout nearby. Since then I’ve preferred normal printed keys, despite the lower coolness factor.

There are lots of media keys, but that’s not what a programmer needs. A programmer needs all the keys of a 105-key keyboard, including Insert, Pause, and Print Screen, and they need to be pressable with all combinations of Ctrl/Alt/Shift. This keyboard makes the common sin of placing many of them behind the Fn key, which makes some IDE hotkeys inaccessible. TypeMatrix does not provide a way to remap the buttons to different keys. I was able to remap some of them using a third-party program, but not all.

nitor_keyboard_3-3.png

The next ergonomic keyboard I’ve used is Truly Ergonomic Model 209 (TEK-N-209-US). Like TypeMatrix, the buttons are vertically aligned, but additionally the button columns are staggered to match the finger lengths. The layout spreads out from the middle, so that the wrists can stay straight, and there are wrist supports. The keys have a good feel (Cherry MX Brown) and the arrow keys are shaped so that you can find them easily with just your touch.

Some special keys are behind the Fn key, but the keyboard supports remapping all keys. I haven’t yet tried it, but I will probably replace the Windows key above Del with Insert, and map the blank buttons in the bottom corners to the Windows and Menu keys. Also Alt+Tab is difficult to press – you need to use two hands for it. There is an embedded numpad, which you can toggle with the button on the right side of Fn, but an external numpad would be better.

This keyboard has some quality issues; there were over a dozen keys which would randomly produce zero or double characters with one key press. This is common enough a problem that it’s in the manufacturer’s FAQ. Eventually I managed to fix the problem by cleaning all the keys: remove the key caps, press a switch down and spray electronic cleaner inside it, hit the key a hundred times, wait for it to dry up, test all the keys with Switch Hitter and repeat for all malfunctioning keys. Some keys I had to clean more than five times until they worked reliably enough.

I’ve been quite happy with this keyboard, but the search for the ultimate keyboard still continues. For example, the Kinesis Advantage looks tasty. In the next article, Sami will tell you about his experiences with Kinesis.

Read previous parts:

Keyboard is the Medium of the Developer 2 - a Switch Statement!
Keyboard is the Medium of the Developer!

Written by

Esko Luontola

Esko Luontola is an avid programmer and usability enthusiast. Esko has been using TDD in every project since 2007 and is also the author of the University of Helsinki’s TDD MOOC (tdd.mooc.fi). He is continually pushing for technical excellence and better software development practices.