Live data from Hacker News

CLIs are reified UIs (2017)

expressionsofchange.org

101–110 of 126 posts

Re: CLIs are reified UIs (2017)

#101

The biggest problem with CLI is discoverability as the article points out. Looking at Docker CLI, there are like a bazillion commands and it takes forever to read through the docs to find out what exactly to use. Furthermore, there are some commands that depend on the others being there - that breaks the composability. Back to discoverability, is there a way to make CLI "more discoverable"? Reading the man page doesn…

+1 on the thing with Docker, all I want is a "start" command to go through that dockerfile I just wrote (also with some effort). At the moment it feels like I have to build it, then build it again but with a tag or name, then look up that same tag or name again and find the right command to actually run a container, oh and then there's a bunch of old versions of that container still taking up space but if you don't actually google for "how to clean up old docker containers" you'd have no clue how to find them.

Is there a docker frontend for idiots like me somewhere?

Re: CLIs are reified UIs (2017)

#102
I think all cmd should have a "tutorial", "doc", and "quickref" subcommands.

Eg:

git quickref

This will list the most commonly used git invocations and their affect

Git quickref chekcout

This will list the most common checkout invocations.

Git doc open your browser to an offline doc html doc, etc

Re: CLIs are reified UIs (2017)

#103

The biggest problem with CLI is discoverability as the article points out. Looking at Docker CLI, there are like a bazillion commands and it takes forever to read through the docs to find out what exactly to use. Furthermore, there are some commands that depend on the others being there - that breaks the composability. Back to discoverability, is there a way to make CLI "more discoverable"? Reading the man page doesn…

I think autocomplete and sub commands can help a lot with discoverability.

I don't want to praise the Google Cloud CLI, but one nice thing is you can do something along the lines of

    $ gcloud 
    -> list of services you want to manipulate
    $ gcloud servicename 
    -> list of action you can do to service
    $ gcloud servicename actionname --help
    --> detailed information on how to apply that action
It isn't perfect - you don't get this behaviour out-of-the-box with every shell - but it is a lot better than reading a man page with a list of a million flags.

Re: CLIs are reified UIs (2017)

#104

The biggest problem with CLI is discoverability as the article points out. Looking at Docker CLI, there are like a bazillion commands and it takes forever to read through the docs to find out what exactly to use. Furthermore, there are some commands that depend on the others being there - that breaks the composability. Back to discoverability, is there a way to make CLI "more discoverable"? Reading the man page doesn…

[deleted]

Re: CLIs are reified UIs (2017)

#105
You could use both GUIs and CLIs in the same program. It has been done this way in CAD since the old days.

E.g Most people today do not know that Autocad started using text commands for everything you did with your project(in DOS).

Those commands were interpreted in a dialect of Lisp(AutoLISP). First those commands were organized in menus, then text was replaced by icons, but the commands were there if you wanted to use them.

So you can use Rhino3d with both the GUI or the CLI. Or in blender3d, each GUI has a corresponding command you can use in Python.

Apple wanted to make it generic behavior for Apple apps with automator but most developers refused to make their programs scriptable.

Re: CLIs are reified UIs (2017)

#106

The biggest problem with CLI is discoverability as the article points out. Looking at Docker CLI, there are like a bazillion commands and it takes forever to read through the docs to find out what exactly to use. Furthermore, there are some commands that depend on the others being there - that breaks the composability. Back to discoverability, is there a way to make CLI "more discoverable"? Reading the man page doesn…

Tab completion on small commands that don't have a kitchen sink of options...

I've never read the manual for the GCP command line tools but I've used them extensively.

Re: CLIs are reified UIs (2017)

#107
This brings up some interesting ideas about improving a CLI by improving the record keeping making it more deterministic, and enabling undo.

Thinking about these 3 features together would essentially give a computer system a version control or tool assisted speed run kind of feel.

Every command changes the state, and the system can be rolled back, and experimented with.

I really like where this line of thinking could lead.

Re: CLIs are reified UIs (2017)

#108

The biggest problem with CLI is discoverability as the article points out. Looking at Docker CLI, there are like a bazillion commands and it takes forever to read through the docs to find out what exactly to use. Furthermore, there are some commands that depend on the others being there - that breaks the composability. Back to discoverability, is there a way to make CLI "more discoverable"? Reading the man page doesn…

> Looking at Docker CLI, there are like a bazillion commands and it takes forever to read through the docs to find out what exactly to use. Is this really a problem of CLI or just an example of a complex application? If we take for example something like excel or photoshop, then you can't easily figure what to do, even if the doc is directly embedded inside the UI. > Back to discoverability, is there a way to make CL…

> No, the moment you embedd the discoverabilty of GUI it stops being a CLI. TUI exist, and they do offer the same elements as GUI, just with less flexibility because text and so. But TUI serves a different purpose. You can't automate spatial interfaces as you can automate a cli. You need a dedicated way for allowing this, which is the main reason why CLI is so popular.

A command line interface can do with very little screen real estate. There's no reason GUI and command line can't coexist, with everything you do in the GUI immediately being reflected in the command line, and vice versa. This combines the context visibility and flexibility of a GUI with automatability and composability of a CLI. And you learn both at the same time.

Re: CLIs are reified UIs (2017)

#109

You could use both GUIs and CLIs in the same program. It has been done this way in CAD since the old days. E.g Most people today do not know that Autocad started using text commands for everything you did with your project(in DOS). Those commands were interpreted in a dialect of Lisp(AutoLISP). First those commands were organized in menus, then text was replaced by icons, but the commands were there if you wanted to…

Not as much refused, but didn't or don't see the value in the added complexity (of development).

Re: CLIs are reified UIs (2017)

#110

Earlier quoted context omitted.

> GUIs are a discoverability nightmare. Badly made GUIs are. I started my career developing desktop software. Both Apple and Microsoft used to publish guides for building proper GUIs for their platforms. Our UX designers and PMs were enforcing those vigorously. On Windows, every feature had to be represented in the menu of the main window. See, right there, by going (not even clicking on) every menu item you will lea…

Why past tense for guidelines from Apple? They're here: https://developer.apple.com/design/human-interface-guideline... .

They may still be published, but GUI guidelines are generally not followed anymore. The rise of Electron applications is just one reason why this happened.
Post reply on HN