It’s a matter of competing priorities.
To be clear, I’m not speaking about a specific bug. This is a hypothetical composite question illustrating something I see often.
Someone has encountered a problem in Windows, and they consider it the most important bug ever, and Microsoft — no, Bill Gates himself — is ignoring them. They can’t conceive of a reason the bug wasn’t fixed long ago.
It’s that important.
To them.
Become a Patron of Ask Leo! and go ad-free!
Why hasn't this bug been fixed?
Not all bugs get fixed quickly (or ever). Some functions that seem like bugs might be how the software is supposed to work. Fixing bugs can be hard and expensive. Sometimes, the problem is with other software, not Windows. It’s important to find ways to work around issues and stay patient.
No excuses
This article is not about making excuses for Microsoft. They do screw up and miss important things from time to time. More often than not, it’s a case of not understanding the priorities of their users, but even that’s no excuse. Sometimes, they just get it wrong.
This is more about explaining the process and the incredible complexity of the problem, and with that, gaining a bit of understanding of why a “bug” might not get resolved in a timely fashion.
To me, part of the “no excuses for Microsoft” position is that it applies to all large-systems vendors. Even though I’ll use “Microsoft” in the discussion below, the same is true if you replace Microsoft with Apple, Mozilla, Google, or any of a hundred other software manufacturers.
Not to minimize your experience
I don’t want to minimize or gloss over the impact of whatever you’re experiencing. Bugs can have a significant impact on how you use your computer every day.
I am taking your experience seriously — as does Microsoft, believe it or not — but I also want to be pragmatic.
Because your experience has such an impact on you, it’s important to understand the realistic chances of getting it addressed and whose problem is actually is.
Sometimes it’s not a bug
Sometimes, it’s intended behavior.
Just because you don’t like something doesn’t mean it’s a bug. It may annoy the heck out of you, but that doesn’t mean it’s wrong or accidental.
Microsoft does research to determine the best way for things to work; lots of research, typically referred to as usability studies. They update and refine products based on the feedback they get from real people using the proposed changes long before those ever see the light of day1. Based on that feedback, many changes never make it into the product.
But there’s no pleasing everyone.
If 900 people like a proposed user interface and 100 don’t, Microsoft will probably choose the one that pleases the most. (Actually, they’ll try to get it to be more like 990/10, but that’s beside the point.) If you’re one of the 100… well, for that feature, you’re out of luck.
In this case, it’s not a bug; it’s a decision that appeals to a majority of users — a majority of which you, unfortunately, are not a part.
Sometimes it’s just not that important
There are bugs in Windows that I’m certain are well over a decade old and will never be fixed.
Why?
Because the number of people affected by the bug, or the severity of the bug, is so small that it’s not important enough to fix in comparison to other issues.
So, let’s say that you’ve found 1,000 people who have experienced what you (and even they) believe is the Most Important Bug Ever.
The number of Windows installations exceeds one billion machines. Your Most Important Bug Ever impacts 0.0001% of Windows users.
Now even the fact that 1,000 is a tiny fraction of Windows users isn’t enough to get the bug ignored; it’s just one factor.
The phrase “data loss” is another.
One classification assigned to problem reports is the concept of data loss: “Does this bug cause the user to lose data?” That could be as simple as a crash that causes you to lose what you were working on right now or some other failure that unexpectedly wipes out all or part of the data stored on your hard disk.
Data loss matters.2
If a part of the screen isn’t re-drawn as it should be, or a mouse pointer is lost, or an information window closes unexpectedly, those are all significantly less serious than something that causes a user to lose data.
So even if thousands of people experience the same problem, that might be tiny compared to all the users that are not. If the problem is mostly non-destructive, you can see that it might not get prioritized as highly as other issues, including future feature development.
Sometimes it’s not Microsoft’s bug
One of Windows’ most compelling features is its ability to be extended by third-party hardware vendors. Today’s version of Windows can work with hardware that hasn’t even been dreamed of yet because when that hardware comes into existence, the manufacturer can write software (aka drivers) that integrates with Windows to support that new device.
Microsoft didn’t write and isn’t necessarily responsible for every bit of software used by or included in Windows to run your machine.
What users perceive as being bugs in Windows may not be part of Windows at all. Some bugs are in the software added to Windows by other vendors. Even there it can be tricky to understand who’s responsible because hardware drivers can cause symptoms in seemingly unrelated areas; for example, display driver problems can affect mouse functionality.
Microsoft can and does pass along reports of issues with third-party software, but they don’t control how, when, or even if those bugs get resolved. They, like you, are at the mercy of those third-party software authors.
This isn’t limited to drivers. There are third-party applications and add-ons we may perceive as part of Windows even though they are not. When they fail, they are often seen as failure in a Windows component when the fault truly lies elsewhere.
Fixing bugs is risky and expensive
Unfortunately, fixing a bug — even a simple one — is neither simple nor cheap.
Because of the unimaginable complexity of the systems we take for granted, the ramifications of even the smallest bug fix are difficult to predict. It’s not uncommon for a bug fix here to break something else over there.
Hence, a good software vendor tests even the smallest fix thoroughly.
What that means in Microsoft’s case is that all of Windows needs to be run through a complete testing cycle3 to make sure nothing was broken by the fix.
Imagine what it means to test every single feature in Windows. Now imagine doing that for every different edition of Windows (Home, Pro, Enterprise, whatever). Now imagine doing that again for every edition in every language included in Windows.
Now imagine trying to do all of that quickly.
The upshot is that the cost of even the simplest of fixes is surprisingly high. The decision to fix a specific bug is not simple.
And yet all software has bugs
There’s an old software engineering maxim that says
- A bug found by the customer is 10 times more expensive than one found by pre-ship testing.
- A bug found by pre-ship testing is 10 times more expensive than a bug found by the engineer writing the software.
- A bug found by the engineer is 10 times more expensive than a bug found in the design before the software is written.
The earlier you find bugs, the less expensive they are to fix.
There’s a lot of pressure to fix bugs as early in the development cycle as possible. Indeed, thousands upon thousands of bugs are fixed before the product is released… and yet some make it through regardless.
That is the nature of software development. There’s no such thing as bug-free software. Period.
It’s also the nature of the complexity of operating systems. There are days when I’m amazed that they work at all.
We want it perfect, and we want it now
All software vendors are in a no-win situation.
We complain about software taking forever to arrive, and we complain about software bugs.
In the real world, those two things are at odds.
It takes time and discipline to write and test software to have as few bugs as possible. Obviously, software rushed to market because people are clamoring for it is likely to have more bugs.
We can’t have it both ways.
Every software release is a compromise. Engineers plead for just a few more days to fix a few more bugs, and marketing and salespeople complain that every day longer results in massive market share or revenue loss.
The reality is somewhere in between. Some releases strike the right balance and others do not.
Oh, and about Bill…
I always scratch my head when people rail against Bill Gates for perceived issues with Microsoft or its products. I’m not sure what it is about Microsoft that even today causes people to blame Bill personally for all its faults and failings.
Bill hasn’t worked at Microsoft since sometime in 2008.
Even when he did, he wasn’t writing code, and he certainly wasn’t approving or rejecting individual bug fixes in products or making specific product-design decisions.
In other words, he was never personally responsible for the features you don’t like or the bugs you encounter.
Your ire at him is wasted unless you object to what he’s doing with his philanthropic foundation.
Do this
I’m not trying to paint a bleak picture where bugs never get fixed. Uncountable bugs get fixed; just not all of them.
Unfortunately, there is no satisfying folks who take it personally or land in the extreme “Bill/Microsoft is evil, and they’re ignoring the needs of users, especially me” position. I often suggest — and it’s an honest suggestion — that they may be better served by a Mac or Linux solution if they’re so unsatisfied with Microsoft and Windows.
If you encounter something that doesn’t work as you expect, look for solutions, and if you can, report the problem.
Don’t get overly frustrated if no fix is forthcoming. And don’t immediately jump to the conclusion that you’re being ignored — that’s highly unlikely.
Instead, focus on finding workarounds or ways to avoid the problem. If it really is the Most Important Bug Ever for you, that might even mean switching to software from another vendor.
Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.
Podcast audio
Footnotes & References
1: Much of it is via the “insiders channel” where volunteers get pre-released copies of the software.
2: This is one reason the OneDrive back up feature annoys me so much. It can cause data loss.
3: In the past, this was a formal thing within Microsoft. It’s been reduced, and now a lot of testing is performed by volunteers who get pre-release versions.
Very thoughtful article Leo, thank you. As an indication of its complexity, have you any idea of how many lines of code are written to produce a typical Windows operating system (if there is such a thing)?
I’m seeing estimates of 50 to 100 million lines of code in Windows 11. (There’s no official accounting.)
Blimey! I was expecting something like 50-100,000.
“Your ire at him is wasted unless you object to what he’s doing with his philanthropic foundation.”
Bill and Melinda are getting more flak for their foundation than Bill is getting for Microsoft. Conspiracy nuts are blaming them for vapor trails, 5G mind control, injecting 666 chips along with COVID vaccinations, and more.