Windows has a heart of trash

I did a bad thing. I opened a bad file and it borked my PC. So now, in concordance with the grand tradition of frustrated tech bloggers calling on enormous companies to conform to their wishes, here is my rant on how terrible computers are — Windows ones, this time anyway — and how they ought to be.

Now, I’m no PC spring chicken. I build my desktops, I seat the CPU, I fiddle with the registry and fiddle with the BIOS (even though it isn’t really a BIOS any more). Most importantly, I use Winamp. I’ve cleared out more than a few malware infections, worms, trojans and the like on my own computer and others — it’s just part of the whole cool lifestyle I lead.

This time was different. For one thing, it was the first time I’d dealt with this stuff on Windows 10. Normally I’m pretty careful, but I was just lazy this time. And the malware itself — WinVMX as far as I can place it — was perhaps more sophisticated, as well. (I don’t recommend you try your luck.)

But as I was methodically eliminating the various sub-services and adware the original attack had installed, I found myself grappling with a second adversary: the immense ball of trash that exists at the heart of every Windows install.

Party like it’s 98SE

I don’t mean to slander Microsoft’s engineers here. Windows is perhaps the most complex piece of software ever built. It’s just that it’s like a rubber-band ball of versions, updates, patches, aborted toolsets and standards, and so on. They’ve never stopped adding to it, and while some of the examples of consistency and reliability are beyond compare — running the same version of DOOM on 25 years of OSes is great, and hints at why Windows is so hard to leave behind for so many — it’s really gotten to the point where the cart is going before the horse. And also the cart is full of trash.

In going through the various systems and recovery methods I found so many things broken or misleading, so many critical system items compromised, hidden, or neglected, so many dead ends built in, so many workarounds from the ’90s that still worked and present-day tools that failed utterly, so many contradictions and redundancies — that I finally have flipped over to the side that believes Microsoft needs to cut this trash cart loose.

I’m not suggesting they abandon Windows or anything absurd like that. But for the love of God, I shouldn’t have to be using DOS commands I learned on my friend’s 386 to get the computer to boot normally. I shouldn’t be told that Windows can reinstall itself, then watch as it fails to even launch the tool that does so (it had been deleted [!]). I should be told when it tries again and formats the wrong drive without prompting. (Yes, I do back up my files, thanks for the suggestions.)

Why do I have to search through “legacy” control panels to find disk management? Why are there two sets of control panels in the first place? Why is the first thing I’m told when reinstalling Windows, that if I am reinstalling it, to say I don’t have a product key? Why does the installation process employ terminology and interfaces that are actively hidden from users in the OS itself?

Lipstick on a pig (that’s eating trash)

In a lot of ways, Windows 10 is great. I plan to continue using it. It was rightly lauded for striking a happy medium between the exposed nuts and bolts of XP or 7 with the modern conveniences and interface of 8. (I still think they should have called 10 Windows One, à la Xbox and OneDrive). I think keeping this compromise alive is important, especially as their rival Apple continues their practice of circling every square and removing every vestige of meaningful user choice.

But the company isn’t half done. They made the sensible decision to work from the outside in, because you don’t leave something like Windows 8 alive for long, and they made the surface layer of the OS more than palatable. But beneath that surface is decades of cruft, features and code that, while once necessary or even innovative, have been compacted with time and great pressure to create… yes, a hot ball of molten trash.

Of course, Microsoft is stuck between a rock (a small one, me) and a hard place (millions of customers who rely on legacy systems in one form or another). So much depends on little nuggets buried deep in the garbage fire that they can’t throw it all out at once. But who are they going to detail to audit a hundred million lines of code to find them and save them? Then, on the other side, how long can they keep shipping a product that’s deeply compromised by carrying this burden, which wrecks user experience and increases the hackable surface area by orders of magnitude?

I realize I’m not the first one to say this, and I’m pretty sure I won’t be the last, but it’s worth saying nevertheless (plus, I’m angry because my desktop is still dead). Many people smarter and better informed than me work at Microsoft, and they have certainly been contemplating this problem for longer than I have. I hope that part of Microsoft’s new direction is freeing Windows from the fetters of its previous iterations, but with the knowledge that hidden among the links of those chains are jewels worth salvaging.