Successive Approximations


I was brought up in a house that always had a computer. In my earliest memories, it was running DOS 3.1, to be upgraded to Windows 95 when I was 6 years old. So, from the time I was able to read and write, I was using keyboards. But it wasn't until my 20s after I graduated college that I started to think of keyboards as something you could customize and make your own.

I actually brushed very close to the idea in 7th grade when I had to take a keyboarding class where the typing lab computers were all equipped with a computer with a split space bar, where the left half was a backspace. It clicked immediately how useful that would be, but I didn't let myself take advantage of it because I didn't want to be dependent on it. At the time I was mostly using computers in classrooms and computer labs and so I never had the ability to control what keyboard I was using. Once that class was over, I pretty much forgot about the idea of non-standard keyboards for about a decade.

When I was 22, fresh out of college and working as a programmer full time, it finally dawned on me to get a keyboard that was more of a craftsman's tool and less of a generic, disposable tool. So that led me to the

Kinesis Freestyle

Simple and affordable, this keyboard was a pretty easy adjustment from the dime-a-dozen keyboards I'd used in the past. The key layouts were pretty much the same, except for chopping off the number pad which I never used anyway. Removing it let you keep the mouse much closer to your right hand without having to reach past the keypad every time, so that was a bonus.

But the main feature was being able to split the two halves apart and angle them so your wrists stayed at a natural angle. Even though I hadn't started to suffer from any kind of repetitive strain injury, it was clear to me how reaching across your body to cluster your hands artificially close together was contorting your wrists weirdly, and doing that 8 hours a day for 40 years was self-evidently going to produce some problems eventually.

And so a keyboard that fixed just that one thing alone was the first experience I had with customized, ergonomic keyboards.

I remember at first, I wondered what would happen if someone else needed to type at my computer. And what if people thought I was odd for having such a strange keyboard. But as it turns out, when people do come over and look over my should I'm usually still the one with my hands on the keyboard, and so the point is moot. But this keyboard was definitely the gateway drug to make me willing to have something that was specialized for my use, and not just about going along with what everyone else used.

So at that job and the one after it, I requested a Kinesis Freestyle board and couldn't have been happier with them. If you're looking at trying out an ergonomic keyboard that is an easy switch from the board you have now, the Freestyle is a great choice. I'll also give an honorable mention here to the {Microsoft Sculpt} keyboard which is about half the price and has a single-piece split layout and is another good ergonomic option. (It actually features a negative-incline option that is extremely comfortable and natural that I haven't seen anywhere else and I wish was easier to do with an Ergodox.)

WASD Tenkeyless

At the next job I went to, I ended up requesting a keyboard that was was a 90 degree change of course from the Freestyle, because the job included spending four weeks a year working from the headquarters in California. I liked the Freestyle well enough, but I thought at the time that it would be impractical to take with me.

At the same time, I was curious about this idea of "mechanical" keyboards with switches with springs and moving parts in them, not just the less-expensive rubber domes that most keyboards, including the Freestyle, used for cost reasons.

So even though it meant giving up the ergnomic split of the Freestyle, I went with a mechanical 87-key keyboard from WASD Keyboards that still didn't have the number pad, which was useless to me. That both made it easier to reach over to the mouse and made they keyboard small enough to travel with easily and just lay on top of my 15" MacBook.

I got the model with the backlight, which I didn't really care about, and the Cherry MX Clear switches, which are heavy-weight tactile switches. I never really had any problems with this keyboard, and it did exactly what it was supposed to. I did find the clear switches a little tedious to use and you had to make sure you were always typing vigorously, but as a first mechanical option they were fine. I still used this board as a backup and travel keyboard even after I got the Ergodox, and only left it behind with the other company-purchased IT equipment when I changed jobs.

Eventually, I started looking for a keyboard that would let me put my thumbs to more use. At first, I stumbled on compact-but-relatively traditional keyboards like the {Banana Split} and {Z.70 Zero One}. But they never really solved the ergonomic problem, which is why I eventually stumbled on the Ergodox. After a few months of research, and balking on the price, I eventually ordered one. And it turned out to be exactly what I was looking for.

It combined the ergonomics of the Kinesis Freestyle with the mechanical switches and customization of the WASD, with one new element: QMK. Written as microcontroller code specifically for making custom keyboards, QMK is what allows an Ergodox with only 72 keys (of which I only use about 60 regularly) to replace an entire full-size keyboard. It allows you to switch to alternate layers were you can switch your home row to be the numbers 1 through 0 instead of letters, or have programming brackets right under your fingers instead of having to reach for them. Instead of re-arranging the physical keys, you just change their logical meaning with a tweak to the code running on the microcontroller inside the keyboard, and you can customize your keymap to be exactly what you need for your purpose. And since all the customization happens inside the physical device, you can plug it in to any computer, any operating system, and everything works exactly the same. It's not an understatement that when I finally got used to the idea of a QMK-powered keyboard, I never wanted to go back again.

The other thing that made the Ergodox completely irresistable is the way that it gave each thumb three keys to easily access. Before this, every keyboard I'd used still just had both thumbs doing nothing but hitting a spacebar. But now with the Ergodox, my left thumb was my Win/Cmd key, backspace, and delete, while my right thumb became my enter, space, and the key to switch to the layer with all my programming symbols like +=[]{}. And I could map a second layer with arrow keys right under my home row, so when I wanted to go up a single line of code in a source file, I didn't have to move my hands. Instead of moving to the keys I wanted to use, I moved them to my hands.

{Link to current keymap}
{Picture of current keymap}

Don't get me wrong, this didn't happen overnight. I went through a lot of itertions of my keymap, moving keys around when I found I had put them in annoying-to-reach places. I went through many iterations of exactly which keycaps I wanted in each place. Even just the idea that it was sometimes useful to have the same key bound in multiple places on the keyboard for quick access in different scenarios took months to get into my head. But now that I'm here, I'm not going back.

After six months or so with the Ergodox, I knew I was hooked. This was better than anything I'd ever used. But I was still using the WASD Tenkeyless as my travel keyboard. Sure, I could use the MacBook's built-in keyboard for short periods of time, but when you are a touch typist you rely on good feedback from the keyboard whether your fingers are on the right spot on each key, and the sleek-looking but flat MacBook keyboards give none of that. And besides, the ergonomics of using a laptop where you are looking down at the desk are terrible for long stretches. As you can see in the picture above, I would usually travel with the WASD board and prop my laptop up on my backpack to raise it to a comfortable eye height.

So, what to do? The Ergodox, especially with the legs attached, were bulky and oddly-shaped. And they required a wide, flat surface to rest on to use. What I needed was a keyboard with a similar key layout to the Ergodox in a smaller, more travel-friendly package. Also, something I could keep and use at home since using my Freestyle at home was annoying after having the magic of QMK all day at work.

Eventually, after a lot of research and poking around the surprisingly small corners of the internet dedicated to things like this, I found the [Viterbi by], which is pretty much exactly what I was looking for. Just a 5x7 grid that gave me as many keys as an Ergodox (omitting the ones near the thumbs that I never use) in the smallest feasible package. The only drawback it didn't address (which something like an Atreus62 would) is needing a wide, flat space to put the keyboard halves on, but I found workarounds for that, like keeping a piece of cardboard around that I could put over the keyboard of my MacBook and put the Viterbi on top of that.

Other than that, there's not that much to say about the Viterbi. It's a product that is excellent in its simplicity. Even the construction, with a "case" made of plates cut out of PCB material works shockingly well and saves a decent amount of money and weight.

So that's the snapshot as of May 2019. There are still a few more keyboards I would like to own, just for completeness. I feel like I should own a Planck at some point even if I don't use it that much. I would love to have a Kinesis Advantage and retrofit it with a QMK-enabled microcontroller, but that's a project that would cost roughly $400 and I doubt I would switch to it as a daily driver.

For my next board, I'll probably build an Atreus62 as a dedicated travel board. I would love if I could make one battery-powered and using Bluetooth, but there's no standard recipe to follow for that. And I haven't had the time to invest in forging the path myself. But man that would be an awesome travel keyboard.

A note about switches

Both of my keyboards currently use silent, tactile switches, which I've found work as well as anything else and let me type as hard and fast (they kind ago together for me) as I want without having to worry about how much noise I'm making.

I originally got the Ergodox with blue switches, and I kinda liked the feel of them, but they were too loud for an open office. I was already wearing headphones and listening to white noise in the office, so I couldn't hear them while I was working, but I got enough haha-only-serious jokes about the noise from my neighbors that I decided to do something about it. I tried adding o-rings to dampen the noise of the switches bottoming out and hitting the top of their travel, and that cut the noise by a third maybe, but it didn't do anything for the high-pitched clicking that the physical clicky mechanism made. This is when I started becoming self-conscious about my typing.

Around that time, I was building the Viterbi, which I built with Gateron Yellows, a medium-weight linear switch. I actually liked these quite a lot and almost immediately rotated the Viterbi to work and the Ergodox home so I had a quiter board.

I found when I was typing fast I didn't really notice the activation "bump" of the blue switches, and so I immediately got used to the linear yellows without any bump at all. Wanting something quieter for the house, I broke out the soldering iron and desoldered all the blues out of my Ergodox and replaced them with reds, which are linears like yellows but even lighter. I found it even easier to type faster with a lighter-weight switch and was in love.

Unfortunately, the hollow plastic housing of the Ergodox still acted like a bit of a resonator box when the red switches hit the top and bottom of their travel and made more noise than I would like. And even the Viterbi was quiter, but still not as quiet as I might like. I again experimented with o-rings, but found they just didn't do much for the noise made when the switch was released and the keycap hit the top of its travel.

So I decided to try changing the Viterbi, my current work keyboard, over to Gateron Silent Browns. The silent part meant the switch had little rubber pads inside to deaden the sound at the top and bottom of the stroke. The brown part meant they were tactile switches, having a small bump just before the activation point of the switch, but many folks online said the bump was so minor it was easy to miss. I figured at worst they would feel just like the linears I already loved so I took a chance on them. And they were just what the doctor ordered. Slightly tactile, but light and fast to type on, and pretty much as quiet as you could possibly be with mechanical switches.

So a few months later, I again desoldered all the switches out of my Ergodox and put in Aliaz switches from KBDFans, which are meant to be similar to Gateron Browns but with a more "pronounced" bump. When I stop to notice them, I do agree that the bump is a little stronger, but when typing full speed at 90-100 words per minute, I don't really stop to notice. But they are nice and light, and very quiet.

It also helps that I opened up my Ergodox case and put in a piece of cardboard cut with an hobby knife to fill all the air space inside which noticeably reduces the noise.

A note about typing layouts

One thing that is common in the world of mechanical and programmable keyboards is changing the layout of the keys on the keyboard, to Dvorak or Colemak or Workman, with the stated intent of increasing typing speed and reducing wear on your fingers, usually by moving common letters like o and p to be easier to reach. Additionally, I find that split, ergonomic layouts relieve much more strain than trying to rearrange the keys. In my opinion, anyone talking about switching to Dvorak before they try a split keyboard is barking up the wrong tree, or just purposely trying to be avant garde. No thanks.[1]

While I understand these arguments, I've never really seriously considered changing to one of those, for a few reasons.

First, I don't think that in most cases typing speed is actually the bottleneck. As I mentioned before, I can type comfortably at 100+ wpm on typing tests, and that's good enough for me. Certainly while writing, I find I'm typing just about as fast as I can think, and typing faster than that would obviously be unproductive.

For me, the value of changing the keyboard layout is getting easier access to things like symbols (|=+[]{}), numbers, and the arrow keys. Moving all of those to be within one row of home row is where the magic happens for me. Making it easier to type opportunity or proposition has never been that big of a concern.

But ultimately the reason I stick with QWERTY is backwards-compatibility. I can still easily use my laptop keyboard or a coworker's keyboard, which as a senior developer that people ask for advice I have to do about once a week. Taking something like the symbol keys or number keys and making them more convenient is something that degrades gracefully. I can always consciously reach for those things in the places that I got used to reaching for them in the first 25 years that I used a keyboard. But when I have the option to do something faster, I'll always take it.

  • Having seeing Kinesis Advantages
  • Trackballs
  • Thought at the time -> link to travelling with keyboards

  1. And, obviously, all of this nonesense is moot unless you first learn to touch type. People are amazed how I live with blank keycaps on my keyboard. I'm amazed they have to look at the keys still even though their profession requires typing all day every day. There are dozens of free typing tutors. Find one and learn. ↩︎

Ben Berry