I think the core problem is that they all use different toolkits. The design teams come up with these great widget designs and then they all have to be implemented on a per-toolkit or even per-app basis.
Just looking at Explorer:
- The window itself is a regular Win32 window
- It hosts a WinUI island or such for the top toolbar
- The navigation bar is a ReBar with all custom Win32 widgets
- The content view is a DirectUI widget
You'd think that if they'd standardise on a single toolkit (like macOS with Cocoa) they'd be able to get better results with much less work. Perhaps this is an organisational issue?
If Windows would change the Win32/Winforms spacing and such I wouldn't want to be the developer that gets to keep all the pieces broken off.
Read some Windows Terminal blog entries, they're very enlightening. They're basically working around a huge minefield of compatibility and trying to get things moving again. It's quite a feat of real software engineering, what they're doing over there.
Really wish they'd just completely rewrite Explorer from the ground up.
It's woefully antiquated feeling next to Finder. Seeing it struggle to scroll folders with 10,000+ items it can't even load them all in at once you have to scroll bit by bit, seeing it choke reading MP3 file folders because it's trying to do some dumb WinXP era metadata reading on an ancient code path. Seeing it unable to search for files on a sensible timescale or even accurately.
> Really wish they'd just completely rewrite Explorer from the ground up.
Oh god no. They’d nuke all the keyboard shortcuts, make everything take 20x more space, remove any advanced features such as keying by non-primary column, sorting by weird file-specific metadata, etc, add loading screens everywhere, make even the most basic operations require an async dispatch to a runtime host, break credentials authentication with the OS keystore, remove IME and input accelerators, nuke integrations with 3rd party apps for menus, overlays, and previews, hide file extensions, run always in fullscreen, break ClearType text rendering, block access to any system files, break the elevated operations workflow, remove access to non-local files, use 20x as much memory, crash at startup, break when an update ships out-of-band on an older patch release, and then be rewritten in four years.
If the company making the one true OS for everyone (except those Mac weirdos and the Linux perverts) cannot be trusted with making a modern file explorer, then they're not improving an ecosystem, they're just shovelling coal into the furnace of an heritage building. They're in maintenance mode.
Apple removed Carbon and made Catalyst generally available in the same version. So they weren't ever viable at the same time. And can you point to even 1 developer considering a brand new app that doesn't support the last 2 OS versions?
Why stop at Carbon if you count removed frameworks? They had Classic and X11 too! And HyperCard!
Catalyst is expressly for porting iPad apps. So it's just SwiftUI and Cocoa if you compare macOS to Windows.
Just looking at Explorer:
- The window itself is a regular Win32 window
- It hosts a WinUI island or such for the top toolbar
- The navigation bar is a ReBar with all custom Win32 widgets
- The content view is a DirectUI widget
You'd think that if they'd standardise on a single toolkit (like macOS with Cocoa) they'd be able to get better results with much less work. Perhaps this is an organisational issue?