IMHO UI usability hasn't been Apple's strong suit for a long time. In fact, as someone who has to use both Mac and PC, MacOS is just as terrible in many ways in not worse.
What they do well device integration usability across their ecosystem.
Hard to pick a 'worst offender', the System Settings panel in Ventura may be a good example, it is a literal struggle every single time I need to change something, typically as a result of some setting mysteriously changing itself back to what I do not want.
I haven’t yet installed Ventura. I had to downgrade from Monterey because the cmd-L keyboard shortcut had stopped working on Contacs.app
Therefore, the problem of GUI design becomes one of navigating the complexity/depth-of-knowledge curve, as much as it does creating a usable set of features at each point along it.
The most egregious offenders are the latest Windows, 10 and later, IMHO. When I was a kid, (coming from the world of RISC OS which had a much shallower GUI) trying to understand the big deep Windows interface, I joined the dots by telling myself "This is how they put it together. This is how they are trying to make the things work consistently and in concert." I rarely broke out of that story-telling loop.
Now, when using Windows 10 or later, and a few clicks brings one to a Windows 2000 and before-era network dialogue box, the "fourth wall" as it were, of GUI design is broken, the story-telling loop above is replaced by a jarring feeling of bewilderment or all-too familiar frustration, and it's obvious they are shipping the org chart, and doing so over time, as much older GUI components are still available.
At the risk of sounding nihilistic, I fear that both OS X and Windows have reached their respective local maximas of design, and we won't see any changes for the better (by the above metric) any time soon.
Operating systems should be modular, allowing the user to reduce as much bloating complexity as possible and needed.
I do not need unstoppable “gamed” and “studentd” services on my computer. The sealed system implemented by Apple has actually meant the overthrow of the root user by the corporation. Now I can’t reduce complexity, bloatware.
The only solution seems to be praying that BSD or Linux become useable one day
Yup, updated my comment to clarify that point -- thank you. "the overthrow of the root user by the corporation" -- damn. Good turn of phrase :-(
Modular systems have more possibilities, which means some of those possibilities might not work, and then you might find yourself unable to use an app without reconfiguring in a way that breaks some other app.
They are great for tinkerers and specialized applications, but for people who want things to Just Work, every time, no matter what, even at the cost of zero hacker friendliness, Android's model seems to completely blow Linux away.
We should still have root(I think lack of that might be part of why Android hasn't started taking over other markets), but there should be obvious and standard ways to do common things.
I don't think it's clear that those reasons have much to do with any property of the OSes though.
The rest of the OS would be a nightmare today for so many reasons; but the UI was fantastic.
The only thing I didn't like about MacOS was occasional system lock-up and application crashes due to real multi-threading. Back then, when your Mac crashed, it crashed hard... like your cursor didn't move. ;-)
And the window management as a whole seems like a case of form over function, with no way to see what windows are actually open, or switch between several of the same application, without multi-step processes (Expose/MC or cmd-tab cycling)
On other hand a menu bar at the corner of the screen has an infinite size if you are using a mouse, a trackball or a touchpad. But it's size is finite if you are using a touch display. Let me explain what I mean with infinite size. You can overshoot arbitrarily far when using the mouse and you would still be inside the menu, since top of the menu is the screen corner.
While writing this, I've noticed that in a maximized Firefox under Gnome this isn't true anymore. There is at list one line of pixels above menu. When you click on them nothing happens. Therefore I cannot overshoot anymore. Another failure of modern UIs.
Printing by both sides? Not supported, you must do it by hand. And some apps print the pages in reverse order, so you end up having to sort the pages.
Use numberpad . as . instead of ,? You have to download an app to use a sane default.
Alt+. in terminal? No luck if you aren't using an English keyboard.
Run a downloaded app? Run it, accept failure, settings, security, look for blocked app, enable it. It is even worse than Windows Vista.
Give some app permissions? Yeah, you must know which permissions, as you cannot search by app...
And so on...
In Mac you need to print first one side, move the pages manually, print the other side. But you have to remember to add an extra page if the page count is odd, have caution if an app tries to be intelligent and sort the pages in a different way...
In Windows all those calculations are done by the system. It is easy! Just print and follow instructions. In Mac is painful.
When you can't discover things yourself, that annoying AI voice-assistant might become needed.
MacOS went downhill when Jonathan Ive decided to throw out all colors in favor of the 'content'. To this day I spend too much time deciphering blue-greyish icon shapes in the Finder's side bar.
As someone who likes working on a single screen I typically like to open things in full-screen mode by default.
MacOS plays a sluggish animation when switching between screens. You can't turn it off, you can just switch between two similarly slow ones.
I can't imagine a good reason for this. What is their model of a user and how did they derive "slow animation when switching windows is good" from that?
Perhaps:
System Settings... Accessibility > Display: Reduce Motion
I want to speed up or eliminate certain decorative things, like this particular animation. Since there's no obvious no-side-effects way, I just grumble and occasionally rediscover UI performance when I use some other system.
Personally, I want for what I asked to happen to actually happen when I press a button, but I am far and away the minority.
What’s even worse, is that developers today have taken this “people love animations” stance and decided “hey, we can get away with utterly shit tier performance by just making an animation!” And so 15 second page loads are now the norm because you are rewarded with a few fade effects now and again.
And now the “fuck performance” has invaded literally everything.
We now even have technology being built for the express purpose of letting developers off the hook for performance characteristics (Look hard at you DLSS). Somehow, the general public has decided that DLSS is an optimization, and not actually just a way to not optimize at all. In the conversation of Starfields utterly dogshit optimization, the first “optimization” always brought up is DLSS.
Our industry is completely fucking sideways.
And it's not just the first time. Every time you refresh the page, 7 seconds. And they have the audacity to call this towering pile of javascript nonsense "simple": https://www.discourse.org/about
It breaks my heart how much precious time and nerves of these users we're wasting.
They use outdated devices, that still should work perfectly fine, but are grinded down by extremely slow programs.
They don't understand many of the fancy UI patterns _at all_. UI elements without text are the worst offender. Animations and hover effects routinely and reliably get in their way.
They get confused all the time because their UI changes: "I could always click the frobniz here, but now it's gone and everything looks different."
Their system is basically stuck in "dark patterns".
Their internet connections are often relatively slow and unreliable, but common software assume that it's always available going full blast.
To do even basic tasks, they are nudged into registering to this or that, when often a simpler, less invasive solution exists.
They spend ungodly amounts of time navigating stuff, while getting distracted by notifications, misleading information and so on. Often giving up in complete frustration.
Those are only second worst. What's worst is when there's also no border or any other indication that it's interactable rather than just an icon. Actually, that's only second worst: I've seen radio buttons used for multiselection. That goes beyond merely unhelpful to outright trickery.
I can’t for the life of me understand why it’s a good idea to hide the close button for notifications or virtual desktops behind a long mouseover on any spot that is not the actual location of where the close button pops up.
This is hurting discoverable portions of the interface, probably in the name of looking sleek, and once you have learned that something exists somewhere behind that hover animation you can't easily target it because the actual target area is not visible and active until after you have moved the mouse in the exact area. Most egregious is the Music app as well as notification actions.
Edit: Another issue is the lack of distinct draggable area in window titles, never understood why one pixel makes the window draggable, then the one below which looks identical is not.