Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For CLIs - most reasonable commands either have a `-h`, `--help`, `-help`, `/?`, or what have you. And manpages exist. Hunt the verb isn't really a problem for CLIs.

And furthermore - aren't there shells that will give you the --help if you try to tab-complete certain commands? Obviously there's the issue of a lack of standardization for how command-line switches work, but broadly speaking it's not difficult to have a list of common (or even uncommon) commands and how their args work.

(spends a few minutes researching...)

This project evidently exists, and I think it's even fairly well supported in e.g. Debian-based systems: https://github.com/scop/bash-completion.





> For CLIs - most reasonable commands either have a `-h`, `--help`, `-help`, `/?`, or what have you. And manpages exist. Hunt the verb isn't really a problem for CLIs.

"Hunt the verb" means that the user doesn't know which commands (verbs) exist. Which a neophyte at a blank console will not. This absolutely is a problem with CLIs.


Discoverability is quite literally the textbook problem with CLIs, in that many textbooks on UI & human factors research over the last 50 years discuss the problem.

"Hunt the verb" can be alleviated to some degree for programs that require parameters by just showing the manpage when invalid or missing parameters are specified. It's highly frustrating when programs require you to go through every possible help parameter until you get lucky.

Per the thread OP, nobody pretends that CLIs do not need a manual.

Many users like myself enjoy a good manual and will lean into a CLI at every opportunity. This is absolutely counter to the value proposition of a natural language assistant.


I think this is a naming problem. CLI is usually the name for the interface to an application. A Shell is the interface to the OS. Nonetheless agree with your post but this might be part of the difficulty in the discussion

To be super pedantic, wouldn’t the interface to a shell itself be a Command Line Interface? ;)

that’s the ambiguity that I think is tripping the discussion up a little. Also the idea of a CLI/Shell/Terminal is also quite coupled to a system, rather than services. Hence the whole ‘web service’ hope to normalise remote APIs that if you squint hard enough become ‘curl’ on the command line

But the point is none of that is intrinsic or interesting to the underlying idea, it’s just of annoying practical relevance to interfacing with APIs today


Wow, I now feel old.

Yes. But I think the point is a good one. With CLI there is a recognition that there must be a method of learning what the verbs are. And there are many traditions which give us expectations and defaults. That doesn’t exist in the chat format.

Every time I try to interact with one of these llm gatekeepers I just say what I want and hope it figures out to send me to a person. The rest of the time I’m trying to convince the Taco Bell to record a customer complaint about how its existence itself is dystopian.


> And manpages exist.

For older tools, sure. Newer tools eschew man pages and just offer some help flag, even though there are excellent libraries that generate manpages like https://crates.io/crates/clap_mangen or https://crates.io/crates/mandown (for Rust, but I am sure most languages have one) without requiring you to learn troff.


Newer in maturity though, I'd say, no not like 'modern' tools vs. only vintage tools have them. It's just not something people tend to consider early on I think, but popular stuff gets there. (For one thing, at some point someone points it out in the issue tracker!)

All of this is true. “Invitation to guess” is the key phrase in my comment. CLIs present as cryptic, which is a UX _advantage_ over chat wrappers because the implied call to action is “go do some reading before you touch this”.

An AI wrapper typically has few actual capabilities, concealed behind a skeuomorphic “fake person” UX. It may have a private list of capabilities but it otherwise doesn’t know if it knows something or not and will just say stuff.

It really needs to be 100% before it’s useful and not just frustrating.


the comment you're replying to said:

> but there is no invitation to guess, and no one pretends you don’t need the manual

which is basically what you're saying too? the problem with voice UIs and some LLM tools is that it's unclear which options and tools exist and there's no documentation of it.


Siri does have documentation: https://support.apple.com/en-ca/guide/iphone/ipha48873ed6/io.... This list (recursively) contains more things than probably 95% of users ever do with Siri. The problem really boils down to the fact that a CLI is imposing enough that someone will need a manual (or a teacher), whereas a natural language interface looks like it should support "basically any query" but in practice does not (and cannot) due to fundamental limitations. Those limitations are not obvious, especially to lay users, making it impossible in practice to know what can and cannot be done.

Well that's largely theoretical and Siri needs largely more input than is worth the trouble. It lacks context and because of Apple focus on privacy/security is largely unable to learn who you are to be able to do stuff depending on what it knows about you.

If you ask Siri about playing some music, it will go the dumb route of finding the tracks that seems to be a close linguistic match of what you said (if it correctly understood you in the first place) when in fact you may have meant another track of the same name. Which means you always need to overspecify with lots of details (like the artist and album) and that defeat the purpose of having an "assistant".

Another example would be asking it to call your father, which it will fail to do so unless you have correctly filled the contact card with a relation field linked to you. So you need to fill in all the details about everyone (and remember what name/details you used), otherwise you are stuck just relying on rigid naming like a phone book. Moderately useful and since it require upfront work the payoff potential isn't very good. If Siri would be able to figure out who's who just from the communications happening on your device, it could be better, but Apple has dug itself into a hole with their privacy marketing.

The whole point of an (human) assistant is that it knows you, your behaviors, how you think, what you like. So he/she can help you with less effort on your part because you don't have to overspecify every details that would be obvious to you and anyone who knows you well enough. Siri is hopeless because it doesn't really know you, it only use some very simple heuristic to try to be useful. One example is how it always offer to give me the route home when I turn on the car, even when I'm only running errands and the next stop is just another shop. It is not only unhelpful but annoying because giving me the route home when I'm only a few kilometers away is not particularly useful in the first place.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: