There probably even is a button or a sequence of ui actions in your system for half of things you wanted. But these are less discoverable than a bash pipe available right there on SO, three clicks away rather than ten+ that will change location and names with the next update. It becomes hard either way, but only a stable and replayable way wins.
No they don't. Normal people don't have programmers on call. They google the error message and do whatever the classiest-looking page they find tells them to do, which usually starts with opening the Control Panel. Honestly, the same thing that programmers do when they hit something they don't understand, except programmers are better evaluators of classiness irt help pages (due to the mental model.).
Folks will come and ask for help but then you have to tease out of them what the problem was. The entire idea of "I got this error; I will look up this error" is _foreign_ to most normal folks. It is grand when they came with an error message in hand.
But even when someone has an error message, they often turn their brain off: I worked with a developer who would send screenshots of a text error rather than just copy and paste it, which would force one of us to retype what he wrote into a web search.
I've worked with one like that. I got fed up so I just took to walking back to my desk and telling them to google it to see what the general consensus is, when they can tell me more about it I'll come back. Did that enough times till they got 'used' to not being lazy and at least tried to understand the issue before yelling for help.
Was harsh at the time but they knew they were being lazy and as devs we are paid to find solutions. I think that's the critical thing in this, we're not only incentivised into naturally and habitually finding solutions to things, but also we are failing when we don't. We're failing for our expectation of our own analytical capability. Also we work with devs, or dev-like people so we get used to talking to people who will either keep up with us when we're rattling down a rabbit hole of thinking, but sometimes will gleefully join us in it to try to find the solutions.
I think that's the crucial thing here. We're applying our expectations of ourselves/peers into personality traits that find solution finding completely alien, who not only don't think 'this is for me to understand', don't even approach the thought that they can potentially do something to fix it, even at a very small level.
The things we do everyday as easily as breathing, to a lot of people is magic, and that's really not a good thing (“Any sufficiently advanced technology is indistinguishable from magic.”).
I worked with someone who did this too. Would also commonly send screenshots of code we were discussing.
"Dude, I need to see this code in context, can't yous end me a link to the file / line in Github?"
If you're not aware of tldr [0], I highly recommend it.
[0] https://tldr.sh/
At least we're past the bad old days when you'd open a man page and it would just be a stub saying "look at the info docs, IDIOT"
What are you thinking of that is example-less?
All in all, I find that manpages on Linux are usually pretty good, particularly compared to systems like MacOS where many daemons and utilities seem to have no manpage at all. People are far too quick to slag manpages, which probably has something to do with the `man` utility itself being a bit archaic. Common Linux desktops could probably do a better job of advertising GUI-based manpage readers like khelpcenter.
But also I can't imagine what good more examples will do anyway. `-lahR` cover the vast majority of common uses.
For me, 99% of the time I use -ltrh and -ltrha. But instead of -R, I use other utilities like fzf, find, or tree. Tree is really nice for a quick overview of directory structures.
This is what microsoft did well with powershell's help system. They have examples. Tons of them.
Why man pages do not is beyond me when most of the time, an example or two is all we need. I bet most people go to the man pages and then google for examples because the man pages weren't helpful.
Simple and easy are not the same thing.
I loled at the beginning, when he talks about (in 2011) how "all I see on hacker News is people talking about how great and awesome all this new stuff is and nobody ever questions it, asks if this stuff is adding more problems". The culture must have shifted in the interim.
In a big enough organization, document sharing setup and program installation for non-technical users should be performed by sysadmins. There's a good chance if someone needs something, everyone will need it, so with proper device management tools they can make it discoverable/preconfigured for everyone.
...and I write this partly in jest as I absolutely would use that.
https://en.wikipedia.org/wiki/Man_page#Manual_sections
You usually don't have to care unless you're writing them because it only matters to a user when there are man pages of the same name in multiple sections.
There should be a library that makes it easy for developers to include a basic GUI with a CLI
I didn't see a need to add a GUI as a web browser will do nicely.
And yet, in the world of GUIs, discoverability is getting increasingly rare. I don't think it's prioritized at all anymore.
And I'm utterly lost. At one time, Apple was said to be the high priests of user experience, with intuitive interactions that would just work the way you expect. This seems to have fallen by the wayside, pushed out by making it more sophisticated I suppose. Because things that I do instinctively on Android, I just can't figure out how to do. I've had the phone a week now, and I still haven't figured out how to do a "Switch App" (like Alt-Tab). A few times I've accidentally hit it, but I can't figure out what the trick is.
I don't mean to say that it's objectively bad, but it sure has erected a wall against anyone who might migrate from Android.
oh wow that's awesome. consider my hat truly doffed
I don't think it's the iPhone's fault. I think it's because I am used to Android.
Both Android and iPhone are very unintuitive and lack discoverability. You learn how to use them with experience.
People say that, I always wonder how much of that was true. It took me three days to figure out how to get my iPad Touch to stop repeating a single song. I don't know how a single song got selected on repeat.
There are. For example, in Python, Gooey provides that. [0]
Oh and "memorise a seemingly meaningless sequence of text" makes no sense as all sequences of text are meaningless until we assign them meaning which is what you're doing learning a CLI.
Of course you disagree.
All the examples - installing and using a package manager, running a command line program - are "simple" from a software point of view, but they're not at all "discoverable". To understand the steps you need to memorise a seemingly meaningless sequence of text.
Of course, the programmer has a very strong underlying model of all of this, and so these commands seem straightforward. But even for a programmer, this stuff isn't very discoverable. I'm frequently stumped by man pages, and end up having to hunt down an example of how to use a particular command line application on Stack Overflow. I've been using linux for decades and I still often can't find where an applications binaries or config live, and I still very often have to type some magic incantation I found on Stack Overflow into the command line, because my mental model of some subsystem of Ubuntu isn't complete enough to know it. None of these things are discoverable - I've got more patience than most in searching Google and Stack Overflow, but it's not exactly a desirable way of using a computer. I would prefer it if there was a nice button in the system settings that did what I wanted.
When things aren't discoverable, they become hard. And people don't generally like doing hard things. That's not exactly a revelation.