4 ms·
Every time I see a post like this, I mention steno (stenography). I do it not to dunk on someone's fun. I think this project is super cool and inspiring. I hope
by spit2wind 3y ago
Every time I see a post like this, I mention steno (stenography). I do it not to dunk on someone's fun. I think this project is super cool and inspiring. I hope to do my own design some day.
I mention steno because so many responses are about RSI and, as far as I can tell, there is no better solution today to RSI than steno.
Simply, steno is a chorded keyboard in which some combination of keys maps to some output. You press down the keys and the output is handled on release.
The mapping can be anything you like. A common one is phonetics. Assign each key to sounds like "Kuh", "Eee", "Buh", "Oh", "Er", and "Duh". You press down, release, and translate that to "keyboard". There are many improvements possible (that happen). This is just a basic example.
Speech-to-text often comes up. This is a valid solution, as it removes the problem (hands). However, it presents at least two major problems. One, you need to develop a theory pretty much identical to steno. As far as I know, no standard theory has been developed. Steno has been around for at least 100 years. It's well understood. If you use a steno system for voice, you can use a steno system for steno. Two, you have to talk which is not only tiring, open office spaces are trendy and not going away.
The most common response is, "But can you code with steno?" Yes! Absolutely! And it's great! I have programmed professionally exclusively using steno for at least two years, full time.
You need two features to make steno practical for programming. In the steno jargon, these are called "repeat" and "one up".
Repeat is straightforward enough. It allows you to repeat a keystroke. The problem arises because steno is chorded. The stroke is only sent on release. Doing something like pressing "<down>" becomes hell if you must do separate strokes. Repeat typically works by looking for a "double tap", a press-release-press-and-hold within some short time threshold.
"One-up" means being able to send a partial stroke. Again, this shows up with navigation. A common way to map up-down-left-right is with a "prefix" and a key pattern that looks like WASD. For example, the left hand may hold down STPH and the right hand maps up-down-left-right to PBRG (see https://i.ytimg.com/vi/ZAkkTtsPKOA/maxresdefault.jpg https://i.ytimg.com/vi/ZAkkTtsPKOA/maxresdefault.jpg). This means STPH-P maps to up, STPH-B to down, and so on. Again, stroking each movement separately is hell. However, one-up allows you to hold the prefix, STPH, and then press and release the remainder of a stroke, such as -P. In this way, you can navigate and fingerspell easily. Combined with repeat, this feature makes programming with steno practical.
Steno is obviously a commitment. It's also less keystrokes. Keystrokes is a root problem. Steno took me about 3 months of 15 minutes practice in the morning each day. The world record is something like 360 words per minute. I find that 30 wpm is sufficient to do practical programming work. Think of it like the difference between Yngwie Malmsteen and Kurt Cobain. One is technically possible and cool, the other gets the job done.
You learned to program. You can learn steno. It's worth it. Best of luck with your RSI and do go see a physical therapist. Seriously!
- eviks 3y agoHas there been much progress in steno design in those 100 years or is it stuck on the same layout like qwerty? Also how easy are symbols and emojis?
- my_mans 3y agohttps://steno.sammdot.ca/emily-symbols.png https://steno.sammdot.ca/emily-symbols.png
- eviks 3y agothanks, that looks very complicated, but maybe it's still very fast, so hence my original question - has there been some research into those improvements? Maybe adding an extra key would make it much better? Maybe in some cases holding is better (like repeatable cursor movements), etc
- spit2wind 3y agoWhat do you mean by "research into those improvements"? A steno theory is a correspondence between key combinations and output. The theory is a (hopefully) cohesive system for remembering that mapping. By academic research, I don't know of any. I don't know of any for 1:1 keyboard mappings either. I suppose you could say that "used by the entire profession of court reporters daily for a century" might constitue some kind of research. A steno theory can behave more like a language than a layout. It may evolve over time and has an associated culture. But it also operates at the individual level. No two steno users will have the same dictionary.
- spit2wind 3y agoIf you mean at a hardware level, yes. But that's not unique to steno. Mark Kingsbury, the world record holder, uses some touch sensitive board thing that isn't mechanical (if I recall correctly). There are plenty of keyboard hobbiests who make chorded boards, some with more keys, some with less, some in line, others with curvature. This gets a little in the direction of "what is steno"? Is it the STPHKWRAO*EUFPLTRBGS layout? Is it the common portions between theories? What differentiates "steno" from "chorded"?