HACKER Q&A
📣 ahelwer

Why have chorded keyboards not become popular among software engineers?


Software engineers as a group tend to spend many hours per day at a computer, and much of that time involves typing. Software engineers also seem to enjoy discussing (and buying) exotic & expensive keyboards with split designs and customized mechanical keyswitches. They spend time learning modal text editors like vim or emacs to more efficiently edit files. Sometimes they even switch to alternative keyboard layouts like dvorak. Basically, they seem to enjoy exploring moderately-exotic productivity-improvement methods generally. Yet very rarely do chorded keyboards crop up in the many keyboard discussions found online. The only chorded keyboard I've ever seen in real life was used by a stenographer assigned during lectures to help a fellow college student with hearing difficulties.

I myself have not yet tried to learn how to use a chorded keyboard, but the idea seems interesting on several levels. For one they're often one-handed, leaving the other hand free to use a pointing device or whatever else. Two, they seem much more ergonomic than a standard keyboard - what could be more natural than grasping a keyer in any orientation that feels right? - and three they are extremely portable which opens them up for use with laptops or HMDs. Of course there are the obvious input speed benefits but those are hidden behind the learning curve.

Why haven't chorded keyboards become popular? Is it the momentum of QWERTY being taught in primary school? Is it the dubious productivity benefit given the large learning investment? Is it just one of those things that hasn't hit critical mass so people hear about them? Are vim and emacs just a sort of backdoor method of bringing chorded keyboarding to QWERTY? It's just strange given how many people seem to be 3D printing their own keyboard layouts or whatever, and they're all fundamentally staying within the same input paradigm. Nobody I've heard of is boldly forging into the 3D-printed custom chorded keyboard space.


  👤 rjh29 Accepted Answer ✓
I'll address your points one by one. First off, programming does not involve that much typing, even technical writing is very doable with normal qwerty at 100wpm or so. You only see people using chorded keyboards in fields that involve typing with very little thinking, such as court stenographers. Typing is not the bottleneck for most of us.

As for discussing and buying exotic stuff - that is a vocal minority of engineers. You do not need a fancy mechanical keyboard or 10 years of VIM experience to do your job. Very few people 3D print their own keyboards!

Finally, unlike dvorak or colemak (which are pretty rarely adopted in themselves), tiling window managers or any other form of 'opinionated optimisation' - these things require hardware. They're in the same category as vertical mice. No matter how much better they are, it's going to take a lot more effort to a) buy the hardware and b) insist on having the hardware with you everywhere you go. For most people in most configurations, that bar is too high.

I didn't see you mention RSI or other wrist problems. The one way chorded keyboards might become popular is if we have a large number of engineers end up with severe wrist problems in the course of their normal job. Then you'd definitely see a surge in interest for alternate typing methods. But so far it seems only a minority of engineers end up with these problems.


👤 syntheweave
The problem is that programmers have way too many options to speed up their work, and few of them are premised around typing as the actual bottleneck - and the split keebs, DVORAK etc. take a lower level of commitment than learning a chording system, so they attract the casual enthusiasts. There's a rabbit hole there that most will avoid going down. As well, chording tenses the hand more than single keystrokes, and so is not really advisable on a pure-ergonomics basis; the Kinesis Freestyle2 I use regularly(which is split) actively discourages chording by having its "fn" key be a toggle rather than a modifier.

And then we look at "what can one do instead of optimizing typing". And it's mostly dull stuff that reduces error rates rather than increasing input rates. For example, installing some error-checking functions in your linter may take a few minutes, but save weeks of debugging time. So veteran programmers will tend towards deeply investigating that kind of thing over the gear porn.

If you're inclined towards training muscle memory, you may want to put that energy towards the arts; some ability in technical drawing or playing scales has a relatively large payoff in expressiveness.


👤 arxanas
Chording keyboards have become significantly more popular among software engineers, although they're still not popular in an absolute sense. Check out https://www.openstenoproject.org/ and its Discord server for a vibrant community consisting primarily of student and professional stenographers and software engineers. (Note that the focus is on two-handed chording).

For me, a chording keyboard system is significantly more ergonomic than e.g. Dvorak. However, it doesn't improve productivity for coding itself; on the other hand, it's very useful for writing design documentation and messaging coworkers. But it's a large investment for what many people consider small gains.

I personally own a 3D-printed steno keyboard, which I bought some 3 or 4 years ago. You can find a list of hobbyist keyboards here: https://github.com/openstenoproject/plover/wiki/Supported-Ha....


👤 dilippkumar
Software engineer here with a mechanical keyboard, a split design keyboard and a heavy user of a modal text editor (vim)

> Basically, they seem to enjoy exploring moderately-exotic productivity-improvement methods generally.

I’ve never considered these exotic or even moderately exotic tools, and the appeal has nothing to do with this attribute generally. These are good tools for performing the task at hand, and that is their only appeal.

> For one they're often one-handed, leaving the other hand free to use a pointing device or whatever else

To me, this is an anti-feature. I do all my work on the terminal, and generally speaking - I prefer tools that don’t need me to take my hands off a keyboard (thus the modal text editors). Two points: first, I can perform most tasks with my keyboard using muscle memory - I don’t need to look at where my mouse pointer is and navigate it to a menu button (and hope the UI hasn’t changed on me and moved the menu options around). Second, GUI applications consume a ton of resources and are slow. Nothing is faster than launching ripgrep from vim for searching for text in a moderately large source code repository.

> Two, they seem much more ergonomic than a standard keyboard - what could be more natural than grasping a keyer in any orientation that feels right?

I’m not familiar with this- I’ll take your word for it. But keep in mind that people writing code care a lot about semicolons, curly braces, parentheses, single quotes (‘), double quotes (“), all sorts of other characters (#%)?!&| etc)and the exact number of whitespaces (and tabs are extremely different from spaces!). These are used extremely frequently- depending upon the programming language, some of these are used more frequently than several common english alphabets. QWERTY works for this distribution (and DVORAK too).

A one handed keyboard that makes this wide range of characters readily available to type without requiring exotic combo-keys will require some innovations.

> three they are extremely portable which opens them up for use with laptops or HMDs.

Today, most programmers working on portable devices are making a trade off between screen real estate and portability (all other specs being equal). But even the smallest laptop that has a screen size large enough to please a programmer (say a 12” laptop display) can fit a sufficiently large qwerty keyboard. Probably if coding on an iPad or a phone becomes mainstream, there might be an opportunity to design an innovative and portable new programming keyboard. Today, that need doesn’t exist.


👤 iforgotpassword
At least when coding, having one hand free doesn't sound like an advantage. And generally, typing on a regular keyboard is fast enough for how fast I think, if that makes sense, i.e. typing speed is never the bottleneck really.

And I guess it's way easier to get started with a regular keyboard. I started when I was 8, and I don't think a chorded keyboard would have helped. You can go from looking at the keyboard and typing with one finger to using multiple fingers and not looking all the time to learning proper 10 fingers step by step.

Chorded Keyboards offer benefits only to very few people. Even going to Dvorak or that neo layout already takes too much effort for the vast majority, even if it might make their workflow even smoother once they master it. Qwerty is that "good enough" thing.


👤 raxxorrax
Qwerty certainly has momentum but I don't think the layout is inefficient at all. I have tried dvorak, but it is hard to compare if you can type on qerty blindly. You would need to build the same proficiency to really compare it and that would take a lot of time.

Personally I do think it is indeed the learning investment. You can use any classical layout without training, you will just be slower. No experience with any chorded keyboard and wonder how they would map all the keys. While they look cool, I would expect experienced users to perform better on a classical layout.

A keyboard with only a numpad is quite common for some accountants. Maybe they would really like these devices.


👤 foobarbaz33
> Are vim and emacs just a sort of backdoor method of bringing chorded keyboarding to QWERTY?

Yes. I think editor snippets solve "grind" problem of writing code. I'm a snippet maniac. I set up hand-crafted snippets for each language I use. Code just flows out of the keyboard with minimal effort. I can basically code at the speed of thought.

Combine snippets with various smart and dumb completion tools and pretty much all bases are covered, except for English prose. Steno would certainly help there, but is a micro-optimization at that point.


👤 thrashh
I can type 120 WPM on QWERTY but the only time I ever need to actually type that fast is for a typing test (and maybe copywriting).

The real productivity improvement is knowing the right tools and how and when to use them IMO. That’s the biggest lack that I see.