News for hackers. Stuff that matters.
Re:CLI user experience case study by nkrisc on Friday January 12, 2024 @09:33AM (#38968386)
The biggest issue I’ve see , particularly regarding your first point, is simple discoverability of capabilities.

It is very difficult, at least initially, to even begin to discover what’s possible in a terminal environment.

There are so many important things that a new user simply needs to be taught, or they will likely never discover basic functionality - such as how to even open, read, and navigate the manual.

The UX barrier to entry is very high without hand-holding or extensive online searching and a strong willingness to persevere in the face of adversity.

GUI applications (generally) solve the initial discoverability barrier by simply showing you what’s possible.

I remember being a kid looking at DOS and wondering “what do I even do?” It was essentially a blank screen with very little indication of how to proceed. My dad had sticky notes on the monitor with the commands to enter to run games.

I never really looked at a command line again after I started using the Windows desktop until I started really learning programming after college, and it was just as daunting at first.

Re:CLI user experience case study by 082349872349872 on Friday January 12, 2024 @06:52PM (#38975766)
> important things a new user simply needs to be taught, or they will likely never discover basic functionality

In the ancient times, we'd say "RTFM" to people who attempted to "discover" functionality instead of Ring the Fing M.

Re:CLI user experience case study by dullcrisp on Friday January 12, 2024 @07:39PM (#38976146)
Well maybe that was the problem.
Re:CLI user experience case study by 082349872349872 on Saturday January 13, 2024 @03:01AM (#38978095)
Imagine if people had to discover algebra instead of learning it. We'd probably still be subject to the whims of kings and priests.

(to what extent have we made progress in software by standing on each others' shoulders instead of each others' toes, and to what extent have we been fortunate that the EEs have been standing on each others' shoulders this short century?)

Note that I'm not anti-discoverability in general — it's just the ticket for GUIs. I just happen to believe that attempting to make CLIs discoverable would nerf their greatest power: that single-character changes can have drastic effects on behaviour. We have high display bandwidths, even in our pockets, so why not have GUIs for infrequently used software and CLIs for power used software?

Re:CLI user experience case study by palata on Friday January 12, 2024 @07:29PM (#38976061)
While I understand (and agree) with your point about a GUI "showing you what's possible", I would like to add some nuance:

1. People have to learn the basics of the GUI. Take someone who lived 50 years without seeing a computer and show them Windows. They will have to learn that they can move the mouse, left/right click, and even move while clicking. They will have to learn that some parts of the UI are interactive (e.g. buttons) and others aren't. It is not as intuitive as people tend to imply. My father still double-clicks on elements that - to me - obviously don't require a double click (like a hyperlink). And many people are completely lost if you move them from their Windows to macOS or some Linux UI. Or even between two flavours of Android.

2. Once you know the basic of GUI ("there is a start menu", "I can click on buttons", ...), the UI does not show you that there exists apps like Photoshop to edit pictures, or like Slack to talk to people. You have to somehow learn about the app from somewhere, install it, and only then you get their UI that "shows you what's possible".

I would argue that the CLI is actually quite similar. Once you have learned the basics ("I can change directory", "I can `man cmd`"), then you have to discover apps somehow (e.g. a friend saying "install git with `apt install git`"), and then you can just open the manual with `man git`, and it will most definitely show you what's possible.

The difference, I think, is that people generally don't really want to learn the CLI (it "looks old", I guess?), and many apps don't provide proper manpages (pretty sure most developers don't know how to even create manpages, or package their app for their distro).

Re:CLI user experience case study by mjdiloreto on Saturday January 13, 2024 @09:12AM (#38980053)
You missed the big difference between the GUI and CLI. Even if the GUI is completely unfamiliar, and you have to learn it, you can still see the different buttons, menus etc. They often have icons or text that hint at what they do, even if you don't know exactly what they mean.

With a CLI you have absolutely nothing. There is nothing to see at all, nothing to even begin to interact with to discover the capabilities.

Re:CLI user experience case study by palata on Saturday January 13, 2024 @03:19PM (#38984127)
> With a CLI you have absolutely nothing.

I kindly disagree :-): I would say that with the CLI you have the exact equivalent: man pages.

Just like for a GUI you have to know that by hovering the cursor about an icon you will get some text description, with a CLI you have to know that there are man pages. And just like a bad GUI may have cryptic icons without any description text, a bad CLI will have no manpage. But we should compare a good GUI to a good CLI, to be fair.

Re:CLI user experience case study by dleink on Monday January 15, 2024 @01:13PM (#39004064)
I agree. In the CLI I have a blinking cursor. If I press keys I see characters. If I press enter I get a response[0]. I do need a further invocation to get help, but that's easy enough.

[0] admittedly a holdover from the typewriter, but even presented only a keyboard and a screen I've had a kid realize that one special key makes the words go vertically instead of horizontally.

Re:CLI user experience case study by funcDropShadow on Tuesday January 16, 2024 @02:51AM (#39010617)
There is no reason why a better shell couldn't show tool tips over command names or flags, assuming there is support for it in a terminal emulator. Even without support from the tooltip it would be possible to show some info about the thing below the text or mouse cursor in a designated area of the cli.
Re:CLI user experience case study by Qwertious on Wednesday January 17, 2024 @08:28AM (#39027339)
Hi, I've never used a computer before and my first time will be a CLI. What is a man page? How would I discover what it is without first knowing it exists?
Re:CLI user experience case study by palata on Tuesday January 23, 2024 @05:27AM (#39101623)
I believe this is a wrong assumption. People have to learn the basics even to use a GUI. Because they grow up with GUIs does not mean they have not learned they way around them.
Re:CLI user experience case study by nkrisc on Thursday January 18, 2024 @06:45AM (#39040612)
And how does one discover the “man page”?

In most GUI applications I can at least find the word “help” of I look around.

Re:CLI user experience case study by palata on Tuesday January 23, 2024 @05:29AM (#39101642)
That's part of the basics you need to learn about. You also have to learn basics for the GUI, it does not come to babies by instinct.
Re:CLI user experience case study by funcDropShadow on Tuesday January 16, 2024 @02:48AM (#39010597)
> Even if the GUI is completely unfamiliar, and you have to learn it, you can still see the different buttons, menus etc.

Unless the GUI uses some material style nonsense. Then you have to guess where buttons are. Menus are so uncool. Every modern emacs distro starts with disabling them. Mobile apps have replaced the menubar with the hamburger button by necessity. Modern desktop GUIs have copied that despite it clearly being worse on a desktop than a menubar.

Re:CLI user experience case study by Exoristos on Friday January 12, 2024 @07:33PM (#38976093)
> I remember being a kid looking at DOS and wondering “what do I even do?”

The DOS we had came with a few-hundred page manual. The same for any major programs that ran on it. These must have been exhaustive, as I don't remember being stuck at any point, honestly.

Re:CLI user experience case study by atoav on Saturday January 13, 2024 @12:10AM (#38977506)
[delayed]
Re:CLI user experience case study by SoftTalker on Saturday January 13, 2024 @12:25AM (#38977576)
I disagree that GUIs show what is possible. I am often baffled by my iPhone as to how to get it to do something. Even Apple's own apps are wildly inconsistent.

Once you learn "man" and "man -k" the cli environment is emminently explorable, and it's not just "try poking at it and see what it does" it's all laid out in written documents that you can read in advance.

Re:CLI user experience case study by lelanthran on Saturday January 13, 2024 @12:22PM (#38982129)
> The UX barrier to entry is very high without hand-holding or extensive online searching and a strong willingness to persevere in the face of adversity.

I dunno if it is all as high as it appears. I learned to navigate and use Unix type systems in the mid 90s, with only terminal access.

Internet was practically non existent and gopher was still (barely) in active use.

So, yeah, for a start, I don't know if extensive online resources are necessary. For example, I learned most of bash from the bash manages.