Those people that don't even know what save means and scatter files across all devices in the locations suggested by the applications, using whatever was suggested as default name.
These are the people that macOS, Windows, Ubuntu/GNOME, browser based OS cater for.
I share the same feeling every time I have to dig into Chrome or Firefox settings, specially on Canary.
I mean, there's a tradeoff - by catering to the use cases of the common man, you're limiting them to your interpretation of what the common man's use cases are. Computers are tools for creative problem solving - limit them too much, and you're literally taking away almost all the reasons to have one.
I particularly dislike ideas like "hide full path of folders" or hiding extensions for known file types - because it's in fact confusing the common man in a misguided attempt to help them. The filesystem and the way the OS interacts with it is a set of abstractions. Hierarchical folders and associating files to programs via name extensions isn't that hard to grasp. But when you obscure that abstraction, paper over it with some nice display features, you're taking away the ability of a common man to ever understand what's going on. When before one could be expected to maybe figure out a mental model for those things, now it's close to impossible - because the OS is lying or refusing to divulge essential information.
So I actually agree with dozzie's parallel comment. By treating users like idiots, we're turning them into idiots. And since "pros" are a market niche, we're literally turning mainstream computing into toys for idiots. It's a waste of potential, IMO.
Many developers don't rely on the OS API to check the file contents and use a simple extension checking.
My parents both started using word processors in the days of MS-DOS and they had no trouble grasping the idea of files and directories, or that a WordPerfect file ends in `.wpd`.
Actually a lot of people seem to struggle with it, I used to run training courses on a product that had a tree based configuration. As soon as you got beyond a basic list and started building a hierarchy half the class would fade away.
They didn't care, but every one understands it. Then there is also the basic belief that everything to do with a computer is hard, so they've already decided they can't understand it.
Tax returns > home > By year > (this number is federal, this other number is state)
Tax returns > business > By year > (this number is federal, this other number is state)
We use standard filing and organization like the a basic file system all the time, people have decided that it's hard on a computer.
Trees are not a trivial abstraction, but they aren't also hard.
Or, using telemetry, user studies and more, you can actually figure out what those use cases are. It's not rocket surgery.
Or you end up convincing yourself into thinking your own preconceptions are actually the real use cases. It's like social science, except most software development companies haven't heard of any kind of scientific rigour. Not to mention the study tools are broken on purpose too; it's not unheard of that people writing e.g. analytics / A/B-testing tools optimize them for the "wow it works" aspect - successfully, because most companies using them don't know squat about stats.
That said, even if you identify the right use cases, there's the orthogonal aspect of whether your tool will allow for those and only those use cases, or if it is a more general one.
Another thing is not just handling adults, but younger people. Of course there are some kids that may take a keen interest in OS internals, but then there are those who will keenly take advice they see on the internet to delete System32, so there's the need for some degree of 'safety'. Although I suppose I'm extrapolating a little, as it's pretty easy to shoot yourself in the foot in most OSes nowadays anyway, in spite of the default protections Windows/macOS offers.
My opinion is that the average Joes and Janes are not idiots. We're just turning them into idiots. They're much smarter than the industry practice would give them credit for. Ask them to learn something, and they will. Just that nobody today wants to expect learning from people. Everything is supposed to be so simple, that it can be mastered in 5 seconds of initial exposure. Of course this goal isn't possible except by dumbing the thing down so that there's nothing your product can do that can't be mastered in 5 seconds.
You have a good point about abstraction - it isn't a bad thing. We reduce insane amounts of complexity to the level a human mind can handle by layering abstractions on top of more abstractions. But the particular example of "features" like hiding file extensions or full paths is something else. It's creating a second, disconnected set of user-facing abstractions that obscure the real ones. The OS is literally lying to you in an attempt to make itself "less scary", but in the process taking away your chances of building a working mental model.
Average Jane and Joe aren't dumb, they can figure stuff out. Just look at anyone who ever did anything with accounting - they're all probably Excel whizzes. Your random teenager can likely hack the Steam client in and out. People can learn stuff when they're expected to. They're not dumb. We're making them dumb though.
> Of course there are some kids that may take a keen interest in OS internals, but then there are those who will keenly take advice they see on the internet to delete System32, so there's the need for some degree of 'safety'.
Honestly, that's how you learn. In today's age of cloud-backup-everything, there's little pain and all gain when a kid bricks the OS and has to figure out how to reinstall it from scratch.
And they willing to pay (by money or by privacy) for the products that allow them to continue not knowing.
Plus, all the individual settings are searchable through the Start menu or the search box in the Settings app.