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



## Alain De Vos (Mar 28, 2022)

As example i would give Microsoft or Android.
Is there a process which forces and makes this. An underlying explanation.


----------



## mer (Mar 28, 2022)

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"


----------



## Crivens (Mar 28, 2022)

Search for "windows shut down button crapfest", that will tell you some things...


----------



## grahamperrin@ (Mar 28, 2022)

Not solely commercial. 

There's as much, if not more, non-intuitive UX (user experience) with open source.


----------



## kpedersen (Mar 28, 2022)

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.


----------



## jbo (Mar 28, 2022)

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.



grahamperrin said:


> There's as much, if not more, non-intuitive UX (user experience) with open source.


FreeCAD anyone? 

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.


----------



## Crivens (Mar 28, 2022)

What I meant was this.
With those processes, what do you expect? This is where a flock of golden ducks enters the scene.


----------



## mer (Mar 28, 2022)

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.  


jbodenmann said:


> 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.


----------



## freezr (Mar 28, 2022)

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.


----------



## msplsh (Mar 28, 2022)

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...


----------



## Beastie7 (Mar 28, 2022)

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.


----------



## Profighost (Mar 29, 2022)

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.


----------



## mark_j (Mar 29, 2022)

kpedersen said:


> 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.


----------



## mark_j (Mar 29, 2022)

Beastie7 said:


> 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.


----------



## kpedersen (Mar 29, 2022)

mark_j said:


> 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.


----------



## mark_j (Mar 29, 2022)

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.


----------



## mark_j (Mar 29, 2022)

jbodenmann said:


> 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.


----------



## 6502 (Mar 29, 2022)

Alain De Vos said:


> 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.


----------



## grahamperrin@ (Mar 30, 2022)

Food for thought: features of Mac OS that preceded the dock in Mac OS X …


  

…​


----------



## grahamperrin@ (Mar 30, 2022)

Above: *Control Strip* and *Launcher*.

Below: *Application Switcher*.

    

The capabilities of Application Switcher were not realised by most users.


Image credits:

Anything similar to Mac OS Control Strip? : linux
Launcher - Mac OS 9: Visual QuickStart Guide [Book]
Launcher | Apple Wiki | Fandom
CBTCAFE :: Mac OS9.1 Tutorials


----------



## mer (Mar 30, 2022)

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.


----------



## _martin (Mar 30, 2022)

kpedersen said:


> 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.. ).


----------



## mer (Mar 31, 2022)

_martin said:


> 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


----------



## kpedersen (Mar 31, 2022)

_martin said:


> 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.


----------



## _martin (Mar 31, 2022)

kpedersen said:


> 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.



mer said:


> 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.


----------



## grahamperrin@ (Apr 1, 2022)

grahamperrin said:


> Food for thought: features of Mac OS that preceded the dock in Mac OS X …





mer said:


> Control strip: gee almost all modern "taskbars" look similar, don't they?
> Launcher: a "window" version of Dock.



Control Strip was less for tasks, more for easy access to things that were controllable with Control Panels. 

Logically: without the strip, these types of control would have belonged at the top of the screen, to the right of the menu bar. The bar was minimalist, so we gained a collapsible, movable strip that was popularly at bottom left – where it was least likely to interfere with elements of windows.

I think of Launcher as a predecessor to (2011) Launchpad, mainly because Launcher and Launchpad grouped things in a way that Dock could not. 

Dock was the first thing that _really_ split the UI into top/bottom. 

Years after abandoning Mac OS X: I still prefer things at top left, and a global menu bar.


----------

