Why do commercial companies make operating systems which are none intuitive ?

The OS or the User Interface?
I'd argue that you are referring more to the User Interface not being intuitive.
And I'd agree with that point.

Seriously, Windows "Press the start button to shutdown"
 
Windows is shutdown /s to shutdown. Close enough to FreeBSD/Linux I suppose. The lack of real job control (or even task switching) in powershell is pretty weak and unintuitive however. Even MS-DOS and DesqView did a better job of this.

The graphical user interface is just as crap as open-source these days. Try not to use that.

Android is a mobile OS. Just like iOS, it is unintuitive by design due to lack of usable screen space and lack of effective pointing or typing device.
 
As usual I don't want to try to pick sides here but rather just try to convey the importance of perspective. Things are often not as obvious as they might seem once you start diving into them. This is also the case for UI/UX design & implementation.
As I'm the author of a graphics & GUI library used heavily for HMIs (Human Machine Interfaces) I have a lot of experience working with UI/UX designers.

That being said, there are almost always specific examples to make a specific point. There are usually exceptions, extremely good examples, extremely bad examples and so on.

There are in my opinion a few important points to this:
  • Microsoft puts a shit ton of resources into UI/UX development. Just as there are extremely good & talented software engineers there are also extremely good & talented UI/UX designers. However, just because something is well thought out doesn't mean that it's always possible to implement this. Microsoft Windows is a good example for this. While the UI/UX specs they have (of which I've seen some) are pretty good it's often not possible to implement them fully/completely due to other constrains such as backwards compatibility (as seen in Windows 10).
  • (Software) engineers are notoriously bad in following UI/UX design guides & specifications. Often the most subtle differences that an engineer might deem "non-important" would go a long way.
  • Whether something is considered intuitive is not only a subjective interpretation but also specific to the context. For example, mer asserts that using the "start button" to "shutdown" is unintuitive. From the perspective of a UI/UX designers, this might be very different: Start may signify the generic entry point to any action. An action might be opening a program, searching for a file or initiating a shutdown sequence.
  • Often something seems extremely intuitive for a party having worked on any particular system. Stuff might seem blatantly obvious & intuitive. Then you hand it to someone else and they go "WTF?" in the first five seconds simply because of different experiences and often also expectations. Generic terms such as "Task", "Job", "Process", "Preferences", "Settings", "Start" and so on are often interpreted in a different context based on the individual faced with those terms.
  • Something like Microsoft Windows and Android faces a HUGE user base. Dozens to hundreds of millions of user all with their own experiences, expectations & culture. Something as simple as "start" might be perceived very different by an individual from an Asian culture compared to someone from an American culture. There are a lot more nuances to this. Designing a UI/UX for an English based audience can be very different from doing the same for an Arabic based audience simply due to differences in the underlying culture. Simply translating on a linguistic level is often not sufficient.
There's as much, if not more, non-intuitive UX (user experience) with open source.
FreeCAD anyone? :D

No but seriously: It it is extremely challenging & resource intensive to specify a good UI/UX and then also implement it that way. This is something where most opensource projects not only lack the funding, but also other resources to do so. OpenSource projects are nutorious for being one-sided. Usually the bulk of the participants are engineers. And often these engineers are either not equipped or simply unwilling to cooperate with individuals from other essential fields such as graphics, UI/UX designing. After all, we engineers always know best, right?

To circle back to OP's question: Often these "commercial companies" are facing a much larger user base with a high variance of experiences, expectations, backgrounds and cultures. It's very hard to design a UI/UX that is pleasant to most of them. Furthermore, as they are commercial companies they have also non-UI/UX and non-technical decisions to make. In case of Microsoft Windows, backwards compatibility is a big aspect. Hence we've seen situations like in Windows 10 where you get new stuff and old stuff (in terms of UI/UX) which might not help a new user but is very relevant to the hundreds of millions of existing paying customers.
 
jbodenmann Good stuff. I should have clarified that using the start button to shutdown is unintuitive to me :)
A lot of your points are very good and reminds me why I prefer OS/device driver level.
It it is extremely challenging & resource intensive to specify a good UI/UX and then also implement it that way
100% agree with this. Just like everyone has preferences for cars, colors, shoes, coffee (although why is there anything but black, caffinated coffee), how a UI/UX works can be driven by a users preferences. The way to overcome this is consistency. That was the
appeal of original MacOS: consistent, solid hard guidelines for how a program looks and works to a user.

I've used systems that I did not like the UI/UX from a personal POV, but everything was consistent; that made the system at least useable to me.
 
There are legacy UI stuff in Windows as well as in Android that you can't change anymore because people expect to from there.

If you change those you will receive complaint by your costumers, therefore if you want do these changes you must start a communication campaign 6 or even 12 month earlier, and that costs tons of money! It is just easier leave these stuff as is and people used to.
 
Nobody, including the creators, has the capital, the time, or the inclination to re-architect large projects like what you describe. For the specific examples, the systems evolved in response to users of the system at the time, thereby building up affordances over time that are now inscrutable to newcomers.

Take FreeBSD for example...
 
I'd like to offer my very personal ideas of explanation (essay) to the question, why there are non intuitive OS by commercial publishers.
And I like to put my focus on MS Windows, because I don't know Android and I find Apple's Mac OS (at least the older version) not as such not intuitive at all (there are many other issues against fruit, but leading off-topic.)

At first it's hard if not impossible to really hit the target of what everybody experiences as what intuitive is. Design a one-size-fits-all actually means it does not suits anybody perfectly really.
A turnkey OS or to be more correct a desktop environment is a forethought collection of ideas about thinking structures. If your thinking is structured otherwise you cannot be satisfied with it.
For small and simple systems, such like smartphones or other devices with only a few functions, this ain't no big deal. But with a computer everybody has a many different jobs to do. So a one-size-fits-all even must fail if you get the same (G)UI for CAD, IDE, writing Text and configure the system.

But this wouldn't be a real problem if four points are met:
1. Design it as logical and intuitive structured as possible from the start
2. Make it as customiziable as possible (including offering completey different UI possibilties [shell/desktop])
3. Improve it, make it better
4. Make it worth to learn it

FreeBSD meets all four points of it, being fully aware that point 2 cannot be matched if you stay limited to full automatically self-configuring single-user-desktop-game-launch-and-a-bit-office-turnkey-OS, and 4 also means: if it's worth to learn it, the users learn it, thus opening way more option on 2.

There is an inharent trap.
You cannot have all: Full customizations, so meeting maximum of personal intuitive usage, thus meaning more than just shallow control and system's configuration, and closed code for commercial software. Neither as less complexity and most easy use as possible is disparate with adaptivity, flexibility and customaziablility.
One have to find a compromise. And this for itself is a major part of customazition already.
Microsoft takes this burden from its users and decides how the compromise for their customers looks like.
This is a trap for customers/user. For a commercial publisher like MS it's an opportunity.

Microsoft does not do any of them four points. Customers are suggested that it seems, but it's not.
As they launched MS-DOS and later Windows 3.11 much better logical strutures and intuitive usages would have been possible at that time as shown on already existing other systems and by respecting basic laws and experiences by over 40 years of computer science and UI.
And they didn't made it better. Windows became larger, got more features, became more colorful - faceliftings ("sex sells"), maybe more powerful.... and it's usage changed, but it did not became better, neither in usage, and especially not in intuitive usage.

You may see it e.g. at system's messages. Within a unix-like open-source OS the system produces understandable messages, telling what's up, at least you can retrace them, learn what it means and you have a chance to solve the problem yourself. (Since I don't use any desktop environment but a simple fvwm only, my system does not produce any unasked messages at all, except on e-mail income or when I actively do anything. Otherwise it stays totally quiet and completely silent. It's heaven!)
Windows system's messages can be put into two categories: At first you have "OK-Messages". The computer informs you about anything (mostly inforubbish), and you have no choice but "OK" only. They seem to give the user the feeling of the computer is working and doing a lot for him. But in fact they're forcing the user to react, turning the whole idea of computering upside down by making the machine master and user the slave, stealing user's proactivity, killing his creativity, thus topedoing intuitivity. The user don't need no actual task what to do with the computer, but is kept busy and has the feeling having done a lot with it.
At second most Window's error messages are a complete own computer's gibberish. One has to read them several times suppressing headaches while trying to get any useful clue from it, only figuring out most often there are non. In many cases it's just empty verbiage to impress and put off the user. Most Messsage are a subtle way to tell user:"FU! You're too stupid to get it anyway. Knuckle under and consult somebody else who knows!"
That puts off user to learn the system and much more preventing them to even think of touching other systems. Because even the most ignorant user sees on the very first look: "Other system, other gibberish. I don't get this either. Especially not if it's more text, but just clicking buttons with the mouse."

The customization is restricted to very few minor points only, such as colors and themes - from those you get endless ("Wow! How configurable this system is!" No, it's not. You just can chose infinite looks for the same usage and structure. Best example how's the most user's mood: Putting a picture as desktop background. Pictures and even changing/animated backgrounds actually kill the clearness, are distracting and so lowering the productivity. But they look cool and one can express himself better as with a boring plain background. And if nothing else is to do, one can look for an new background picture aka "work with the computer")

And instead of doing a continuous improvement with every new version of Windows there is a complete new design particulary of the structure of usage and what is where, and how it's named now.
Thus making it unworthy for any user to get actually into it, even it's shallow.
With every new version of Windows things change. Thus it's not worth to really learn it deeply, because in a few years a new version is published you're impelled to switch to. With any new version of Windows things you may have learned may not exist anymore, and several things are completely new you have to learn - and you don't know until the new version is published. And you don't know when even that happens.
Besides that Windows does not offer much depth for their users to learn and it's pointless to learn anything on a system that should be intuitively usable anyway. And if this version is not, the next should be.

So most users don't really learn the system because it makes no sense. They don't want to. They don't need to. They don't shall.
Thus keeping them stupid and dependent.
If you started with Windows, never seen anything else, you don't know better. You don't miss what you've never experienced, such as efficient working on a computer, high quality results or an OS you may understand and control.
If you see anything else, the first thing you smell is effort. And that's waht most users don't want at fewest at all: Even more effort with computers. Because on the OS which promises to be the most effortless to use they've learned, computering - learning computering - is tideous, annyoing. And any other system says truefully it needs learning. And you don't want/need burden yourself with an additional adventures not knowing if it's of any use/advantage, don't coming to the question: Learning once is enough.
So you stuck with it. Most because they don't know better. Being not happy at all, but don't change it, because they don't even know it could be better.
Because that would mean leaving the comfort zone you are placed in unasked, not being aware of how uncomfortable it really is, and how exploitetd and mocked you are.
(More people start to smell a rat since you must pay periodically instead of buying one license for a lifetime.)

Additionally all this gives Microsoft backing support from third sides.
An imperfect system needs additional tools. So outside MS additional programmers working in additonal companies providing/selling additional software.
Anybody uses it, so anybody uses it.
An user of a not intuitively usable system depends on support. Taking classes, buying books and even if it's only the friend who can feel better about himself, because he is frequently asked to help.
And a system which leaps which ever version is also capable for planned hardware obsolence.

So you have a lot of people participating of it and of course not telling you:
"Windows is not good. Change the system!"
On the contrary, they try to ruin any alternative.
 
Windows is shutdown /s to shutdown. Close enough to FreeBSD/Linux I suppose. The lack of real job control (or even task switching) in powershell is pretty weak and unintuitive however. Even MS-DOS and DesqView did a better job of this. The graphical user interface is just as crap as open-source these days. Try not to use that. Android is a mobile OS. Just like iOS, it is unintuitive by design due to lack of usable screen space and lack of effective pointing or typing device.

LOL :), I remember running desqview/dos on a partition of a 40mb? drive (probably MFM) with 386bsd. Was this peek O/S?
Those were the days.
 
I think iOS/macOS is as intuitive as you can get for a desktop/touch experience. There's a reason so many copy it's design language. Windows Aero was pretty simple too.
I would offer that Mac OS 8/9 was also super intuitive and easy to use, especially after the move to PowerPC, just that it didn't have pre-emptive multi-tasking.
 
LOL :), I remember running desqview/dos on a partition of a 40mb? drive (probably MFM) with 386bsd. Was this peek O/S?
Those were the days.
Hehe. I am sure I have forgotten all of the rough edges and complexity by now, but I do remember being largely fond of it all back then.

There was always this niggling feeling that my little DOS PC was not a "real" computer because UNIX was often out of reach for me back then. But I did make do with things like the MKS Toolkit to get a semi UNIX-like environment. And yet now it is so easy to run a real UNIX-based OS that I feel absolutely spoiled. I suppose times did ultimately change for the better.
 
I remember firing up 386BSD with XF86 (?) and having that default tiled window system and about 4 xterms open and thinking, yep, this is the bee's knees! :) Very limited software, nothing like now. Simplicity. Was it better then? Oh of course not, just much simpler. Much simpler to use the OS (far less complex), much easier to learn and so on.

386BSD installed off floppies using rawrite under DOS (as did FreeBSD also for quite a few versions). 700+KB was the size?

OMG, thank goodness we don't have to do that now, you'd die of old age inserting floppy number 4000, wait a few minutes, insert floppy number 4001 ... continue. ?

Maybe those days weren't as rosy as I think.:rolleyes:
 
  • Microsoft puts a shit ton of resources into UI/UX development. Just as there are extremely good & talented software engineers there are also extremely good & talented UI/UX designers. However, just because something is well thought out doesn't mean that it's always possible to implement this. Microsoft Windows is a good example for this. While the UI/UX specs they have (of which I've seen some) are pretty good it's often not possible to implement them fully/completely due to other constrains such as backwards compatibility (as seen in Windows 10)
A, sort of, related anecdote I read once was about System 7.? (can't remember the exact one), [this is Apple's O/S for 86k] and Steve Jobs' need to have Microsoft on-board with Word /Excel (possibly Word 5?) to get businesses to buy Apples rather than IBMs.

He was apoplectic that the design standards for the UI were trashed by Microsoft and contradicted nearly everything Apple had dictated software follow, especially the menu (you know, File/Open).

He had to bite his tongue because Apple needed Microsoft to counter Lotus.

Microsoft has been a constant offender ever since. Windows 10 is, honestly, the worst UI I have ever seen, where there's no left border on windows and windows merge into another. It might have looked good on their failed phone, but it's a hideous beast on a desktop.
 
  • Like
Reactions: mer
As example i would give Microsoft or Android.
Is there a process which forces and makes this. An underlying explanation.
I agree for Android and do not agree for Windows. Don't understand how after tons of criticism for Windows in the last 30 years, now Android is accepted like it is "OK". And it is much worse.
 
Food for thought: features of Mac OS that preceded the dock in Mac OS X …

1648606263468.png 1648606315690.png 1648606362243.png

…​
 
  • Like
Reactions: mer
Control strip: gee almost all modern "taskbars" look similar, don't they?
Launcher: a "window" version of Dock.
GnuStep GWorkspace looks/feels very similar to ApplicationSwitcher.

grahamperrin thanks for digging up those pics.
 
Windows is shutdown /s to shutdown
You can do shutdown -t 0 -s too. If my memory serves ok 95/98 didn't know about that but winxp did.

When it comes to Windows shell syntax (including powershell) - I don't get it. That syntax is just .. well, I don't like it. One could probably make an argument that poweshell makes sense with its object approach. Maybe. But my brain just doesn't get it.

When it comes to "commercial companies" and OS - HP-UX (HP), AIX (IBM) and what used to be Solaris (SUN, now Oracle) are quite intuitive and very nice to use.
AIX's smitty is as user friendly as it gets (it even tells you what is about to be executed in its shiny TUI interface). While Solaris did major changes in its past major releases it always makes sense when you work with that system. Actually, and literally, I was screaming in the office when setting up Solaris server -- "this is how it should be done!" ( I'm looking at you, SCSI stack.. ).
 
When it comes to Windows shell syntax (including powershell) - I don't get it. That syntax is just .. well, I don't like it. One could probably make an argument that poweshell makes sense with its object approach. Maybe. But my brain just doesn't get it.
Agreed. But how about the directory separator slashes going the wrong way? Gets me every time.
I have to have a yellow sticky with:
type == cat
dir == ls
 
When it comes to Windows shell syntax (including powershell) - I don't get it. That syntax is just .. well, I don't like it. One could probably make an argument that poweshell makes sense with its object approach. Maybe. But my brain just doesn't get it.
Agreed. It possibly is quite scalable(?) for scripts but as for an interactive shell, it is pretty much useless. And frankly for scripts, most of the effort is spent converting text from normal programs into objects. Not a good use of time.

You aren't exactly going to want to build up massive OOP hierarchies just to perform quick one-liner tasks. Microsoft made a bad decision here. It is almost like they want to spread lies that "command line is hard".

Smitty was very good. I do wish the concept of first displaying the command intending to be run was more common place. But I think many GUI designers want to hide the fact that all their software is effectively doing is running some random CLI command underneath.

Solaris 9 was great but I personally found Solaris 10's SMF was awkward to use (and to audit / verify). Even worse, Solaris 11's package manager was absolutely bizarre and terrible.
 
Solaris 9 was great but I personally found Solaris 10's SMF was awkward to use (and to audit / verify). Even worse, Solaris 11's package manager was absolutely bizarre and terrible.
I agree. I was not that thrilled with the SMT when it was introduced either. But some things just work so well in Solaris. Creating profiles for services was always something I had to do with an open manual at the same time.

I have to have a yellow sticky with:
dir is ok, easy to write too. type is one of those huh? commands. :)

One from *nix land: I can't stand if alias (or hard link in some cases) ll is not defined in shell.
 
  • Like
Reactions: mer
Back
Top