Dan Appleman: Kibitzing and Commentary

My personal blog

Perspective is important. I recently commented on Vista migration from a developer perspective. But as developers, we are often asked for advice from others who have different perspectives. So I thought I’d take a few minutes and elaborate further on the Vista migration story.
As a developer, the computers I use have certain characteristics that I think are common among most software developers – at least those in the Windows world. My machines tend to be reasonably powerful, and reasonably new. The software I use also tends to be very recent – in may cases pre-release. Older software, especially that used to perform builds, is relegated to stable systems or virtual machines.
When advising others, whether they are general users, small businesses, or enterprises, I take into account that their needs and perspectives are very different. Their systems may be older, and they often have favorite or legacy software which can be difficult, expensive or impossible to upgrade.
In my previous post I said:

First, I think upgrading to Vista is generally not worth the trouble. There’s still enough software that is “quirky” under Vista, and it’s demanding enough on computer resources, that if you have an XP system that’s working the way you like it you should leave it alone. I don’t believe in upgrading existing OS’s in general – plenty of time to do that when you get a new system (which you probably do every year or two anyway).

From a developer’s perspective, this is accurate. Allow me to rephrase this for these other groups.

I think upgrading to Vista is asking for trouble. Much of your current software won’t work properly under Vista, and upgrades (if available) probably won’t be free. If your system is more than a year old, Vista may slower than what you’re used to and, depending on your hardware, you may not even be able to run it due to missing drivers. Some of your USB and other devices won’t work either. If you have an XP system that’s working the way you like it you should leave it alone.

Let us not mince words. Unlike some past operating system upgrades, software compatibility was not a high priority for Vista.
Technology vs. Marketing
This does not upset me. Microsoft judged, correctly, that many of the security issues that plague Windows are a result of an architecture that has roots in a more innocent age, where security issues were much simpler and the Internet a plaything for a few academics. Vista represents in many ways a clean start. Those pesky UAC prompts will vanish as developers gradually learn to write cleaner code that does not require administrative permission. In the long run, the changes to Vista will the norm, and problematic applications will be as rare as 16 bit applications are today. Microsoft also developed good resources and tools to help evaluate systems and determine potential migration problems ahead of time.
Where Microsoft has erred, and erred seriously, is (as usual) in their marketing. With hype and advertising, Microsoft has gone to the masses and asked them to upgrade their current systems to Vista. They have done so without adequately warning people that their favorite software may not run or may require expensive upgrades. They have pressured hardware vendors to stop selling XP (or sell it only at a higher price on selected systems), forcing those buying new systems into a catch-22 situation where they must not only purchase new machines, but upgrade all of their existing software (at a cost often greater than the hardware).
Microsoft’s technology strategy with Vista will ultimately benefit all Windows users. But their marketing strategy with Vista is absolutely contrary to the best interests of many of their customers. It might be good for the bottom line initially, but ultimately is likely to backfire. While most of the comments I’ve heard about Vista from developer friends has been positive, most of what I’ve been hearing from non-developers has been uniformly negative.
My Advice for Microsoft
Remember, when the first 32 bit OS came out Microsoft continued to ship 16 bit operating systems for years – despite the fact that using WOW16, NT was able to run most 16 bit applications. Within the 16 bit OS line, backward compatibility remained outstanding, as it has (until now) within the 32 bit OS line.
Here’s my wish list of what Microsoft should do in the best interest of their customers.

  1. Continue availability of XP on new machines for at least another year (license terms to PC vendors such that machine prices are the same regardless of OS choice). This will allow more time for software vendors and especially driver vendors to complete migration.
  2. Include prominent warnings on upgrade packages letting consumers know that their current software may not run under Vista.
  3. Support Virtual PC on all versions of Vista. Making Virtual PC free was a great move on the part of Microsoft. In fact, I’d like to see the software included on the system, with a consumer friendly shell or wizard.
  4. Include an XP license for Virtual PC with each Vista license. When an application is determined to be incompatible, guide the user on installing it on the VPC image instead.

I have a friend who is running a rapidly growing business. He recently purchased a number of new desktops with Vista – he had to buy Vista because the vendor could not provide him XP on the lower cost machines. Unfortunately, some specialized software he uses in his business won’t work under Vista. So he ended up obtaining XP licenses, reformatting the drives and installing new systems. The cost to him in terms of time and frustration probably exceeded the cost of the hardware. Was it his mistake? Perhaps. But “let the buyer beware” is not the answer that he wants to hear, and he will always see Vista first as a source of frustration and cost and may never see or care about its benefits. That’s hardly the result of a successful marketing campaign.
My advice to non-developers is simple. If you’re buying a new machine and new software, go for Vista. But in terms of upgrading an existing machine – take your time.