Microsoft Strategy Stupidity

So I recently purchased an OEM copy of Windows 8 for my years-old Macbook Pro. It’s an odd situation, but unfortunately for me, years ago I bought a bum MBP that has the tendency to trigger spurious power button ACPI events. I never dropped it, spilled water on it, or did anything out of spec with it to cause this problem to start occurring. One day it just started turning off by itself. Because OS X has no built-in way of just ignoring these damned events, I have to use Windows on it, which does, once it installs its OS Power Management (OSPM) hooks.

Anyway, I was looking around at the pricing model for Windows 8, now that the promotional sales price for upgrades has ended. And I have to say, no one in their right mind is going to pay à la carte for the upgrade. It just doesn’t do enough for them, or at least they see the miles of press about the shitty “Metro” UI experience and run away.

But that’s really unfortunate, because I also spent a few hours last week researching the latest kernel exploit mitigations [1] [2] built into the 64-bit version of Windows 8, and have to say it seems well worth the upgrade for all of the security hardening that went into it. (I mean, I’ve put my money where my mouth is.)

It’s also collectively unfortunate, because getting as many systems out of the Windows XP upgrade gap as possible would do wonders for tamping down the number of systems available for botnetting, spamming, and other Internet-hostile behaviors.

Lowering the price of releases, while raising release frequency, which is Apple’s current strategy for its operating systems, means that the long support tail is shortened through faster uptake. You get to focus the bulk of your effort on users using a current system version. It would allow Microsoft to focus its efforts on innovating, rather than having to backport fixes from an OS that is 3 release versions ahead. Believe me, as a software dev, it’s rewarding to see your work get out there quickly. It’s the worst kind of dev existence fixing the source code for a faulty buffer allocation/deallocation/overrun in multiple similar codebases, then compiling and regression testing that against a test harness comprising how many Windows SKUs?

Microsoft needs to compete with the release cycles currently happening in the mobile space. They need more “release early, fail fast” experimentation. If Microsoft sticks to their current strategy of “release slowly, fail for a long-ass time”, they’re just going to keep getting killed piece by piece.

It’s unfortunate that a solidly-engineered operating system kernel is getting panned because the user interface is at fault. Which got me thinking: Why the hell isn’t the user interface drop-in replaceable? i.e. Why couldn’t you run the Windows 8 kernel underneath the old, corporate-user-familiar XP interface? And why couldn’t Microsoft make this option available? There’s no reason why a small team of ninja developers in Redmond couldn’t build 3 user frontends over the kernel. One that looks like XP, one that looks like 7, and one that looks like 8. The user could just choose the one they prefer, and the corporate-licensing salespeople could try to wheedle a few bucks out of the biggest customer deployments.

I guess the question is: Is it better to get $40 from some of the holdouts now, or wait until people are forced to upgrade naturally and collect $100 in OEM license fees? People, especially corporate IT departments, might be quite willing to wait it out. But if they could get more secure systems (no more remote exploits!), with easier management (Powershell, etc.), and higher performance (SSD TRIM support, faster boot/sleep/wake/hibernation), without needing to retrain their users on the UI, I could see many an IT department jumping at the offer to upgrade. It sort of screws their OEM partners, but considering that the new PC market is shrinking anyways, Microsoft probably needs to think about more ways of leveraging existing customer relationships for incremental/repeat revenues. Since computers even up to 2007 (and probably even earlier) are fully capable of running Windows 8, it might be more clever to focus on stretching those systems’ life out further (by getting people to upgrade, and getting them to install solid state disks (SSDs), which are awesome).

ie. “Use what you’ve got, as efficiently as you can, with Microsoft software.” How about offering a subsidized copy of Windows 8 bundled with SSDs for system builders and upgraders? Don’t wait for your users to make the choice, make it for them. Because, as skeptical as I was when trying out the Windows 8 Release Preview, it knocked my socks off with how it revived my sleepy desktop. This is something Microsoft still has over the open-source crowd, hardware partners work with them and they have deep pockets, which means they can optimize deeper.

Finally, a thought on Microsoft’s mobile strategy and the way I think things could go, if Ballmer actually had vision: I think the market would love to see a “laptop-replacement smartphone” coupled with solid but not overbearing cloud support. If the current top of the line smartphones are sporting 1GHz quad-core processors and 1GB of RAM, it’s only 2 generations before they have as much compute power as my current-generation laptop.

Such a laptop-replacement phone would work like the vaporware Ubuntu phone, but with the twist that when it’s docked to a 24″ monitor and bluetooth keyboard, it could run a proper version of Microsoft Office. A Windows Phone, which could work with sandboxed apps in smartphone-mode, and work as an effectively open device in desktop-mode, would be a fantastic seller. Just think: a small-screen optimized version of Outlook running in smartphone-mode, and a big-screen version when docked. That might even slow the corporate mass-migration to Google Apps. Do that with any of the major apps a user might be interested in: browsers, Windows Media Player, navigation, word processing, etc. You could even use, gasp, the same codebase, assuming all the views are properly separated from the models and dependency-injectable, blah blah. A product like this could revolutionize the way we think about personal computing again, open up a new revenue stream for the company, and make their phones actually relevant in the market.