How is MacOS able to maintain such a consistent UI even with massive changes in their design language ? Is Windows UI not a separate layer or something that they can update ?

Or is it that the UI elements somehow get baked into the program at the time you build it, so if you didn't update you are just stuck with that particular version of UI you built the program ?

macOS isn't afraid to deprecate or completely remove things even if that means old things won't work. Windows demands 16 bit apps from the 90s should have a very decent shot at running on Windows 11. That level of "it'll always be there" means for the vast majority of old UI it has no technology pressure to be redone, only pressure of what most average users will see day to day. E.g. nobody at Windows is going to dump control panel (need 3rd party add-ons to work) and nobody is going to rewrite it in a backwards compatible way when most users can do everything via Settings these days and it works with all quirks for legacy apps as is.

That's not to say a lot of the Metro stuff shouldn't/couldn't be made to be Fluent but it also isn't as out of place as some of the older stuff. The only one that is really surprising is File Explorer - but again a lot of legacy app integration that wouldn't work with a new one (though maybe it is time anyways).

> Windows demands 16 bit apps from the 90s should have a very decent shot at running on Windows 11.

16 bit applications never worked on any 64 bit Windows.

Not natively, but ntvdmx64[0][1] and otvdm[2]/winevdm[3] work fine, albeit a bit slowly.

[0]: http://www.columbia.edu/~em36/ntvdmx64.html

[1]: https://github.com/leecher1337/ntvdmx64

[2]: http://www.columbia.edu/~em36/otvdm.html

[3]: https://github.com/otya128/winevdm

---

For those interested, Wikipedia says there's no native/builtin 64bit NTVDM due to

> In an x86-64 CPU, virtual 8086 mode is available as a sub-mode only in its legacy mode (for running 16- and 32-bit operating systems), not in the native 64-bit long mode.

...

> The NTVDM is not supported on x86-64 editions of Windows,[31] including DOS programs,[32] because NTVDM uses VM86 CPU mode instead of the Local Descriptor Table in order to enable 16‑bits segment required for addressing[33] and AArch64 because Microsoft did not release a full emulator for this incompatible instruction set like it did on previous incompatible architecture.

https://en.wikipedia.org/wiki/Virtual_DOS_machine#Windows_NT...

---

Personally, since Microsoft still releases 32bit builds of Windows 10, I just dual boot 32bit (~48GB)/64bit (~900GB) partitions and run the 16bit programs natively on an old Thinkpad.