Earlier quoted context omitted.
What about a system that shows actions in a GUI as a list of equivalent plain text commands. New users would have the discoverability of a GUI while being able to see what goes on command-wise. With time they would be able to convert to plain-text commands and scripting for increased efficency.
I think CLIs should be able to provide a very generic UI from their command definitions like this: https://github.com/hediet/ts-cli/blob/master/cli/README.md
You Don't Need a GUI
391–400 of 439 posts
Re: You Don't Need a GUI
#392Earlier quoted context omitted.
A fair part of what I do includes ERP implementation project work. Way back, when TUI/keyboard centric ERP system dominance was starting to give way to GUI/mouse centric ERP systems, I was working with one client where replacing a TUI with GUI based system. One measure we made during the project was the impact to new employee training time and we saw significant reductions in training time due to the sorts of discove…
All GUI apps should be controllable entirely through the keyboard. This is generally true of built in Windows applications (even if the transition to ribbon interfaces complicated flows). It is spotty for third party applications. Unfortunately on Linux, at least on KDE (I don't like Gnome since v3), keyboard navigation is broken even on default applications like Dolphin or Discover. Mac OS, I remember (Tiger -Lion)…
Re: You Don't Need a GUI
#393GUI is better for discoverability of the most common scenarios (I can right-click to see everything that can be done with the file, including some third party programs). But it's bad for composing programs and interoperability, often it's impossible or very hard to automate (how many people are doing UI testing? there is a good reason it's not many -- it completely sucks) TUI/console is very good for interoperability…
Re: You Don't Need a GUI
#394The problem with the CLI is it is TOO freeform, with fatfingers and the like. A better autocomplete that utilized more advanced character graphics would go a long way to making the CLI more natural.
Man page examples/sample are still inadequate even after ... ??? 40 years ???. Some analysis of grep use case frequency would probably help them a lot. I've given up looking for man pages for examples how to use a command in a specific way, StackOverflow and Google are better. But then you have to change to a different app, parse through search results, etc etc etc.
Re: You Don't Need a GUI
#395GUIs are very useful for non-verbal animals, and for young children and heavily handicapped humans who cannot use language. For normal, well-functioning adults with a command of language, text or voice-based interfaces will always be superior: they are both faster and more expressive.
Re: You Don't Need a GUI
#396Earlier quoted context omitted.
Quote: "..you want to do something complicated that a GUI program can't handle..." Name one thing that a GUI program can't handle, I dare you. Me, on the other hand, I can point you to a trillion dollar business that uses only GUI and not a single CLI, to say the least.
> Name one thing that a GUI program can't handle, I dare you. Pipe input/output between programs. Chaining cli tools is essential for my work and personal usage. > Me, on the other hand, I can point you to a trillion dollar business that uses only GUI and not a single CLI, to say the least. That's observably not true. Why didn't you just type out the name?
Get-ChildItem | Out-GridView -output multiple | Format-Table
There is a GUI with piped input, and piped output, which can be used to filter the pipeline objects using ctrl-click to multiple select "I want this, this, and that" in a view that is sortable and filterable.Re: You Don't Need a GUI
#397GUIs are very useful for non-verbal animals, and for young children and heavily handicapped humans who cannot use language. For normal, well-functioning adults with a command of language, text or voice-based interfaces will always be superior: they are both faster and more expressive.
GUIs are very useful for people who can read, because they have text in them. Even without text, "crop a photo until it looks nice" is no task for a command line or for language.
Some of us are such nerds, that we even crop a single photo with command line utils. Something like this:
imcrop `imrectangle in.png` in.png out.png
where imrectangle is a program that opens the image in a window and allows you to select a rectangle, whose coordinates are printed to stdout upon closing the window. You can even put this line on a shell script that you can call as viscrop in.png out.png
and does the whole deed. With some care, it can even work on pipes: cat in.png | viscrop > out.pngRe: You Don't Need a GUI
#398> they often require more resources, are less powerful and hard to automate via scripting That's not a problem with the GUI paradigm, that's a problem with the current implementations of it. Current implementations of CLI/TUI programs have many problems themselves: lack of undo, poor discoverability, low intuitiveness, no previewing (e.g. in the equivalent to file browsers), poor documentation (which makes the discov…
> Current implementations of CLI/TUI programs have many problems themselves: lack of undo This is more common with CLI than with TUI, and its largely because the former are generally aimed at lower-level use than TUI or GUI applications.
Re: You Don't Need a GUI
#399Earlier quoted context omitted.
I just keep cheatsheets handy. For new scenarios, if I find they aren't already on the sheet, I add them. The best command line tools have good documentation you can find with a command like "help" or the "-h" flag. I am slightly annoyed there isn't a convention for this though. Perhaps it should be made into a RFC standard.
Cheat sheets are not form of discoverability. People generally want to use software and learn-while-using. By searching beforehand for a cheatsheet or reading a man page you are already studying how to use the software before actually using the software. Compare that to most GUI apps where you can just open and use and learn as you go.
Re: You Don't Need a GUI
#400Earlier quoted context omitted.
I like your point about discoverability. What if there was such a thing as a right click menu for command line programs? Like if I type ffmpeg or youtube-dl with no args, it lists the 3 most common ways to use it, and maybe allows an interactive CLI menu where you can build up the correct argument list by answering a few questions. I would love the most useful commands to look like: ffmpeg --resizeVideoTo input.mp4 5…
That's what aliases or shell functions are for. Put them into your .bashrc/.zshrc/.whatnotrc and you can have commands like that, without messing up the fine tools you mentioned for the rest of us. Just drop the first space. ffmpeg--resize-video video.mp4 50% .bashrc: ffmpeg--resize-video() { ffmpeg ... "$1" } You'll have added benefit that ffmpeg-- will suggest you only your own UI, without interference from the too…