top | item 32710273

(no title)

foerbert | 3 years ago

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.

discuss

order

lunixbochs|3 years ago

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.

foerbert|3 years ago

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.

Xevi|3 years ago

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.

foerbert|3 years ago

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...

Thanks for the suggestion!