I have one broken arm and typing sucks even more n...
# thinking-together
f
I have one broken arm and typing sucks even more now. What are good examples of programming environments that work great with touch and voice? I’ve also found dictation works so much better compared to five years ago now given AI tools, there must be something that is more convenient for single-handed use or let me rephrase: I wish I had built that tool one week ago. 💪
a
Consider also the humble chorded keyboard. A lot (most?) if them are one-handed. :) (I haven't actually used one, but they always looked interesting)
r
I broke my hand recently and faced a similar struggle. Vi-bindings aren't terrible surprisingly, but typing on a full keyboard remains painful. Maybe you could try the Replit mobile app? Or just vim in termux/termius. For speech, there is https://github.com/cursorless-dev/cursorless which is based on Talon, though I haven't used it. @Andrew F I haven't used one either, though their ideal use, exemplified by Engelbart, is across from a mouse. http://www.loper-os.org/?p=861
s
I remember this being a pretty interesting setup:

https://youtu.be/fg6Q3r2p_yE

Although your time to recover might be less than the time it would take to develop and adapt to a sufficiently sophisticated setup.
j
If you haven’t seen it this blog post is an excellent resource: https://www.joshwcomeau.com/blog/hands-free-coding/
f
Wow, this is fantastic! I think I’ve seen similar demo a few years ago, but this one by Josh is so clear and hands on that I will definitely look into this.
n
There used to be this thing called Dasher https://en.wikipedia.org/wiki/Dasher_(software). I am not sure if you can even run it any more, but it had some good ideas for people with limited mobility. Doesn't solve your immediate problem, but it would be cool to build something like this now and augment it with much more contextual full word completions similar to mobile phone keyboards. Or hook it up to LSP/IDE autocompletion to allow typing code.
g
Losing the use of your hands or only half of your hands gives you the opportunity to think declaratively - what, not how. teaser: What is the point of programming? To control a machine. To accurately break down an action in steps so small that even a machine can perform the steps. Current electronic machines provide us with a bag of potential steps called “opcodes”. QWERTY keyboards are favoured by programmers, because they allow programmers to supply very fine detail using 10 fingers each of which contain a lot of nerve endings and fine motor control. I’d argue that QWERTY keyboards are better than piano keyboards, because you don’t have to move your arms. The drawback is that current QWERTY keyboards are not velocity sensitive nor “wiggly” sensitive. aside: A mouse wastes 5 fingers plus an arm to operate. I don’t know how to solve the HCI problem of entering and editing details in a computer, but I did have my hand in a cast for one week and began exploring speech-to-text. Speech can contain a lot of detail and speech-to-text can convert that detail into editable strings of characters. The subsequent editing can be done in broad strokes (up, down, highlight, delete, etc.). Maybe a solution lies transforming detailed speech into some other less-detailed domain, i.e. use more than one domain instead of a single text editor. Maybe the finger-based editor can be split into 2 parts - entering details, editing in broad strokes. ATM, I’m using Descript to replace Logic and iMovie to “write” papers and books (i.e. to document experience). Descript uses AI to suck detail out of speech, then converts it to a form that can be edited in broad strokes (a finger-and-mouse based word processor UI). It ain’t perfect, but is less painful to use than iMovie and Logic and OBS and etc. for what I want to do. Descript expects a user to use a QWERTY keyboard and a mouse, so this doesn’t directly solve your problem, yet is an example of a UX that treats data entry and editing as two separate technologies.
a
if you're interested in a voice assistant that can handle more abstract commands, they're letting people test out Hey, GitHub if you ask for access in the Discord channel
b
This claims that much of your keyboard muscle memory can translate to your other hand! https://blog.xkcd.com/2007/08/14/mirrorboard-a-one-handed-keyboard-layout-for-the-lazy/.