Comment by QuercusMax

Comment by QuercusMax 2 days ago

15 replies

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.

bangonkeyboard 2 days ago

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

  • npunt 2 days ago

    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.

  • lossyalgo a day ago

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

  • dididn284d a day ago

    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

    • buildbot a day ago

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

      • dididn284d a day ago

        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

  • mingus88 2 days ago

    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.

  • bnjms a day ago

    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.

nextaccountic a day ago

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

  • OJFord a day ago

    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!)

thatjoeoverthr a day ago

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.

[removed] a day ago
[deleted]
dhussoe 2 days ago

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.

  • nneonneo a day ago

    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.