Microsoft’s Windows business model still unfriendly

A story I’m living at the moment…

My uncle’s computer died. Through my mom, I wound up with the task of fixing it, moslty in the interest of trying to recover whatever I can from the hard drive.

The machine is an HP Pavilion a1010n. It did not ship with recovery CDs. Instead, it had a recovery partition on the hard drive. Not useful when the hard drive is in very bad shape (all partitions have unreadable blocks, including of course the recovery partition).

I checked HP’s web site. Recovery CDs are no longer available, thanks to Microsoft’s draconian licensing to OEMs. I installed Windows XP on a new hard drive using a torrent download of Windows XP Home, just so I could boot it and try to run the recovery CD creation tool on the original hard drive. That didn’t work due to too much damage on the original hard drive; creation of the recovery CDs failed on the first CD. I tried activating the Windows XP on the new hard drive using the machine’s original XP activation key. That also failed.

Microsoft doesn’t let you download Windows XP. Doesn’t matter how many times you’ve paid for it. You can’t get a copy from Microsoft at all, by download or CD or DVD or USB stick or any other form.

I’m in the same boat… I paid for a copy of Windows XP Pro years ago, but I can’t find the CD. I have the flimsy tri-fold box and the activation key, but the CD fell out of the flimsy holder and I can’t find it. So the activation key is completely useless and there’s nothing I can do.

This is only the tip of the iceberg. I’m not a novice computer user. I’m a software developer with over 20 years of experience. I wisely abandoned Windows a long time ago, but for a very few things that only run on Windows that I need (BMW TIS, BMW ETK… that’s probably it). Today, I never install Windows natively; I only run it in a virtual machine under vmware, and very rarely. Why? It’s ludicrously expensive, it’s confusing for the average person to buy (am I eligible for an upgrade version? Do I have to spend big $$$ for a full version? Will a home version suffice or do I need a ‘pro’ or ‘premium’ or ‘ultimate’ edition? OEM or retail version? How does the average consumer know?). Worse, in the end it’s an inferior operating system to freenix (FreeBSD or Linux) and vastly inferior to OS X. FreeBSD and Linux are free. Of course I’m only comparing operating systems here, not applications. We all need the operating system(s) we use for the set of applications we need to run on top of them, and usually make our operating system choice based on the applications we need and the applications we already own (though often we wind up having to buy those applications again if we’re upgrading a commercial operating system).

Let’s compare to Apple. OS X Mountain Lion? $19.99, for a full version, downloadable, and available in the cloud once purchased. Download it as many times as you need. Save it to a USB stick, hard drive, backup, DVDs, whatever. Install it on all your personal machines. Again… $19.99. Instant gratification, fast and easy installation. No media to lose or damage. No activation key to lose. No obnoxious pricing-based-on-removal-of-features. No hassle when you need to install a new hard drive and reinstall your operating system and all of the applications you bought through the app store.

If Microsoft wonders why Apple is so successful these days, they should buy some Apple machines and use them for a few years. Perhaps they’d realize that when you make the consumer’s computing life easy instead of difficult, you wind up with customers who never want to leave. Instead of customers who wind up feeling “There MUST be something less painful for me to maintain”.

I completely abandoned Windows around the start of Windows XP and never looked back. Where did I go? Initially, I went to UNIX in various forms. I continue to run freenix machines for all of my server needs. I didn’t come to Apple until OS X, and in some ways it was a roundabout… I loved NeXT in the late 1980’s and early 1990’s. I was never a huge fan of MacOS; it was OK, but didn’t fit my needs. When Steve Jobs came back to Apple and brought NeXTSTEP with him, I knew I’d have the best of both worlds in OS X. Great user interface on top of a modern operating system that’s far more mature under the hood than Windows. With free development tools that are nicer than anything from Microsoft. While Apple has historically probably had as rocky a relationship with developers as Microsoft, that’s not true today and hasn’t been for a long time. OS X is vastly more developer-friendly than Windows. Xcode full-blown version? Free. Interface builder (for both OS X and iOS)? Free, and head and shoulders above Microsoft offerings. Toolchain and standardized language support (say C++)? No comparison.

C# is a nifty language. But it’s not significantly niftier than java, and while you can use it on other platforms, it’s of no real benefit on other platforms; Microsoft’s GUI frameworks are just as closed as Apple’s. CLR? Please. Every product whose guts I’ve seen using a combination of C#, C++ and perhaps some Visual Basic is a mess under the hood. IF you ask me, no one should promote the development of software in three or more languages that’s glued together by a runtime whose idioms and quirks are exposed to the programmer and require non-standard modifications to a standardized language. It’s not that these technologies can’t be used effectively and cleanly. The issue is that in the real world, inexperienced developers are going to use them the wrong way, and as crutches to “make it work” using the tools they know how to use. So you wind up with Visual Basic programmers staying in Visual Basic, C# programmers staying in C# and C++ programmers staying in C++ (and bemoaning the nightmares of the work required to either isolate standard C++ code or convert it to managed code). The glue is usually very messy and riddled with problems that put dire constraints on refactoring because experts in all three languages with a keen eye for proper interfaces and integration are few and far between.

It’ll never happen, but if Apple decided to sell OS X for non-Apple hardware, Microsoft would likely be in big trouble in under 5 years. Just look at the explosion of hackintosh usage over the last few years. Look at tonymacx86.com for an example of how many users (including complete novices) have jumped on the hackintosh bandwagon.

Microsoft could fix most of these issues fairly quickly. Will they? I don’t know. Windows 8 still looks pricey to me, but at least it’s less absurd than previous releases. And I like that they’ve done a ground-up UI redesign, and applaud the courage of doing so. But if they continue to trouble users on repairs, upgrades, edition confusion, etc., they will never win over an experienced OS X user. In this day and age, I should never need physical media nor an activation key to install, upgrade or repair a PC. The issue for Microsoft is that the flow of users between Windows and OS X is almost completely unidirectional… users go from Windows to OS X and almost never go the other direction. And it’s getting worse because Apple has had recovery and syncing mechanisms for all of their products for a long time now, that don’t require a bunch of effort and discipline from the user. This matters because today, we’re keeping an awful lot of the history of our lives as bits instead of ink. All of my contacts are in my iPhone (and backed up in the cloud, on my PC, on my laptop and on backups). Most of my photos are digital and have been for a decade. Receipts? Most of ’em are in an email folder (though I have paper copies too). So little things like Time Machine and iPhone syncing wind up being critically important to the long-term user experience.

Do not get me wrong… I want Microsoft to fix these issues and to succeed. I want competition in the operating system market. Not just in dollars and popularity (Windows’ market share continues to be much larger than OS X’s), but in power, ease of use, ease of maintenance… consumer experience. Today, OS X provides the best long-term user experience, by a wide margin. I want choice for those of us who want and need a high-quality user experience. As a developer, I want operating systems that are a pleasure to use and a joy on which to develop software. Let’s hope that Windows 8 and onward start moving in that direction at a better clip than what we’ve seen from Windows 95/98 to XP, XP to Vista and Vista to Windows 7.

Leave a Reply