Cursorless is fantastic, this saved my bacon last year when I couldn't use my hands for months. I donate to Pokey because I'll need this again in the future, though right now I'm typing okay.
I think able-bodied programmers will probably get annoyed setting it up, setting talon up, learning the phonetic alphabet and basic commands, but like.. if your hands don't work, this can literally save your career. this is a disability aid for creating things, it's vital and empowering!
the hard part IMO is getting back into the coding headspace you had when you could type. it's different speaking code, formatting it in your head before you say command phrases. everything's a little awkward, you can't get into the zone the same way.
I have some very mixed feelings about talon. I looked into it a decent bit when I started having hand issues as well, and never got anywhere useful with it.
For one, it needs to be programmed to do anything. This gets you all the options, which is wonderful, but also is a bit of a problem when you're looking into because you can't, ya know, program. And it's not a simple thing to interact with. Lots of moving parts and various behind-the-scenes interactions.
For another, there's virtually zero documentation. Like, officially none, and unofficially not much more than a few paragraphs.
And to put the cherry on top, it's a closed source mess of a program. It's not easy to get much in the way of useful information out of it. You can poke around some in a Python REPL, but that'll basically just get you the interface. And somehow, it's one of the most useful sources of information, as at least you've got something to go on. And as mentioned, Python, so you don't have much in the way of language-level guarantees to try to rely on to figure stuff out either.
Yes, there is the popular user config. To be clear, I'm not trying to be unkind to it. It managed to overcome a lot, and is very useful to lots of people for many of the reasons I stated above. But. It's also clearly got it's roots as one person's personal config that got popular. There is so much in there. It's basically it's whole own thing to learn on top of talon.
In terms of learning from it, well, it doesn't seem trivial. It's basically it's whole own thing, but also how it all interacts is all talon. You're basically learning two separate yet intertwined systems at once and have to figure out what bits belong to what. It's also got various bits from multiple iterations of talon's interface, so the same thing may be accomplished multiple ways. It's actually quite well commented in some places about this fact, which is really nice. But it does make you wonder what isn't well commented...
Ultimately I just gave up. It seems like a potentially hugely useful thing, but actually trying to use it required learning a bunch of stuff I wasn't otherwise interested in, figuring out the minutia of a complex unstable interface the hardest ways possible, and then spending a ton of time writing my own program/config.
Aside from the time involved, the amount of typing required was prohibitive.
So yeah. My feelings on talon... mixed, to say the least. Or most, judging by the above.
I agree the non programmer use of Talon is still unpolished. That was an intentional prioritization as I work to solidify the underlying tech. Note that your best option for documentation right now is the Slack, where I am very active.
I have a clear vision for easier customization and adaptation in the long term.
Maybe check back every now and then, it's a labor of love and I plan to continue improving it for a long time.
Well, I am a programmer, I just wasn't able to do much programming due to physical limitations. Admittedly I'm not much of a Python programmer, and I wouldn't be surprised if a deeper understanding of not-just-a-shell-script Python idioms helped me get a little more out of the REPL poking. But uh, still.
As for Slack, I don't really consider that documentation. It's not really usable in the same way. It's more akin to IRC. It's potentially very helpful, even when the documentation isn't helping, but it's not the same thing. Maybe I'm just old, even though I'm not that old... I think...
Anyway, I hope this doesn't come off too negatively overall. I really like the idea of Talon and I'm comforted by it's existence, in case my hands start acting up again. From my attempts to investigate it I got a few glimpses into just how deep you've gone, even down into the speech model itself, to make it what it is. And I know any interface to something as complex as this is itself a large series of extremely ambiguous trade-offs that's just painful to make. And of course documentation itself takes time to create, and then needs to be kept up to date, and all that. I get it.
If it didn't seem to hold much promise, I wouldn't be so sour about failing to figure out how to use it effectively.
One thing that might be worth considering is moving to a source-available model, if full on Open Source doesn't suit your goals. Having the option to try to figure things out by looking at the code could be very helpful.
> unofficially not much more than a few paragraphs
There's a lot more than a few paragraphs on the wiki (which is linked right after the setup instructions in the official docs), including ~30 pages about the scripting system alone: https://talon.wiki/unofficial_talon_docs/
> As for Slack, I don't really consider that documentation
I think you should try asking questions on this particular Slack before you write it off and recommend that I do something else. It is my official support channel and I am extremely active and helpful there.
> Having the option to try to figure things out by looking at the code could be very helpful
One thing to try - Talon has good Python type annotation coverage and the type information is shipped with Talon. If you point VSCode at Talon's Python interpreter (at `~/.talon/bin/python` on Linux/Mac or `%appdata%\talon\.venv\scripts\python` on Windows), the language tooling in your editor should then know about Talon's API and types.
> There's a lot more than a few paragraphs on the wiki
You're right, I wasn't very fair to the wiki. I would have failed out way quicker without it. It wasn't intentional, it's just been a bit since I was looking at all this. My memory had dropped the details and left me with just my overall impressions.
That said, the wiki still was a bit short on some of the deeper details. I remember a fair number of places I'd feel like the wiki had just enough to tantalize the possibilities but not provide some of the important pieces to put it together into something useful.
And being community driven, I was a little wary of taking it as gospel. Even popular and stable software often has some niggling issues with community documentation.
> I think you should try asking questions on this particular Slack before you write it off
I'm not writing it off. I have no doubt it - and you - would be very helpful. I just don't consider it documentation, in the same way I don't consider a knowledgeable friend documentation.
Part of the reason I didn't pop in was that I was stuck doing a slow one-finger hunt-and-peck on a blank keyboard at the time. Searching the web was more than frustrating enough to make it real tempting to ignoring the cost of typing, never mind Slack. And partly I admit I just don't like asking questions in that format unless it seems like a reasonably complex/detailed/weird question.
> point VSCode at Talon's Python interpreter
Yeah, that probably would have helped. My setup at the time didn't have much for Python, so I was mostly using the REPL and basic searching.
It sounds like Serenade.ai would be more useful to you. It is more of a complete product, with the ability to add custom commands on top of it. Plus it's open source.
I'm not trying to steal the spotlight from Talon/Cursorless though, they are amazing and super useful. But it is definitely a much more fragmented ecosystem which requires more work.
I think I looked at that briefly at one point. I passed by it quickly because it lacked support for both my usual editor and language.
But I've recently revisted VS Code and found it improved enough to be usable for me. My hands have also improved enough that I can do a reasonable amount of typing now too, so perhaps adding language support would be an option. Hm...
I think able-bodied programmers will probably get annoyed setting it up, setting talon up, learning the phonetic alphabet and basic commands, but like.. if your hands don't work, this can literally save your career. this is a disability aid for creating things, it's vital and empowering!
the hard part IMO is getting back into the coding headspace you had when you could type. it's different speaking code, formatting it in your head before you say command phrases. everything's a little awkward, you can't get into the zone the same way.