Windows 7: To Adopt or Not To Adopt? (Part One) As most of you know, Microsoft has just about completed the latest version of both of their new Workstation and Server operating systems, Windows 7 and Windows Server 2008 R2. On 21 July 2009, a blog post at http://windowsteamblog.com/blogs/windows7/archive/2009/07/21/when-will-you-get-windows-7-rtm.aspx revealed that we'll get RTM on... well, it depends. MSDN/TechNet Plus subscribers see it 6 August and current Windows volume license customers can pull it down on 7 August. Folks wanting to buy new volume license copies of Windows 7 will be able to do so on 1 September. For everyone else, Windows 7 and R2 will become "generally available" — that is, you can get it from places like Amazon and Best Buy — on 22 October 2009. No matter exactly when the new Windows arrives, it's going to be soon, so it's worth considering the question: should you upgrade or not? As I see it, there are several groups of potential Windows 7 upgraders (and please note that "Windows 7" is both the specific phrase for the desktop version of the OS and the generic phrase for new desktop and server, so I'll try to keep clear which meaning I intend — I'm mostly talking in this piece about whether or not to upgrade a desktop OS): First, there are people like me. Second, there are the current Macintosh and Linux users who'll find Windows 7 irresistible. Third, there are folks who are perfectly happy with XP and have no interest in moving. Fourth, there are people who really didn't like Vista but are curious about the prospect of an all-new version of Windows. And then, finally, there's everybody else (but I don't have anything to say to those folks unfortunately in this particular piece). People Like Me Inasmuch as I (1) follow operating systems for a living, (2) love having new stuff to play with, and (3) run a small organization, the "upgrade or not?" question has an easy answer: "heck yes, why not?" If, like me, you lust for the joy of exploring a new operating system and care not a bit about whatever cuts and slashes one might acquire out on the bleeding edge, then go for it. "Neophiles unite... we have nothing to lose but our legacy applications!" Of course, I fully understand that most of you live out in the real world, so don't think for a moment that I imagine that my group's very large. Current Macintosh and Linux Users Who'll Find Windows 7 Irresistible Okay, I was just kidding. No one falls in this category. For Those Who Just Plain Love XP First things first: if you're dead set on staying with XP, then relax — I'm not here to pry XP out of your cold, dead hands, nor am I here to sell Windows 7 to you. I don't own any Microsoft stock that I know of, nor do I sell software for a living, I just pay the bills explaining how to get the most out of whatever OS you've decided to use. XP's a perfectly good OS, as evidenced by the fact that most of the world has used it as their desktop OS for the past five years and the the world seems to keep turning. Furthermore, due to an apparent failure in the reality firewall around Redmond (you know — the thing that lets information get out of Microsoft while allowing them to remain unaware of what the outside world wants from them), Microsoft recently extended support on XP until April of 2014, so there's nothing forcing you to upgrade just at the moment. Personally, I wish Microsoft would just release OSes with longer planned life spans, but I also realize that unfortunately they want us to keep upgrading our OSes as frequently as possible because of the nice revenue stream that results from those upgrades. Alas, the downside of capitalism... built-in obsolescence. My father owns a refrigerator that he's had since before I was born, but those Frigidaire guys soon learned their lesson, and apparently no one ever had to teach that lesson to software companies. (Isn't this whole you've-got-to-get-off-XP stuff incredibly crazy, when you really consider it? Here's Microsoft, a successful company who created XP, the most popular operating system in the history of the planet, and they're refusing to sell it any more. This is roughly on a par with Ford deciding to stop making their F-150 pickup truck because "there are just too many of those things on the road, it's so boring,", McDonalds discontinuing selling Big Macs, or Coca-Cola deciding to change the flavor formula on their carbonated beverages... it's all just plain crazy talk, y'know?) Anyway, if XP's the thing for you, then you've got just under five more years to enjoy XP as I write this, so enjoy! People Who Really Didn't Like Vista, But are Excited — or at Least Interested — About the Prospect of an Newer Version of Windows The Windows 7 upgrade choice is easy for the first three categories of OS buyer that I've already considered, but I talk to enough IT folks to know that most of you fall into this fourth category, and it's basically to you that I'm addressing much of this piece (although those already firmly in the pro-Windows 7 camp might enjoy it as well). Another title for this section might be "If You Hate Vista, You Might Not Like Windows 7 Either... But Then Again, Perhaps You Might." If you think XP's nice but that a newer OS could be useful, but didn't upgrade from XP to Vista because Vista wasn't really your cup of tea (either because you didn't see the need for a new OS, hated Vista, or somewhere in-between), then I've got some good news for you and some bad news: The good news is that Windows 7 does indeed seem to be a good OS that is an excellent candidate for an XP upgrade. (And understand that when I call it an "XP upgrade," I don't mean that literally, as Windows 7's Setup routine will not, believe it or not, let you do an in-place upgrade from XP to Windows 7.) The bad news is that Windows 7 is ... um ... essentially ... uh ... Windows Vista version 1.3. Let me expand on those points a bit and then explain some of why an OS that I've claimed to be essentially nothing more than Vista 1.3 might still be a good move or even a very good move for many. Microsoft built Windows 7 with non-Vista-buyers in mind. Their original plan back in 2007 was to release Vista as part of "Windows 6," (the collective term for Vista and Server 2008 — "Windows 5" was Windows 2000, XP and Server 2003). They then figured that they'd make big money from Vista, as it would temporarily sate the hunger of the throngs of Windows users starving for a new operating system after over five years' lack of anything new on the desktop operating front. That would let Microsoft spend the next four or five years developing something known in 2007 only as "Windows 7," yet another new-and-improved Windows to be released in 2011 or 2012. Instead, they seem to have completed something at least called Windows 7 much earlier, like May of 2009, when Windows 7 RC appeared. So what happened, how'd they get Windows 7 out so quickly? Well, if you ever find yourself at a Microsoft presentation about Windows 7, try to "listen between the lines," and you'll probably hear the same message between those lines, over and over. That message runs something like that "hey, we didn't really mean it, no, Vista was just a wee bit of a goof, we've fired everyone who even looked at Vista, we heard your feedback and so we've got this new Windows 7, why heck, the point of Windows 7 is to rinse the awful taste of Vista out of our customer's mouths." Windows 7, it seems, is to be perceived as a completely new operating system, "Windows done right" in response to customer feedback. Or, as one highly-placed Microsoft employee said recently, "we're throwing Vista under the bus." (He said it jokingly. Kind of.) Again, that should be all good insofar as Vista haters are concerned. You should also understand, however, that to build Windows 7, Microsoft didn't throw away Vista and start afresh; instead, they just kept working on Vista, improving it in large and small ways. As far as I can see, not one major Windows component that first appeared in Vista was removed in the process of creating Windows 7, hence my characterization of it as Vista version 1.3. That's what I said might appear to be bad news for those who really dislike Vista. Now, understand that that I am not trying to warn you away from Windows 7 — I'm not, as I like the OS quite a bit. But in all honesty, I should also state that I liked Vista. Yes, it's true. You'd heard the rumor that there was one person somewhere who liked Vista, right? I was the guy. But don't run away — let me explain why. Let's take a minute and re-examine the big reasons why people don't like Vista because some, well, some of those reasons refer to things that are still true about Windows 7, and so really require your attention if you're to wisely make the buy/not buy call on Windows 7. I've talked to a lot of people about why they chose not to adopt Vista, and their reasons seem to boil down to a few oft-heard ones. Vista runs slowly when compared to XP. Yes, that's true. It is, however, also true that Windows XP runs painfully slowly when compared to Windows 98. I clearly recall hearing the complaint that "XP runs too slowly" in 2001, when it shipped. That's why for a couple of years now, I've suggested that "if you don't like Vista, you're probably running it on the wrong hardware." When Microsoft released Vista on the 30th of January 2007, the average desktop system existing at the time (not the average newly-purchased desktop, just the average system-in-use) didn't have the juice to run Vista well, and that "Vista Capable" nonsense didn't help things. Nowadays, in contrast, it's pretty hard to find a new system for at least $450 (the amount of money I spent for a 5-1/4" 360K floppy drive in 1981) that doesn't run Vista comfortably. Personally, I think Vista was tarred with this "far-too-slow" brush early on and it just stuck in a way that it did not stick to XP, because apparently for a number of reasons, we all decided to forgive XP for seeming initially slow (and, didn't even complain when XP SP2's "DEP" feature slowed it down even more) but never gave Vista that benevolently-granted benefit of amnesia. So where does Windows 7 fit into this? Again, Win 7 is just Vista done better, so don't expect to drop Windows 7 on a five-year-old computer and be thrilled with its performance. But hang on, some of you may be saying, Windows 7 is faster than Vista! Yes, I know, we keep hearing from some of the loudest Vista haters that Win 7 is amazingly faster than Vista, and they offer as evidence the relative performance of Vista versus Windows 7 on this or that system. From some of these offhand reviews, you'd think that somehow Microsoft removed previously-unacknowledged ankle weights from the Vista engine, that they strapped on an afterburner and solved all of the Vista speed problems. Now, believe me, no one would be more fascinated to see Win 7 proven to be faster than Win 6 than I would, inasmuch as to my knowledge there has been only one version of Windows NT that was smaller and faster than its predecessor: Windows NT Workstation 3.5. So whenever people tell me that yes, Win 7's a ton faster than Vista on the same hardware, I'm eager to hear more, and so I ask: faster how? What functions specifically are faster? Do they have a benchmark of some kind? In every case, the answer is unfortunately the same: "well, no, I don't have any numbers, but it feels faster." Again, I hate to rain on anybody's parade, but in all honesty the folks who tend to applaud Win 7's swiftness in comparison with Vista are typically people who loathe Vista. As I result, I'm afraid I have to wonder how much experience they really have with Vista — I mean, who voluntarily spends a lot of time with software that they hate? I could, of course, be wrong, and I'd be delighted to be wrong on this point, so I'm looking forward to the RTM release, at which point I imagine we'll have some real benchmark results... assuming, of course, that Microsoft removes the clause in the Windows software license forbidding printing benchmark numbers without their approval. Let me clarify, though, that there probably are some provable, significant speed differences between Windows 6 and Windows 7 in some areas. If we're talking about changes in performance between a 64-core system running Server 2008 versus the same system running Server 2008 R2 then okay, I could envision cases where the R2 box would outclock the 2008 box. But your standard two-core laptop running Win 7 significantly faster than it does Vista? I'm afraid I just don't see it, particularly given that many human-computer interface studies have shown that we primates need to see a doubling in speed to perceive a real difference. Anyway, the bottom line on the issue of speed is that (1) in my experience, Win 7 seems to run about the same speed as Vista and (2) 2009 hardware seems more than up to the task of providing good perceived performance on either Vista or Windows 7, so permit me to suggest that the "Windows runs unacceptably slowly" objection isn't really reasonable. (But in truth the original assertion is still true: Windows 7 will indeed run noticeably more slowly than XP on the same box, if that matters. But don't believe me — do some benchmarks on your hardware and see.) It's hard to find drivers for Vista. As I'll comment later, I feel that one of the central advantages of Vista was that Microsoft redesigned the Windows kernel to be far more secure. They did that because in the dark days of August 2003, The Time of the Blaster Worm, we'd all become quite fed up with Windows' continual security problems, and we said in unison, briefly speaking as One People, "dagnabbit, Microsoft, could you guys build a secure operating system, and soon?" So they did what we asked (thankfully), but you know what they say about being careful what you wish for. Significant kernel changes generally lead to new driver models... and new driver models tend to make old drivers obsolete. Learning that adopting a new OS throws all of your existing hardware up in the air — "you're telling me we have to scrap a perfectly good scanner just because the new Windows doesn't support it?" — is never a happy matter, and I've got a box of useful (but not essential, thankfully) doodads that work on XP but not on Vista, and it irritates the heck out of me. In fact, I took things a step further, as I adopted not just Vista, but 64-bit Vista, and so I was extremely motivated to find drivers for the thing. Here's what I found when I looked for those drivers: yes, in January of 2007 I could only find drivers for about 85 percent of the things that I wanted to plug into my Vista systems, and that was annoying. But over the next two and half years, the driver problem has lessened significantly and in fact much of the hardware that I couldn't find drivers for back in January 2007 now has 64-bit Vista drivers. That's not to say that the problem has disappeared completely, by any means. For example, those losers at Palm still don't offer 64-bit drivers for USB connection to their Palm Desktop software, but then in contrast Apple's 64-bit support is quite good, and so my Palm sits in a box on my shelf and my iPhone sits in the palm of my hand. In another troubling exception to my assertion that the Vista driver problem's solved, several sources on the Internet say that HP has made a decision not to create and release 64-bit Vista or Windows 7 drivers for any printer models more than five years old. In a world where things don't really change all that much printer-wise, this seems like a sad and bogus marketing decision, and I'm troubled to hear that a market leader like HP would do something like this — and if anyone knows that it's not true, then please drop me a line, as I'd love to hear that I'm wrong. In the end analysis, however, Microsoft can't slap HP upside the head and force them to write Vista or Windows 7 drivers. (Of course, hardware buyers can use HP's no-driver policy as a guide in their future buying decisions, but that's a personal choice.) How does the driver issue affect Windows 7? Well, again, good news and bad news: Microsoft has said that "if it's a Vista driver, it's a Windows 7 driver," and that's a relief, from my point of view. The claim furthermore that "if you like the way Vista runs on your system, you'll like the way it runs Windows 7," and from what I've seen of the Windows 7 beta and RC, they're right. (There are a few exceptions to the Vista-driver-works-on-Win-7 rule, most notably firewall-related things and print drivers that employ their own rasterizing engine — something you'll only see on high-end printers.) The bad news? Well, I was going to say that "if you don't have a Vista driver for your device, you're still stuck vis-à-vis Windows 7"... but maybe not. After all, if Win 7 does well, then vendors may get a bit better about providing drivers. I mean, imagine how annoyed you'd be if you'd spent $5,000 on a fancy high-speed printer five years and a day ago, only to find that... ah, no point in beating that horse any more, right? Before leaving this issue, I should point out that Microsoft's done a vastly improved job on both Vista and Windows 7 on automatically locating drivers. I have installed either OS on many machines and found, when I first logged on, that the OS lacked drivers for some hardware, and sometimes significant hardware like the video board. But then I attach it to the Internet, leave it for while and, when I come back, I find that Windows has contacted Microsoft's servers, which then either tell me that they've found the drivers that I need and where to find them, or that offer the drivers right then and there. Inasmuch as anything that's a Vista driver is a Windows 7 driver, I doubt that users will perceive Win 7 as lacking in drivers, and they'll be pleasantly surprised when Windows delivers many of those drivers without making those users search the Web. Vista has some significant application compatibility issues, and can't run a lot of older or home-grown applications. This complaint is undoubtedly true, and it's something that I've done a lot of looking into, because it's a major pain point for many of my clients, and affects two groups in particular: educational organizations and large corporations. Educational institutions tend to run very old DOS-based learning applications — you'd think they'd let the poor woman retire after all these years, but Mavis Beacon still teaches typing in some schools. Large organizations often have large programming staffs and so are likely to depend on home-grown apps, some of which weren't written entirely to "Windows specifications" for a variety of reasons. This is a delicate subject, as no one wants to hear that "hey, you're just gonna have to get rid of your crappy old apps," particularly when many of them are viewed by the organizations using them as valuable line-of-business software that's been working just fine for the past twelve years, thank you very much, and where does Microsoft get off telling them that they can't run XYZ program, anyway? In theory, Microsoft laid out the rules for building a well-written Win32 application back in 1992, so why has it taken developers so long to figure out how to follow those rules? Well, one reason is that while Microsoft's Web site is now replete with examples of well-written code, that wasn't the case in 1992 or even ten years after that in many instances. As a result, many time-pressured developers got their early Win32 apps to work by just copying badly-written (but working!) code from others. Furthermore, the first really popular Win32 platform operating system was Windows 95. 95 ran 32-bit apps, but completely lacked security and so allowed tons of incorrectly-secured apps to run, and so Microsoft had no choice but to dial back the security on Windows NT 4.0 (or face widespread complaints about how "incompatible" NT 4 was), and in doing that created a sort of insecure de facto redefinition of "what's a minimally good Win32 app." That meant that by the opening of the 21st century, many of us were using a theoretically secure operating system (NT 4 or Windows 2000) that 99 percent of us ran configured to be somewhat less secure than it could be, in order to accommodate existing applications. That wasn't a stable state of affairs, though, as the increasing level of threats from Internet-borne malware meant that we Windows users needed more security, and needed it now. Clearly this situation couldn't last, and by the year 2003, many Windows administrators faced a real Hobson's choice. They could reconfigure their existing OSes (XP, usually) to run at a higher level of security to face the increased level of security threats ... and potentially end up breaking a bunch of important applications. That, in a nutshell, describes the source of about eighty percent of application compatibility problems in the Windows world: security trades off for backward compatibility, and so many firms created group policies years ago that dial back security on their desktops and just hoped that all would be well. So what's the answer? The best one and, in the end analysis, the only viable one in the long term is to replace or repair the apps that demand lower-security environments. But until the day comes that we can afford that solution, Microsoft's got an answer: something called "shims." The complete definition of shims is pretty lengthy, but here's a shortened version. Suppose Microsoft's current Windows version is called, say, "Windows Yesterday." Now let's say that a user notices that whenever she tells Windows Paint to color something salmon, then Windows actually paints it ecru. (Hey, I'm looking for a simple-to-explain example.) Similarly, whenever you tell Paint to color something ecru, it comes out salmon. The Windows guys look into the problem in detail and, sure enough, somebody screwed up about ten versions of Windows ago, and mis-matched the colors to the names... and apparently it's gone unnoticed until now. Of course, Microsoft's in the middle of working on a new version called "Windows Today," and so they fix it there. Windows Today comes out a year or two later... and in come the phone calls. Users of Adobe Illustrator, it seems, find that when they install Illustrator on a Windows Today box and then bring up some old Illustrator graphic that used to look great, then they are horrified to see salmon depicted where there used to be ecru, and ecru where there once was salmon. A bit more examination reveals that the Adobe programmers noticed the Windows error about nine versions ago and just re-wrote Illustrator to work around the error. In other words, some third-party developer (Adobe) tried to write a Windows app to do something but Windows wouldn't do it right, and so the third-party developer analyzed the source of of the problem and then deliberately wrote their application incorrectly (swapping salmon and ecru) to make the app do what they wanted it to do — and so salmon and ecru come out right on Illustrator when run atop Windows Yesterday. Now, however, Microsoft's new operating system Windows Today (which lacks the old bug) has "broken" Illustrator, and Adobe looks like their programmers don't know salmon from bluefish. The Adobe guys soon figure out what's happened, and fix it — that is, they remove the workaround that fixed the old Windows error — and offer that as part of the next version of Illustrator. At this point, folks who are perfectly happy with Windows Yesterday and the old Illustrator are, reasonably, less than interested in upgrading to Windows Today, particularly because it'll mean that they've got to buy upgraded versions of Illustrator — which won't be cheap. (Clearly I'm exaggerating things a bit for this example.) Now Microsoft's in something of a bind, because in one sense, their only sin was to make Windows Today better than Windows Yesterday, removing an old Windows bug ... but those Adobe customers are important, and they're not particularly interested in hearing Microsoft explain that no, really it's Adobe's fault, not Microsoft's. So the Microsoft programmers go back into the Windows Today code and restore the old bug in Windows Today SP1, swapping salmon for ecru, but — and here's the important "but" — the old buggy color-swapping code only kicks in if you tell Windows to use the buggy code for a particular application. Thus, after installing the old Illustrator on a Windows Today SP1 system, it's possible to tell Windows Today, "hey, listen, if you happen to be running this particular version of Adobe Illustrator, then behave as if you're Windows Yesterday... but only when you're running that old version of Illustrator." That restoration of an old bug, and only activating the old bug when running particular apps, is a shim. Shims do all kinds of things, telling the OS how it allocates blocks of memory, how stringent it is on checking security when reading or writing the Registry, what version of Windows it claims to be, the maximum video resolution that it supports, and zillions of other things, but unfortunately there isn't necessarily a shim to solve every single backward compatibility issue, and shim analysis and creation is — and will remain — an ongoing job for Microsoft's Windows developers. XP had about 100 shims when it RTM-ed (yes, I did say XP, it was the first), and has over 200 in its current SP3 incarnation. Vista's got all of those shims and more, and Windows 7 has even more, about 400 shims in total. Thus, Vista and Windows 7 actually contain the tools to solve a lot of application compatibility problems. We just don't all use shims, because most people don't know that shims exist to solve compatibility issues in the first place. How to use shims? The answer is a much longer one than I've got room for here, but download Microsoft's Application Compatibility Toolkit to find out more. Regardless of the whys of application compatibility (or, rather incompatibility!), folks relying on any version of Windows need to know that their older apps will run, and quickly, which is why Windows 7 comes with a sort of catch-all, last-resort answer for 99 percent of application compatibility problems: a built-in virtual machine manager and a fully licensed copy of Windows XP SP3 built as a virtual machine. Dubbed "Windows XP Mode" (XPM), this is a must-see if you'd like to move to something Vista-like but can't live with some sort of seemingly insurmountable application compatibility problem. No operating system is worth having to deal with Microsoft's product activation nonsense. I can't say that I disagree, but I'm afraid the horse is already out of the barn on this issue. When XP first came out, I saw its product activation for what it was: a pain in the butt for Windows users that not one XP buyer on the planet wanted, but that Microsoft forced down our throats simply because they could... ain't monopolies grand? I wrote a number of columns about it, noting that Microsoft's forcing of home users and small businesses to deal with the irritations of product activation while letting their volume customers slide on the matter was an obvious camel's-nose-under-the-tent ploy, and that large customers should make clear that any OS with this sort of barrier to its usage was completely unacceptable. But with more than eight years gone by and zillions of retail copies of XP sold, that ship has sailed: unless Linux and/or the Mac grab a 50 percent market share in the next couple of years, Microsoft's never leaving product activation behind. In Part One, I've offered an examination of what were perceived as negative issues when considering a Vista upgrade a few years ago, and and I hope I've adequately explained why I see them as much less problematic if you're considering a Windows 7 upgrade today. In my next newsletter, I'll take up a more positive set of considerations, when I list a dozen things that Vista brought us that were, I think, pretty big advances operating system-wise, and how they fit into Windows 7... and I think you may be surprised at what's on my list.