5 ms·
20 years ago or so, I ran an evolutionary algorithm that permuted keys in a layout, evaluated them against a corpus of English texts from Project Gutenberg and
by pklausler 10y ago
20 years ago or so, I ran an evolutionary algorithm that permuted keys in a layout, evaluated them against a corpus of English texts from Project Gutenberg and the Linux kernel sources, and a home-grown cost function that penalized finger motion and especially double-hits by the same finger. The best layouts all had the property that the vowels were on the home row under the left hand, and the common consonants were on the home row under the right hand. That's basically Dvorak, and I considered the experiment as being kind of a confirmation of that design's principles. And so I stuck with Dvorak, since it's available everywhere.
- pklausler 10y agoBesides sticking with Dvorak's keyboard layout, the best thing I ever did for my comfort and productivity was to write a text editor that laid its commands out on the keyboard sensibly. Both vi and emacs use designs chosen for ease of recall, based on associations between letters and verbs, not for physical ease of use (apart from vi's HJKL). My editor, aoeui, uses right-hand home and upper rows for navigation by various units; the FDB central column of Dvorak for copy, delete, and paste/swap; and a key on the bottom right-hand row for selection. The left hand's job is basically to hold down the control key and do rare things like file operations.
- mhd 10y agoThe Wordstar diamond was quite common at a time, and definitely not mnemonic.
- pklausler 10y agoNever used it, but it sure had its fans. Too bad that it lies beneath the left hand.
- mhd 10y agoI doubt that handedness really matters for these kind of tasks, but of course everyone has their preferences.
- pklausler 10y agoMy left hand is clumsy, at least in comparison to my right hand. If commonly-used functions have to all be under one hand, left is bad for me.
- Todd 10y agoMany games use WASD under the left hand for motion, but that's to leave the right hand free to use the mouse. I've never tried mousing and cursoring in an editor before. Hmm.
- mhd 10y agoIt certainly wasn't a factor when WordStar arrived, but otherwise combining mousing and keyboard commands is quite common (i.e. selecting text and then using the CUA cut/copy/paste commands).
- pklausler 10y agoHey, I found my best evolved layout: K,UYP WLMFC OAEID RNTHS Q.';Z XVGBJ Some things to note: 1) E and T just have to be under the middle fingers on the home row in any comfortable layout. 2) T and H need to be adjacent. 3) Vowels on one side, consonants on the other side of the home row. Keep the home row's Scrabble score to a minimum. Honestly, I think that's all that really matters. Dvorak isn't perfect for me (I/U need to be switched, and maybe L/-) but those are minor bugs.
- jboy 10y agoHey, I did something similar about 12 years ago! I'd tried the Dvorak keyboard layout and found that I liked the guiding design principles, but decided that the actual layout was a sub-optimal implementation of those design principles. So, I dumped several megs of personal email archives (with the headers & '>' removed) and several megs of C++/Python source code (including comments) through some little statistical number-crunching programs I had written, to analyse: * key frequency (I still recall that the top 7 were ETOAINS) * 2-key combination frequencies (for example: TH, SH, ST, NT, EA, OU, IE, etc) I also wanted it to be Vim-friendly, C++-friendly & UNIX command-line-friendly where this didn't degrade the effectiveness for general English language. My best layout (which I've been using as my keyboard layout for the last 12 years, thank you Xmodmap on Linux) is: QYOU, XRDCW PIEA. VHTSN K;JG_ ZLBFM Because it was significantly inspired by ideas from the Dvorak keyboard layout (and because I was such a modest young fellow), I called it the "Boyden keyboard layout". :P Just as you did, I came to some specific conclusions about comfortable layout: * E & T must be under the middle fingers on the home row. * T & H need to be adjacent. * Vowels on one side, most important consonants on the other. In an important contrast to your layout, I optimised for rolling fingers inwards. This is something I learned from the Dvorak layout: It's easier to drum your fingers by rolling inwards rather than rolling outwards. This is why I have "IEA" on the left in contrast to your "AEI", and "HTSN" on the right in contrast to your "NTHS". (It's actually quite striking how similar our home rows are.) Similarly, I have "YOU," on the upper left, in contrast to your ",UYP". [Interestingly, the Workman layout lays out SH & ST for inwards finger rolls, but does not lay out TH for an inwards finger roll. I consider this a failing of the Workman layout.] Another principle that I borrowed from the Dvorak layout is that the most agile fingers in order are: middle, first, ring, pinkie. So, I tried to avoid adjacent double-use of the same finger; but when double-use is necessary, prefer to do it with one of the first two fingers. I also tweaked the layout for Bash shell a little: My most frequently-used command is `cd`, so these two letters are adjacent. Also, '.' is frequently doubled in directory paths (".."), so that's a first-finger key. It also makes sense to have '.' & ',' as middle-column first-finger keys, because they usually occur at the ends of words in prose (that is, at the end of an inward finger roll), and words almost never end in A or U in English.
- pepijndevos 10y agoThe critical part is what you base your evaluation on. As written in the article, some think same-hand sequences are good, others think they are bad. Some consider the home row the place to by, while others take a broader look at easy to reach places. If you change your evaluation criteria you might find Workman outperforms Dvorak, or the other way around. Personally, I can only say I'm happy with Workman after over a year.
- pklausler 10y agoThe benefits of switching from the painful Sholes (QWERTY) layout to anything designed for comfort are huge. The benefits of switching between comfortable layouts are less than the cost of entry, at least for me.
- coldtea 10y ago>The benefits of switching from the painful Sholes (QWERTY) layout to anything designed for comfort are huge. Are there really? I find relevant studies lacking, not to mention this: https://www.utdallas.edu/~liebowit/keys1.html https://www.utdallas.edu/~liebowit/keys1.html Also the whole DVORAK vs QWERTY thing presupposes we are all 20th century secretaries or novel writers and english at that, when in reality, we as programmers: 1) Have different patterns than people writing text in English (for us .,{}():- etc can be as common as A and E for example -- plus several common shortcuts. 2) Belong to different cultures, not all english. So, when we DO write text, studies rarely say how good an alternative layout is for typing German, French, Greek, Chinese, Russian, etc.
- pklausler 10y agoI'm glad to see skepticism on this claim, and I don't have any good modern UX studies to point to. Anecdotally, I was going home with scary numbness on the backs of my hands and fingers at the ends of days of heavy shell interaction, despite touch-typing. Switching to Dvorak's layout cleared that problem up immediately and it hasn't returned in 24 years.
- Natsu 10y agoWhat about chording keyboards? I've always wanted to try one of those, though it might be a bit hard to hit unusual keys or combinations. The idea that one hand could control the entire keyboard leaving the other free for the mouse seems interesting.
- ggreer 10y agoI spent a month trying different layouts on the Twiddler 2, but ended up ditching it. I could only get up to ≈25% of my normal typing speed. And no matter what layout I experimented with, some keyboard shortcuts were a huge pain. There just weren't enough meta keys. I do think there's something that could be made in this space, but it would be a niche product. Standard keyboards require no up-front training. A complete novice can use one just fine (although slowly). Chording keyboards require a significant time investment before you can type a single sentence. That up-front cost might be worthwhile, but it really hurts adoption. In addition to that fundamental issue, most chording keyboards today have two big implementation problems: 1. They are USB instead of Bluetooth. That makes them much less convenient for mobile usage, where they have the greatest advantage over standard keyboards. Instead of grabbing the chorder and typing, you first have to plug it into your laptop, tablet, or phone (if that's even possible). 2. They lack a decent pointing mechanism. The Twiddler series uses a thumbstick. I would vastly prefer a trackball under my thumb. If done right, it would give the ideal combination of speed and precision. Now that VR is poised to become popular, I think there's a larger chance that someone will make a high-quality chording keyboard. Still, I wouldn't put money on it. Learning to use one proficiently is almost as time-intensive as learning to play an instrument.
- Sniffnoy 10y agoCarpalX has a rather thorough exploration of this sort of thing: http://mkweb.bcgsc.ca/carpalx/ http://mkweb.bcgsc.ca/carpalx/
- b01t 10y agoI'm on Dvorak currently, but on Vim, the keybindings make up for an awkward experience. How does one deal with that?
- pklausler 10y agoI wrote my own Dvorak optimized editor, aoeui. :-)
- b01t 10y agothat's awesome, great work!!
- qb45 10y agoHmm, I learned Vim on Dvorak and never had a chance to really appreciate this weirdness. What's better about Vim on QWERTY?
- pklausler 10y agoHJKL on the home row under the right hand.