There’s been a small flurry of articles from a variety of sources, all talking about more or less the same thing: Microsoft is trying to explain why Windows 11 is as difficult to develop as it is, in turn justifying why it’s become such a mess over the years. I’m picking this one from Windows Central, which is an interview with Microsoft’s CVP of Design and Research for Windows and Devices, Marcus Ash. Taking the long, still ongoing transition from the Control Panel to the Settings application as an example, Ash explains why this is such a long and difficult process.
Unsurprisingly, Ash says that the reason this has taken so long is that Microsoft prides itself on compatibility with legacy tooling and workflows, so it can’t just rush in and modernize everything without first ensuring the modern replacements maintain functionality with what came before.
↫ Zac Bowden at Windows Central
This isn’t really news to anyone. One of Windows’ prized strong points is its often excellent backwards compatibility. This doesn’t just apply to individual applications, but also to things like software makers adding settings panels to Control Panel, or complex business applications expecting certain entry points into the Control Panel to exist – and much, much more, all over the operating system. I’m exaggerating, but you can’t so much as move a single pixel in the taskbar without breaking some component of some obscure corporate middleware suite from 1999 that somehow still functions as the beating heart of like 187 Fortune 500 companies.
Sometimes I wonder if Microsoft is going about this the wrong way entirely. Of course, I have no idea what I’m talking about, but I feel like Microsoft has so man tools at its disposal to deal with this issue that it’s not really using to their fullest potential. Specifically, Windows itself has a number of incredibly capable tools in its toolbox to make sure any application ever written for Windows and even DOS, regardless of how many bits it requires, can run. Windows has advanced and highly capable tools for virtualisation and containerisation, and on top of that, Windows NT has a very capable personalities system that feels underutilised, too.
Couldn’t these tools be harnessed to effectively isolate the entire backwards compatibility problem from the actual Windows operating system people use, and turn them into optional components installed and activated when required by an older application? Isolating backwards compatibility this way would then leave the Windows team much less shackled and more free to improve Windows at every level without having to worry so much about maintaining backwards compatibility. If the components an older application needs are virtualised, containerised, or part of a Windows NT personality and thus frozen in time, the Windows team would be free to work on the “current” version of said component without breaking the application in question.
I feel like Microsoft has tried to use these technologies to address backwards compatibility in the past, but in true Microsoft fashion, it always seems to do so halfheartedly, without any real coherent vision behind it. Again, I wish to reiterate I’m by no means qualified enough to make any definitive statements about this, but it sure does feel like Microsoft is underutilising a lot of the tools it already has at its disposal.

I am no big fan of Microsoft but I need to defend them on this: Backward compatibility is very very hard especially when nobody envisioned where they would be 10 years later. History is full of great ideas that should have taken over the world, but did not fly at all. And then the biggest success stories arose unexpected, without any plan or strategy.
Though I do wonder: since it is what it is, does this huge effort on backward compatibility make sense (especially since it is still failing) or was it not better to shorten support/compatibility windows and focus effort on new development? My suspicion is that they understand their backward compatibility merely as part of their “vendor lock” and not as a service to the customer.
I would like to compare it with Arch Rolling release vs. RedHat updates: Yes, for a long time the RedHat updates appear more stable and the effort seems to be lower — but then once in a while it really hits you and the effort becomes a massive upgrade project. While on Arch Rolling release, you face smaller hiccups frequently, but it keeps you in touch with the server and technology. I prefer smaller, frequent updates over large big chunks of code/configuration long time forgotten.
You can defend them but know that most of the old Windows software runs on old unsupported Windows versions. So in the end this really isn’t holding Windows 11 back and they aren’t doing anybody a favor with claiming it does. Furthermore not only old software and drivers and similar that don’t run on latest Windows out of the box as in addition relatively new hardware doesn’t run latest Windows. So in the end you can defend them for the idea, old idea that was relevant a decade or two back, said that it has not much to do with reality. In grand scheme of things it’s basically irrelevant and for example Wine likely already surpassed them in better supporting the initial idea you tried to defend.
Its still very much relevant today.
Medical equipment is the easiest example. Between drivers and software it needs to work over many many years. The cost of replacement of an ocular scanner (for example) is prohibitively expensive. And yet that machine can’t sit on the network on an unsupported OS.
This is where the backward compatibility is critical. Both in terms of supporting the software in question, but also the rest of the network. A project like Wine might be sufficient for the odd game or popular application but simply isn’t viable in this scenario where there are contracts and Medical liabilities involved.
In practice this looks just the way i said, XP still being used to run the software, like for example in the transport sector, from floppy disks to being stuck on Windows XP. So no, it’s not relevant anymore and besides most of such software wouldn’t work with Windows 11 out of the box even if you would try it. Drivers for the equipment long gone and not available for never versions of Windows. So legacy isn’t holding Windows back, that is just an excuse to hide their incompetence. For now general public still seems to buy the legacy claim, though. Likely due to the fact nobody really deals with decades old software on latest Windows versions and they just assume it would work.
Even the Chinese are still running XP : https://www.youtube.com/watch?v=2OtiPNDWmQY&t=3m23s
Yes, but not only Chinese, the situation is the same everywhere in the world. Germany, Japan … The idea Windows isn’t a fragmented mess, when it comes to software and drivers and different Windows versions in terms of supporting it. Of course it is. So when Microsoft CVP starts explaining Windows sucks big, or better is a dinosaur, due to legacy code. That it can’t move forward because of supporting legacy code. Here one must say that well over 90% of Windows user base if not more are not in any way or shape affected by anything that Windows decides to do with its “legacy code”. For that small percentage it might affect, well, just continue to use Windows XP. So, the question to ask Microsoft is what would you actually do, by ditching the “legacy code” from Windows. I have a strong hunch that they don’t have a clue. Beyond occasionally adding Metro, AI, Recall … They could add all that without removing any “legacy code”. So this “legacy code” is holding us back meme, they should be called out for claiming that. To explain themself better, for example what would they do with Windows if “legacy code” would be removed. And who would be happy and would support the result in the first place.
A bunch of baloney that often gets repeated on where what is actually is going on is much more simple. Microsoft didn’t invent the UX paradigm most people prefer on desktop computers, now often so called legacy code, they copied it. It’s just the things they wanted to invent of their own, that turned out to be a total flop and in these day a total slop. From Metro to AI and all sort of weird bloat, remember recall, complete and utter garbage. The only thing still being somewhat relevant is Clippy. That is on why it is taking them so long, they are not good at inventing things Windows centric people would actually be prepared to move on to, to move from the dinosaur called Windows. It’s not like anybody is twisting their arm, to move faster, people have seen enough in this last two decades or so and even Windows centric people fear more enshitification. Even WIndows centric people in this day and age realized it, the only problem being nobody really cares anymore. Windows in the end is not a thing anymore, worth having a strong opinion about. Windows oriented people aren’t prepared to defend it anymore, they been through enough, GNU/Linux oriented people moved on, don’t care about anything Windows related either, as the level of enshitification is just beyond and if that didn’t do it, for Windows oriented people to think and act, then this was a lost cause in the first place. Someday something new will emerge and dinosaurs will extinct. What we can be rather sure of Microsoft won’t see it coming, as they already turned an blind eye. They simply don’t care about Windows anymore either, beyond trying to milk it further with more embedded enshitification, that is their range. If they get the directive tomorrow, scrap legacy, the outcome would be exactly the same. Legacy isn’t holding them back, legacy is just the excuse, a meme.
how about draw a line in the sand saying “These Specs” for the future, DROP Everything else that’s OLD, I’m sure there is stuff in there that NO ONE USES anymore. Make a NEW OS. That’s fast and secure. Not patch a old ugly hog with lipstick and call it “Revolutionary”. duh.
Yes exactly this, provide a new clean system and offer a hypervisor/emulator for running old cruft. Also make it clear when some old junk is running in the emulator rather than treating it as a native application to spur users to replace it.
So Windows is so hard to develope, that Microsoft was forced to replace a perfectly fine startmenue (dating back to Win95) with react?
Sure…
Microsoft choose to go into the mess they’re into now : different API to do the same things (win32, mfc, wtl, atl, …), different languages to try to steal the market share of others (Visual Basic vs Turbo Pascal and Delphi, C# vs Java, …), different user interfaces (classic, Avalon, Silverlight, Metro, …) so their fate. After all, they have Copilot to find their way through their own mess.
Microsoft has always held the policy of making their platforms easy to develop against. Part of that is allowing and supporting any language that’s got the momentum. It leads to a great many becoming a weight a decade later, but ensures they aren’t left behind as a whole.
They created their own fragmentations, in every domain, even the panel settings, for the sake of “momentum” ? And they blame the users and developers ? Screw them.
They missed their cue in the late 2000s/early 2010s. Quite a few big projects (thinking python 2->3 and Qt 3->4, linux 2.4 -> 2.6) broke backward compatibility back then, and it’s been good in the long run. I don’t think doing it today is viable: too much forgotten code and products out there.
There are VM and emulators if you want to keep your old software running.
Kiiiiiiiiiiiiiiiiinda.
I find a bit lame to nuke FireWire support away (Windows 11 still supports it but it’s gone on Apple). Yea, it has DMA so the new security features do not support it, but come on. You can’t expect people to replace 10K+ USD equipment unless required (check the medical equipment comment) and you can’t REALLY expect people to replace stuff that is no longer manufactured. I could buy new audio interfaces (no, thanks), but no one is making new film scanners.
And PCIe passthrough on VMs is not always reliable.
So yea, sometimes you are stuck with an ancient version of a piece of software you really like but the problem is real in the hardware realm.
And then there’s ewaste.
Shiunbird,
For me legacy hardware support has also been a problem on windows. I’m always nervous to upgrade windows because quite often it means more hardware that stops working. Of course one can blame the owner for wanting to continue using hardware that’s no longer supported. “Buy new hardware” is a common refrain, but the e-waste issue is very real and I just find it disappointing when hardware becomes unusable due to software breakages rather than hardware breakages.
Sometimes it is Microsoft’s fault for killing compatibility, but not always. I was livid after seeing Prolific officially brick their own legacy USB chips via windows update. The old driver works fine, even on windows 11, but Prolific payed engineers to develop a malware version of the driver that intentionally bricked the old hardware, prompting customers to buy new hardware. Since microsoft have taken to forcing updates without permission, microsoft have become complicit in Prolific’s planned obsolescence scheme. It’s probably too niche for most people to care, but if there were justice Prolific would be forced to pay for the expense and damages caused by their malware drivers. That’s really not acceptable on any level.
Tell Louis Rossmann about this : https://www.youtube.com/@rossmanngroup/search?query=Prolific
Kochise,
Haha, maybe that’s the kind of thing he’d cover.
I never get responses from popular youtube personalities though. They reach a point where they don’t have time to read messages. I can only imagine the amount of correspondence they get with millions of viewers. Last year I offered to write custom software for the electroboom guy to solve a problem he was having. I thought it could have been fun, but all I got an auto-response.
I would have needed to pay just to offer to help. Haha, oh well.
Maybe Rossmann is more reachable.
I understand that sometimes a revamped security model may break drivers but it is not an unsolvable computer science problem to develop a sort of wrapper for old drivers, especially if they are going to be used with older software.
Microsoft is particularly good when it comes to backwards compatibility. The whole industry as a whole sucks at it with Apple being especially awful. The industry just doesn’t care about ewaste or their “customers” previous investments.
But then, with very few exceptions, I avoid buying anything new because they don’t deserve my money and I don’t play games I can’t win.
Shiunbird,
IMHO the cleanest solution is to that is move drivers into userspace such that they run in isolation and communicate over well defined APIs. However then we get into the monolithic versus microkernel debate, which is older than most of us, haha.
Well, I’ve encountered a lot of breakages on windows, turning hardware into e-waste. I actually think linux has been better about long term hardware compatibility specifically because linux drivers are supported by people who aren’t the manufacturers. Ironically though binary software compatibility on linux is worse in my experience. Fortunately most software is open source and is regularly rebuilt to distributed updated versions, but if not for this fact a lot of unsupported linux software just breaks over time. Try to install a package from one or two decades ago; there’s a much better chance of it working on windows than linux.
I increasingly value the importance of open source to keep my support options open, but unfortunately at the same time manufactures are increasingly making it harder to break their grip. Even though some of us aim to boycott their enshitification of tech, the majority of consumers just go along with it and so things have kept getting worse. I fear that these changes are permanent, corporations don’t have a financial incentive to improve. I’m not a fan of regulation for regulation’s sake, but when we leave corporations to their own vices it’s usually the consumers who are screwed over. 🙁
By the early 2010s, Windows had already accumulated a software catalog spanning several decades.
I do not think many posters here appreciate how critical certification, compatibility, and long term support are in certain professional markets. Microsoft’s sustained commitment to application and API compatibility allowed companies to continue running specialized and often irreplaceable software across multiple generations of hardware and operating systems.
That continuity is one of the primary reasons Windows became (and remains) the de facto desktop operating system in the enterprise. Which nets Microsoft a pretty penny.
Xanady Asem,
That used to be the case, though in more recent years breakages seem more common IMHO. I would still say microsoft are better than most at backwards compatibility, but things do break and the onus is typically on 3rd party devs to release updated software. I support legacy enterprise software and it isn’t unusual to get calls to fix issues with new versions of windows.
Sometimes the breakages are unintentional bugs, other times they are actually intentional. For example MS disabling certain legacy TLS protocols or removing CA certificates. In those instances you may side with MS breaking the old software, but regardless software gets broken in enterprise contexts.
What gets me is how everybody immediately attacks keeping the old or defends how hard it is to allow the old while replacing it with new, meanwhile I don’t understand the purpose of this struggle when the control panel was _fine_. Nothing was wrong with it. The settings app doesn’t do anything better, but does many things worse while also causing the entire discussion of how ridiculously long it’s taken to implement.
Take a few minutes to port the few necessary new things in the setting app back to a cpl, finally admit defeat on tablets and lose nothing since nobody uses tablet mode, gain some market share back by just… not continuing to pile garbage everyone hates on top of what they liked because you’re so sure it needs improvement but have no idea what a positive quality to strive towards is.
So much this. My computer is a tool, not a toy. The new interfaces take so much space. I could fit more tools in a 1280×1024 screen 15-20 years ago than I can fit on my 4K 47 inch screen now. Also muscle memory goes to crap… I recall stuff like “hey, I need to disable sleep when I close the laptop screen for my mother-in-law who is a teacher….. WHERES THE OPTION THAT LIVED HERE FOR DECADES?” and also the Electron disease. Every application looks the way it wants. Stupid VPN client occupies 15% of my screen and it has three buttons: Settings, Quit and the name of the gateway. It’s insane.
Fine – the amount of free space and larger UI elements make them an easier touch target, but… exactly… WHO IS USING THAT? And heck, fine, support touch, but the control panel is not a place you go multiple times a day.
I’m not going to say that CVP is wrong, but they are at it FOR FIFTEEN YEARS. Iterate on your new UI/UX paradigm, publish the final guidelines in a manual, make everyone follow it. Migrate the legacy stuff. Done. Now you get stuff that is migrated to ModernUI 1.3 and other parts of the OS are at ModernUI 3.5 and then you go install a driver and, unless you are FULLY up-to-date, you get Win3.1 driver path selection window. Madness.
I absolutely hate the new Settings app because you can literally only have one thing open at a time in it. With the control panel you can simultaneously open as many different settings windows as you want.
I just had a little fit over this, honestly. It was pushing a previous intel graphics update as a critical update, so I held off on updates and started an install of RSAT while I went to change group policy to exclude driver updates… Welp, the features installer uses windows module installer, so it silently downgraded my graphics driver and installed garbage “gaming” drivers with a 600MB electron app for the mouse that was only connected temporarily during setup before starting on RSAT, then when I didn’t think and tried to fix my display settings while I waited… nope, feature installation uses the settings app now. Rather than tell me to wait, though, it froze explorer with the not-spinning wheel cursor for five minutes, finally killed the settings app, aborting my install, THEN RETURNED AN ERROR. So I wasted an hour of my life, achieved zero of the two things I wanted to do, and installed “updates” I explicitly chose not to install and that harm my system instead, and can’t be uninstalled without using the command line to dump a list of drivers and what “oem###” they’ve been renamed to, then use the command line again to delete them
Exactly this. There are a thousand solutions to this problem and it sounds like “maintaining a single OS that does 300 things” is not obviously the best one.
I’m one of the folks who fully embraces the support for backwards compatibility. I use Lotus Smartsuite for my work daily. It’s the best solution for my work. And it works pretty much as well as when it was released. All of the Smartsuite applications are Win32.
I also rely on other tools that did not just come out in the last six months. And I have no interest in fixing a wheel that isn’t broken.
That said, I have been very frustrated by Windows 11. I still have Windows 10 on most of my stations, but my primary machine has a 14th gen Intel processor, and the processor scheduling is better in Win 11 for it. That I had to install Open-Shell to have a decent start-menu experience is frustrating, but it’s not the end of the world.
But for me, the backwards compatibility is essential, and it’s unfair to think that businesses like mine should just regularly adapt to whatever the new thing is.
> I use Lotus Smartsuite for my work daily.
Wow! :-O