Comment by neelc
4 years ago
Disclaimer: I work at Microsoft, but not on Windows (and I deal with a SaaS at MSFT). I am a FreeBSD committer and help maintain FreeBSD's GNOME packages and (very recently) the graphics drivers.
The reason why Windows is full of UI inconsistencies is (largely) because of one thing: backwards compatibility.
While backwards compatibility has it's perks, it also means having lots of old code in Windows that can't be touched very easily without breaking compatibility, And that means many old UI elements may stay, that's a side effect.
While desktop Linux/BSD isn't exactly well known for it's UIs, I found GNOME 3/40 to be more consistent UI-wise than Windows 10, being a user of GNOME 3 on FreeBSD at home (which I am typing this comment from), and helping port GNOME 40, while (unsurprisingly) using Windows 10 at $DAYJOB.
But then GNOME, KDE, Apple, et al. is more willing to break things than Windows is. They aren't as bound to legacy compatibility, so old UI elements can be shed easily.
I work on the core OS.
This is the answer. Now it could be done to maintain backwards compat and have everything completely up to date, but the juice is not worth the squeeze and there are more important things to focus on (such as making the OS work/build in such a way that there won’t be inconsistencies in the future).
Asking the obvious question: why aren't the UIs in newer Windows versions not "just" different themes over Win32 widgets? Instead the UI theme seems to be tied to UI frameworks which seem to be created and discarded annually at Microsoft, so each time some genius decides to overhaul the UI, a completely new sediment layer is created instead of letting some UI designers tinker with a theme editor.
I don't get it. Functional UI changes should be different from visual fluff, yet Windows seems to the only OS where the two aren't separated.
This was historically the case, it's why despite the article calling out winver, folder properties, the run dialog as being from the win9x -> win2k period, they didn't look remotely as out of place in win7 as win10.
Of course there are limits. iirc Windows 7 RTM had an obviously 3.1 derived file picker make it into the add fonts dialog until it was replaced in SP1 if my memory has the timing right. Despite using win32 widgets which had the correct theming, that didn't look native at all
1 reply →
There is no such thing as canonical “win32 widgets.” There have always been several different UI libraries even for win32. The original win32 styling you get with CreateWindow doesn’t support modern font rendering, high DPI, doesn’t work well with touch, is only software rendering, doesn’t support latest accessibility features, etc.
The newer stuff sits on top of DirectX.
The latest UI framework (XAML/WinUI) sits on top of a better rendering architecture (compositor) that itself wraps DirectX tech.
5 replies →
I guess one challenge with this is that old school Win32 doesn't really support anything resembling automatic / responsive layout. All controls are of a fixed size in a fixed pixel location. This means you can't for example change the default font, add margin or padding or do any other significant changes without essentially breaking all existing applications.
3 replies →
> Now it could be done to maintain backwards compat and have everything completely up to date, but the juice is not worth the squeeze and there are more important things to focus on
You state that as fact, but I believe the poor UI situation is holding windows back from gaining market share. It’s not just the way things look, but uniformly communicate a single experience. Microsoft used to be very integrated and had an entire ecosystem that was uniform. Letting this go has really hurt the brand IMHO, and creates a very low bar for third parties.
The ecosystem was never uniform. In the 95/2000 days there was a lot of 3.11 UI everywhere, in the 7/8 days a lot of XP UI. Office always had its own UI conventions, often being the playground where new ideas were tested.
It's not so much that microsoft let things go as it was taken from them. When computers became networked we needed ways of easily distributing applications across that network in secure, reliable and always up to date ways. Windows never had a good solution to that (not even today), because every install was fraught with peril, and every app had to roll its own update mechanism. Meanwhile the web was sandboxed and up to date by definition, dramatically lowering the barrier to entry for networked software. Anything that could move to the web did move to the web, which opened the door for chromebooks, which in turn fragmented the OS market, which made it uneconomical for companies to invest in a windows native codebase. Microsoft could have stopped this had they leaned hard into the concept of an app store and sandboxing around 2000, and hadn't stumbled so badly when it came to extending windows to mobile.
I'm pretty sure that modernizing the entire windows UI doesn't change a thing for windows market share. But the reason to do it is not because it makes economic sense, it is because they should have pride in the products they make, and want them to be well-made.
> I believe the poor UI situation is holding windows back from gaining market share.
I'm having a hard time believing that. While some Mac users who are used to a more integrated user experience might be deterred, I'm not sure that the os's ui esthetics really affect windows adoption. My feeling is that most people who use Windows do so because they're either (a) told to use it or (b) they choose to use it because it's the shortest path to doing what they want to do.
I'm sure Microsoft know this and understand the tradeoffs very well
23 replies →
What market share is left there to gain? Ok 17% Mac OS, maybe 5% would switch to Windows?
24 replies →
> I believe the poor UI situation is holding windows back from gaining market share.
Big companies just love to jack around with Windows, and do things like prevent users from changing their desktop backgrounds (in the name of "security," of course), and Microsoft has always bent over backwards to give them the ability to do any stupid thing some corporate IT drone can think of, so they continue to be loved my companies around the globe.
There's a _fundamental_ difference in the way that Microsoft and Apple have approached making an operating system. One treats it like a layer of software in an entire stack that someone else owns and controls, and the other makes PERSONAL devices. And it shows.
And, of course, the Microsoft-slobbering trade press can't imagine a scenario where they don't try to prove that YOU should be running Windows because the numbers -- inflated by the Fortune 1000 -- says it's what "everyone" is running. Meanwhile, more than half the people I know now run NOT-Windows for their personal computing.
Let's break out the corporate purchases from sales data, and then let's talk about actual, personal market share, and whether better UI/UX would help Microsoft in a heads-up battle against macOS or ChromeOS.
1 reply →
For the first half I thought it was sarcasm.
> creates a very low bar for third parties
The bar for third parties was always nonexistent. That was precisely the advantage of Windows which permitted the boom of development for it in the 90s–2000s.
Holding Windows back from gaining on their 90+% market share?
> It’s not just the way things look, but uniformly communicate a single experience. Microsoft used to be very integrated and had an entire ecosystem that was uniform
Their Office suite may have been internally consistent, but I did a bit of software for Windows 2000 (back when it was the latest version), and I found the UI of Windows (in general) inconsistent, scrollbars would e.g. have subtle difference between applications.
I ended up using Qt for my own work, as I couldn’t figure out what was the official / dominant style to follow.
All this, plus the fact that Win10 has become increasingly unstable for me in the last 6 months (random restarts, nasty performance problems with WSL2 etc.) that it simply isn't worth the money anymore, unless you have some apps that only run on widows (e.g. games :))
2 replies →
I hope you jest. Windows has far bigger problems than the uniformity of their UI - there's the whole forced update thing, the whole "we really need to spy on literally everything you do on our OS" approach, online advertisement built and integrated with the OS (based on the spying) ... these are the major issues that they need to fixed urgently if they wish to retain their userbase. Windows has been a continuing shitshow since Windows 8 ...
1 reply →
The juice is absolutely worth the squeeze. Everybody and their grandmas think Windows is a mess, yet theres no real alternative for most people, so there’s no real incentive for MS to make it better (or for a start, stop making it worse with telemetry, forced restarts and adware).
From MS' point of view I doubt it is worth thr squeeze. You have to consider that the average user and their grandma make very little revenue for them. They buy a license with their computer and that's mostly it. Pro users, companies are a big part of the Windows revenue and for them, backwards-compatibilty is the biggest sales point. I agree this is super bad and confusing for many users, but the majority of them probably never go past the latest design Win10 screens.
> yet theres no real alternative for most people
I just don't buy that. Everyone I've ever persuaded to buy a Mac or iOS device comes to prefer it to Windows in a couple of weeks, and I stop needing to fix something for them every other month.
1 reply →
Stating that the UI consistency issues are due to backwards compatibility is stretching the truth to the point of outright deception.
Backwards compatibility is not what stops Microsoft from updating the GUIs for their own components. It is not the reason that the components that have been updated failed to carry forward 100% of the features of the components they're replacing, necessitating the ongoing use of the legacy components. It is not the reason reams of GUIs have gone untouched for 20 years. It is not the reason Windows now has at least 4 versions(!) of Performance Monitor, all of which are broken in at least one glaring way. (More on that below.)
The believable reasons for the GUI inconsistencies I've heard are:
1) API churn, because of which the UI teams did not have sufficient time to work on features versus playing catchup.
2) Bad system GUI APIs that are very difficult for even in-house teams to work with.
3) Unwillingness to take ownership of legacy code, with literally noone left at Microsoft willing to touch things like the ODBC connections panel or the Component Services snapin. People prefer to add new things instead of fixing or removing old things because it's "easier".
Actually, let's just stop here for a second. That last point explains the performance monitor views. I mentioned at least 4 copies, written over decades, by different people. Each new team has steadfastly refused to touch (or remove!) the old code, but hasn't replaced the functionality of the old code, so now end-users need 4 different versions to get things done.
These versions are:
1) The performance tab in Task Manager. The only GUI-based view that exposes some metrics such as GPU temperatures. Only shows a small number of fixed metrics.
2) Resource Monitor, which is opened from Task Manager. The only GUI-based view that shows certain per-process metrics, such as the names of files being touched, or per-connection network stats. Has permanent UI issues that will never be fixed, such as not using the system number formatting in some places, making large metrics unreadable as they change faster than users can count the digits. Similarly, the graphs take forever to change their vertical axes, making them useless 90% of the time.
3) The Performance Monitor MMC snapin. Totally legacy, with un-resizable controls that cut off text. Nonetheless, it is absolutely essential because it provides the only live GUI view of 100% of the performance metrics available in the system. It is also the only way to record metrics and view recordings. It is the only GUI for creating metric logging that persists. Etc...
4) The various versions of Server Manager's performance views, which are so useless that I've literally never used it. Nobody can get their job done doing this, we're all still using RDP to connect to servers so that we can simultaneously launch the three tools above. Why RDP? Because 2 of the 3 above do not support remoting.
I could go on and on like this for hours about how bad just this one aspect of Windows is, let alone the hundreds of other GUIs that have been butchered by bad decision making and internal NIH syndrome leaving a trail of half-baked messes behind.
Wait... did I say 4 performance metrics GUIs? I meant 5, because there's also the new Windows Admin Center, which was clearly written by people that have never had to diagnose a performance issue on a server. It's very pretty and utterly useless, which means that: Nobody will use it, and it will be superseded by someone else's half-baked attempt in a few years, 100% guaranteed.
This may explain why Microsoft have created so many email clients and none of them 100% work.
There are also Microsoft Entourage for Mac OS, few different apps for mobile, and at least two web clients, Hotmail and Outlook.com. Did I miss any?
5 replies →
>Stating that the UI consistency issues are due to backwards compatibility is stretching the truth to the point of outright deception.
I am not familiar with Windows APIs but I can see this be the truth if MS made it possible for developers to plug inside this dialogs, like a printer driver would plug soem GUI changes in the panels , changing this would break a lot of devices.
2 replies →
Additionally, this is all the more reason why Microsoft should think through before they release a new UI frameworks and instead of releazing and then shortly moving on to a new one. I do not really understand why this cannot be thought through to make it long-lasting without running into alleged backward compatibility issues.
>It is also the only way to record metrics and view recordings.
Does logman not working anymore? If not, hasn't it been replaced by PS APIs?
1 reply →
> such as making the OS work/build in such a way that there won’t be inconsistencies in the future
I'm always very skeptical of refusal to handle the past because of the promise that the same won't reiterate in the future. What could also happen is that 5 years from now, you or another dev justifies refusal to handle inconsistencies developed "temporarily" and or accidentally in the meantime with exactly the same reasoning.
A more direct and simple observation is that if nobody is working on converging / cleaning up stuff, they don't converge and aren't cleaned up.
As for the amount of backward compat already provided by Windows, it is good but not great anyway. Try to play old games, install/use old VS with a few patches, install/old Matlab, use old devices, etc... Hell even try to continue to use your semi-recent devices across new build of windows, like 20H2 breaking USB-C on my XPS 15 9560 (but now I'm ranting so I'll stop :D )
Is this also the reason why there are no tabs in windows explorer?
I'm a TreeStyleTab user in Firefox with always >200 Tabs open. But I never got the idea of Tabs in Explorer (or Finder for that matter).
When I use multiple Explorer Views, most of the time I do it, to interact between them. This is not the case for websites.
So for drag and drop interactions, two windows always beat the drag, hover over the other tab until it catches my intend to switch to this tab, and drop it there workflow.
The same goes for copy and paste. Ctrl+c, alt+tab, ctrl+v. I'm sure there is a corresponding command to cycle through the tabs, but alt+tab is deep muscle memory, that it beats this command always.
2 replies →
Generalized tabs accros even different programs is an experiment that has been attempted a few years ago in a few insider builds, but has been quickly abandoned. IMO it was too complex from a UX pov, duplicated some of the use cases of virtual desktops, etc. Maybe had they tried tabs for single applications, it would have succeeded. In this alternate universe we may not have the new Windows Terminal program though (IIRC adding tabs specifically in console.exe was prevented because they were about to start this grand inter-program tab design instead, and Windows Terminal was started after the experiment failed)
It is a power user feature which most users won't will not appreciate. I am using Mac for about 7 years now, and almost never use tabs in Finder.
3 replies →
Honestly thank goodness for the backwards compatibility, otherwise I'd have to rewrite an existing legacy app I've been put in charge of maintaining at my place of work. The thing is in winforms and a weird third party UI library built with winforms as well. It would just be a nightmare for me to have to go through each screen to recreate it reliably.
They tried modernizing with Windows RT, which was actually very smooth and functional if it wasn't so locked down.
Wasn't RT just windows 8 with an ARM build target and win32 stuff removed so they could sell cheaper tablets?
So if you wanted an "unlocked" windows RT, couldn't you just have run windows 8?
2 replies →
This is exactly what unit tests are for. Besides, the business logic should be already fairly separated from the presentation logic.
As for preventing inconsistencies in future, try getting your QA team back.
Could you ever see Microsoft dropping the registry?
My probably unpopular opinion is that the registry is the worst feature in Windows. It’s bloat directly impacts the speed of the operating system.
Seems like such a waste for so many advancements in Windows but the registry sticks around like a bad hangover.
It is more on the contrary. The registry is one of the most well-thought features of Windows.
Also there is nothing like "bloat". No process needs too loop around or smth like that, so there is literally no way to have a forgotten registry item slowing down your PC.
And last but not least: What are the alternatives? .plist config files like with Apple, scattering around the system?
If I remember correctly there was an internal effort at Microsoft to scrap the registry (Longhorn?) but they decided not to, and probably because a registry is actually a good idea and necessary to get something performant (compared to ini files).
The critique against the Windows registry stems from the Windows 95 days when the registry could become corrupt and repair or reinstall was necessary. However since then the registry works like a database, it has transaction logs and simultaneous writes are atomic. Registry is also strongly typed, not a bunch of strings. Registry can easily be backed up and restored.
1 reply →
> It’s bloat directly impacts the speed of the operating system.
Do you have any evidence of this? I remember in the XP days the German c't computer magazine tested populating the registry with hundreds MBs of garbage and found no performance impact at all.
How is it worse than having config files scattered around in distro-specific locations?
2 replies →
As other comments point out, there is nothing wrong with the registry itself. On the other hand the editor (regedt) is terrible.
If you drop something, then you need some kind of replacement for that.
I don't see any alternative on where entire OS could be configured other than registry.
1 reply →
I don't know if Apple deserves to be in that list, UI-wise at least.
Yes, they do break backwards compatibility in many many other ways, but you could put a technical layperson who is used to Mac OS 9 and put them on macOS 11.4 (for those unfamiliar, Apple's OS has been at 10.x for about 20 years) and they would still reasonably be able to find their way around.
One element especially (the global menu bar) is why I got my parents to switch to macOS. They had to learn where 'print' or 'edit' or 'save' was once, and now they can find it for any program, and it'll probably still be in that place in 20 years time.
Its also why I think it's sad that Gnome abandoned the global menu bar. It's an amazing concept that if stuck with makes computers so much easier to use for a large contingent of people.
Yes. There are so many things Mac got it right for parents or grand parent users. Global Menu Bar and Single Mouse Button.
But generally speaking for them it was still a hassle and hurt to use a computer. iPad with Home Button was so much easier. No support calls for years. It was the computing devices that works. But now they moved on to Smartphone meant iPad get way less usage.
Which also means some of those design decisions that make macOS easier to use might not be relevant as PC transfer to a more professional type usage rather than consumer / everyone computing devices. But even in that case I still think Global Menu Bar is a better design.
So true. Today I must explain to my mother that she needs to press a flat picture (not a button) of three horizontal bars in order to pull up a command list. The list won't be sorted by category, but by a designer or developer's perception of which commands are most used.
In the mid 90s, I could walk my 80-something-year-old grandfather through WordPerfect with ease: "File does basic file operations, like save or print. Edit is for editing, like copying and pasting."
Menu bars work because they're a great feature-discovery tool when done right--with verbs that describe the commands, and with functions grouped by category.
"Modern" UIs don't. Try to explain it: "So, the lines are called a hamburger menu, they're supposed to look like a list of commands. And you can press it, even though it's completely flat. Then you need read the list until you find the command you want."
The Mac GUI's great innovation was combining intuitive visual cues with an consistent, unintrusive, and always-on system for feature discovery (the menu bar).
I like the global bar and also its underrated, consistent command search function. I think it was probably abandoned by gnome because every application also has a top row of icons in each window now.
My perfect OS would have a global menu bar and enforce that all commands can be issued by searching and all ribbons/icon bars can be turned off.
I think global menubars are severely underrated. They act as a sort of index of any given program's functionality, complete with key shortcuts and because it's a facet of the OS itself and will be there regardless, there's no point in paring away menus for minimalism's sake.
The worst part about the new gnome not only we don't have the global menu bar, the default top bar is basically a waste of space with barely any useful content in it.
That’s why I just use Just Perfection extension & remove the top bar. Then you just run budgie-panel or xfce4-panel w/ vala appmenu for the global menu bar on Gnome. Use xfce4 if you need it on 2 or more monitors though - Budgie only supports 1.
Better than KDE imo - you keep sane defaults, simpler configs, & consistent themes.
The global menu bar is great for laptops and small screens. I'm less convinced it makes sense for big cinema displays or dual displays.
I argue that global menu bar is bad UI for big and multiple monitor era. It's fine for laptop but not for desktop. It's also not friendly to touch panel since it relies on what app is foreground.
> And that means many old UI elements may stay, that's a side effect.
They should stay on disk to be used by programs compiled 20 years ago.
They should not be used by OS components, nor visible to end user unless they run these old applications.
The OS already has multiple good ways to achieve that.
1. New programs can opt in to new stuff with a manifest. That’s how you get high DPI support in WinAPI: https://docs.microsoft.com/en-us/windows/win32/hidpi/setting...
2. New programs can call some API functions to enable new stuff. That’s how you get modern versions of Win32 common controls: https://docs.microsoft.com/en-us/windows/win32/api/commctrl/...
3. The OS has a lightweight virtualization layer for file system and registry, that’s how 32-bit apps view things differently: https://docs.microsoft.com/en-us/windows/win32/winprog64/fil... Microsoft could have used that thing not just for 32-bit apps, for backward compatibility too, i.e. old apps could use special compatibility view of the environment.
4. Finally, the kernel supports multiple user-mode environments, Win32 is just one of them. The initial good version of WSL (I still use it every day, too bad they have killed the awesome product moving to virtual machines in WSL 2) runs Linux binaries directly on top of Windows 10 kernel, the subsystem is implemented in lxss.sys and lxcore.sys. Microsoft could have embedded couple popular Windows versions, such as 7 and XP, as different subsystems used for running old apps.
I understand the backwards compatibility case for APIs, but not for OS dialogs. Is there a compatibility reason why the folder properties dialog is crufty (unresizable, etc)? I always just assumed there was no engineering appetite or business case to work on it.
Non-resizable dialogs are one of the top reasons why I cannot stand Windows and find it a huge pain to work with as a non-regular user.
Now, while I can understand the sibling's point about third-party overlays [0] which may break when the windows suddenly become resizable, what I find absolutely infuriating is that even what seem like recent features still inherit this stupid behavior.
The thing that I'm reminded of is "Windows Defender Exceptions" (or similar, don't have a Windows box at hand). Those are configured through a new, Settings App-looking window.
Now I understand this is somehow different, because even though the window vaguely looks like the Settings App (huge icons, tons and tons of whitespace), it behaves very differently.
This "exceptions" panel shows a list of the folders that is fixed, although the outer window can be resized. So if you've got a big high-res screen and maximize it, you'll get 90% of blank space and will still have to scroll around to see the contents. Bonus points for the list being so skinny that I'm only able to see "C:\Users\vlad\..." and have to click on each entry to see it in full.
I sometimes jokingly say that it shows MS has a mouse business, and having to click a thousand times for the simplest of things is by design.
---
[0] Not sure what those are. Do random third-parties "augment" system dialogs by drawing random stuff on top of them? I find that thought horrendous.
>[0] Not sure what those are. Do random third-parties "augment" system dialogs by drawing random stuff on top of them? I find that thought horrendous.
The common example would be Dell/Synaptics adding their own tabs to the old Mouse system dialog.
I think the idea was quite sensible. Keeping the configuration in one place while supporting whatever features the manufacturers might have added e.g. touch pad gestures.
The only reason it's unfortunate is that the new dialogs don't support the old extension mechanism, forcing the old dialogs to be kept around.
1 reply →
If any program tweaks a dialog, say by floating a title-barless window with a new control on top of some empty space (possibly after slightly resizing the window or a control in the window to make space), you can’t resize any window control, can’t change tab order, can’t add controls, can’t change background color, etc.
Detecting whether that is being done is challenging. Typical workaround is that, if any callback is registered with a dialoog, to keep things ‘as is’.
Wow! There really are programs which plug into dialogs in this way? Well, that's a new level of compatibility hell. Thanks for the answer.
7 replies →
> If any program tweaks a dialog, say ...
Yes. They should not have allowed this at all in hindsight. Well, too late. :-)
>The reason why Windows is full of UI inconsistencies is (largely)
...completely unjustifiable?
Come on, why does this mean we need 5 different sound dialogues to do 5 different things? That's ridiculous on every level. It used to all be in one place anyway, so it's not even like it needs to be spread out in the first place. Make the old dialogues inaccessible, hide them, and create a new one which does all of those jobs. Then get rid of the old, now unused ones at the first opportunity.
Is the explanation really backwards compatibility, or is it lack of organisation?
Or they could just stop screwing with it?
Every windows update makes the strips a function from the control panel and ads something not quite as good to the settings app.
After the last update the settings app even has ads for 'bing rewards points' in it. Which appear to be impossible to remove.
I need to look harder at getting one of the commercial versions of windows that only gets security updates, but no feature updates, because I've come to hate and fear upgrades.
They've made a mess, they should clean it up.
I get it, all practical evidence seems to be that they're completely incompetent and this is impossible and any attempts to clean it up will inexplicably make it worse, but the fact that's the state of affairs at a two trillion dollar company is absolutely ridiculous.
The updates/upgrades on Windows 10 were particularly bad- i was a late adopter and still ran into an unfixable black screen on startup. not good.
The reason why Windows is full of UI inconsistencies is (largely) because of one thing: backwards compatibility.
I've been a Windows user since Windows 3.11. I suggest another explanation: Microsoft has been a monopoly in desktop OSs for 40 years, and it shows.
Backwards compatibility would be the most likely explanation for why the settings panel has interfaces from the last five operating systems versions. Considering how flaky Windows settings have been historically, and how complex it must be (in part due to the 40 years of backwards compatibility) it surely wasn’t practical to completely rewrite those components.
Surely at least the old bitmap graphics could be updated without breaking backwards compatibility?
I'm also involved with Microsoft, and my view is that the culture is to move on to the next goal too soon after the next gen solutions have been developed.
So they make control panel 2.0, reach 70% coverage, launch, and never move the remaining features into the new version so they can sunset the old one.
> Disclaimer: I work at Microsoft, but not on Windows (and I deal with a SaaS at MSFT). I am a FreeBSD committer and help maintain FreeBSD's GNOME packages and (very recently) the graphics drivers.
Completely unrelated and a shot in the dark, but if you’re both a Microsoftie and a FreeBSD user/committer, the FreeBSD .NET port is stumbling/regressing somewhat and could definitely use a little help:
https://github.com/dotnet/runtime/issues/14537
(Better start at the end of that thread, rather than the start)
Anything you could do to help (if only pushing the right buttons/people internally), I’m sure would be greatly appreciated.
Why can't old code remain underneath but UI elements replaced?
UI and logic are probably not as decoupled as we’d like to think.
So decouple them. Microsoft has annual revenue of $143 billion. Their flagship product should not be a neglected mess.
5 replies →
This is part of the explanation but it's clearly not the whole explanation. The other part is why Windows has gone through half a dozen different UI toolkits while macOS is recognizably the same with some re-skins since 2001. There's no backwards compatibility to be broken if you get the UI right the first time, and there's no excuse for introducing a whole new UI model with every release. It makes the whole OS feel like a gigantic pile of technical debt, and gives the appearance that engineering simply moves on and greenfields a new UI system when the old one becomes unmaintainable.
> Apple, et al. is more willing to break things than Windows is. They aren't as bound to legacy compatibility, so old UI elements can be shed easily.
macOS has actually been pretty good at seamlessly adding new features to old apps, with just a recompile against the latest SDK, like all the NSDocument-derived stuff (auto-save, auto-recover, iCloud etc.), Dark Mode, accessibility etc.
Not to mention they pulled two complete arch changes.
Ah yes, and maintained almost seamless compatibility with the previous archs for a while.
There's some intuitive logic to this. But it's also really really hard to understand why they cannot write modern interfaces for all the backwards compatible systems. Just pretty it all up.
It's bizarre that to do some basic audio or networking configuration I have to wander through 2-3 generations of UI.
Well I thought Windows on ARM or Windows 10X was the perfect moment to get rid of those backward compatibility problem. At least there are incentive / reasons to be doing so.
And why can Microsoft goes the same route as Apple's Cocoa and Carbon?
Nope. Because the goal was to make it as seamless as possible to port software to those platforms, ideally by just recompiling with a different flag. The offerings would be DOA without dev buy-in which wouldn’t happen if there was too much friction in porting.
It's not like they haven't tried it - Windows RT and Windows 10S have largely flopped. You could say this is because of the other changes trying to put the MS store as a required middle man, but both boil down to users rejecting Windows when it doesn't run all their existing software
Please don't waste your time and talent on GNOME.
The GNOME project burnt all their good will and capital building a touch focused UI (for all those touch devices running linux, you know) at the cost of their very desktop orientated userbase (sound familiar?). The core project members are more interested in social justice witch hunts than creating a good product and it shows.
Open UNIX's are desperate for a light comprehensive desktop environment with modern features. GNOME ain't it chief.