John Robbins' Blog

In Defense of Vista and the Challenges Facing Windows 7

Perception is everything. That applies to everything in life and certainly applies to Vista. It doesn't take much web searching to find plenty of commentary indicating that Vista has not been well received and is often downright hated. In a lot of ways, I think Vista's been given a bad rap, and my opinion is that it is quite a bit better than it gets credit for. In this article I want to talk about what I think Microsoft did right with Vista. Is it perfect?--of course not, but no software ever is. Additionally, I want to address where I think many of the Vista problems are coming from. Finally, I want to also discuss what I see are the challenges Microsoft faces with Win7 given the Vista perception and how Microsoft can negate them.

Before I start, I need to say that I'm definitely not either a marketing person or much of a business person. I'm software developer who's bet my whole career on developing for Microsoft operating systems. I started with DOS 5.0 and switched to Windows 3.0 as soon as it came out. While some of you will say that makes me old, I prefer to think that means I have a long term perspective on Microsoft and its position in the developer mindshare. As a reminder, these opinions are my personal opinions.

Vista, especially after SP1, is definitely better than Windows XP. Every time I have to use Windows XP or Server 2003, I find myself really missing some of the features and abilities I've grown to love in Vista. As I was reading yet another screed against Vista, I jotted down the six key things I find invaluable about Vista. There are many more, but these are the ones that are important to me as a user and developer.

  1. User Access Control (UAC)

    The most important point Vista has is that it is the most secure operating system Microsoft has ever released. The reason for that is UAC finally keeps people from running with administrator credentials by default. Having run as a non-admin on XP and Server 2003 for nearly nine years, I'm much happier than I was being forced to use the RUNAS tricks. I can honestly say I've never found the UAC pop ups annoying or too frequent.

    While many people have complained that Microsoft should have implemented something like UNIX security, I think UAC is the best compromise for the reality of the Windows world. Microsoft has to deal with a ton of poorly written software from third party developers who assumed everyone was an admin just like they were. While some of this fault lies with Microsoft, a majority of it belongs to developers who won't or can't follow the design guidance. Microsoft has been issuing recommendations and steps for years on how to correctly write software, but developers certainly haven't been listening.

    What always bothers me is when I see someone recommending that you turn off UAC. If you turn off UAC and run all processes with administrator rights, you deserve all the viruses and slowdowns you'll get. Microsoft does a good deed working to make the OS secure and these "experts" go off and completely ruin the security. I wish Microsoft had not allowed UAC to be turned off.

     

  2. Mobile Computing

    Another Vista feature that makes my life better is that mobile computing finally works consistently and reliably. Back when I had Windows XP and Windows 2000 on my laptops, it was always an adventure opening a sleeping laptop. You just never knew if it was going to wake up. With Vista on multiple laptops, it's just works.

     

  3. Search on the Start Menu

    The search in the Start menu is simply brilliant. I've become addicted to it and whenever I go back to Windows XP or Server 2003, I'm always stumbling over how to open files or start programs. The OS now gets out of my way and doesn't interrupt my thoughts nearly as much.

     

  4. Ink Input

    As a Tablet PC fanatic, I love how Vista has made ink and the pen first class input for the OS compared to how it seemed to always be a tacked on feature in previous releases. I work best by writing things down by hand and Vista's trainable handwriting recognition means I easily get 98% to 99% accuracy when searching for things in my beloved OneNote. It's very sad how few people have gotten to use a Tablet PC because Bill Gates is right: a pen is a wonderful way to interact with a computer.

     

  5. Better Scalability

    In my opinion, Vista scales better than previous Microsoft operating systems. In the past, I was always in the habit of shutting down applications unless I was actively using them. As a developer, I always gave most of the machine to development tools because the more programs you had running the slower everything got. With Vista, I'm rarely shutting anything down and running tons more applications. Right now on this Vista x64 machine there are five instances of Visual Studio 2008, five PowerShell windows, Winamp with G-Force, three Internet Explorer sessions, OneNote, Outlook, Word, Process Explorer, and those are the just the open windows. I do more on a machine than 95% of users do, and Vista handles it easily.

     

  6. Fewer Reboots

    Finally, I never reboot. What's the old developer answer to everything on Windows? Reboot. Back on Windows 2000, I rebooted three to five times a day. On Windows XP, I generally rebooted every day. With Vista, I only seem to reboot on patch Tuesday. Both my desktops and notebooks running Vista go weeks between reboots.

There are many other positives to Vista, such as Media Center, and so on. Having felt Vista was pretty good, I wanted to give it credit given all the negative reports floating around. I'm definitely not discounting the bad press, because a lot of it is true. What I want to turn to now is where I think the blame lies for the perceptions around Vista.

Many of the problems with Vista have been entirely self-inflicted by Microsoft. From the beginning, they "over promised and under delivered." What it looks like to me is that almost nothing we were promised at the 2003 Longhorn PDC was actually delivered. The stream of announcements saying this feature and that feature were being cut started the Vista perception long before it ever shipped. I know I'm stating the obvious here, but I think it's one of the major issues that affects perception with Vista.

The whole "Vista Capable" fiasco certainly didn't help. The story is that Microsoft labeled computers with Intel integrated graphic chips as able to run Vista, when they clearly could not. (Am I the only one who thinks it's ironic that Microsoft did this to help out Intel, but Intel decides to repay Microsoft by refusing to upgrade its corporate machines to Vista? Wow!) My father got stuck with one of these machines from a major manufacturer and even I couldn't get Vista running well on it. The only sliver of good that would come out of this is if Microsoft really learns a lesson.

While everyone's taken Microsoft to task over Vista, part of the blame also belongs to the computer Original Equipment Manufacturers (OEMs) such as Dell, HP, Toshiba, and Lenovo. It's not like the manufacturers didn't have sufficient warning Vista was coming, but many of the problems people attribute to Microsoft are the direct fault of bad drivers for just about all devices. Add in the horrible out-of-box experience you have with your average computer that comes with Vista installed and it's no wonder Vista looks bad.

Most of you reading this are developers. What do we do when we get a new machine? Completely wipe it out and reinstall the OS. We're fortunate enough to have things like our MSDN subscriptions so we have the real OS DVDs we can use along with the technical expertise to get things working. Your average person is scared to death to do that because they don't know how to get rid of the garbage on the machine so they suffer with it. Even the machine has a backup partition where they can reinstall the OS, that image contains all the garbage the user wants to get rid of in the first place. I'm annoyed that Microsoft has allowed this to happen.

At least there's something average users can do today to avoid this mess: buy Apple hardware. I've blogged about how I put Vista x64 on my Mac Pro long before it was officially supported by Apple. Based on the traffic and comments in that entry, there are quite a few people doing the same thing because they want to control the machine and not just deal with the garbage from traditional PC manufactures.

You'll see in a second why Apple makes the best Vista machines, but first compare my experience with the Mac Pro with the hell I had to go through with my Lenovo X60 Tablet PC. As a super experienced Windows developer who has done everything from drivers out on Windows, it took me eight hours to figure out what was the minimum set of driver software I needed to use the machine. Why can't Lenovo (or Dell, or HP) give me a single install that puts on nothing but the minimum drivers necessary? Apple can do it, why can't the others? I sent a bill to Lenovo for my time getting the machine in the state that it should have been delivered. Unfortunately, I have never heard anything back. Maybe I should turn them over to a collection agency. In Lenovo's favor, they have started allowing us to uninstall some, but not all, of the garbage with their latest machines.

What makes Vista x64 so stable and wonderful on my Apple Mac Pro is that all the core drivers come from Microsoft out of the box. If you can avoid any drivers from a manufacturer and just use those in the Microsoft install, you'll have much better luck because they are so much better tested. I highly recommend never installing any drivers from Windows update that come from any manufacturer. Yes, that includes video manufacturers. Based on my experience over the years I think little or no driver testing is done outside Microsoft. If Microsoft includes it with the OS, it's been really tested and you can trust it.

So this is where we are with Vista today, but Microsoft is hard at work on Windows 7. Microsoft will finally have to deliver "Wow" when they ship Windows 7. They have to under promise and totally over deliver in order to remove the perception problems with the operating system. This is going to be hard, but if any company can do it, Microsoft can. They have great people; they just need to be turned loose.

In my opinion, there are two key things that must be at the forefront for Windows 7 development. The first is that Microsoft has to seriously crack down on the OEMs. They've tried to do this in the past with the Windows Logo program, but it's basically a joke. For the first time Windows Logo must be something with teeth that ensures that drivers and user mode software works correctly. I feel Microsoft must require that every computer manufacturer delivering Windows 7 includes the Windows 7 install disk and a single install that installs nothing but the minimum drivers necessary to make the machine work.

In order to ensure the drivers for everything are solid and workable, Microsoft has to spend some of that pile of cash they have to help anyone developing a driver to get the driver right. This could mean continuing to force more drivers into user mode or it could mean providing even more developer support. It will definitely include developing testing resources to ensure the drivers are beat to death and earn the improved Windows Logo before they can be shipped. It's obvious the device manufacturers are not doing sufficient testing, so Microsoft will have to help them do it.

In the final part of the OEM crackdown, Microsoft also must completely own the initial out-of-box experience for the operating system. Based on how bad it was when I initially booted my Lenovo, where there were actual ads when I logged in the first time, there's no way anyone will think anything favorable about Microsoft. Those initial impressions are critical, and Microsoft can't trust them to anyone else.

The other thing that Microsoft needs to do with Windows 7 is to target today's hardware, not the top of the line hardware for 2010 when it's expected to ship. The relentless focus of the whole development effort needs to be on speed. The average user should go "Wow! I installed Windows 7 on my machine and it feels so much faster now." That's what it will take to completely eliminate the "Vista's a big fat pig" perception that exists today.

Even though I make my living with Windows, I use OS X on a Mac Book Pro for basically one application: iPhoto. I've found nothing on Windows that works as well as it does. I'm not a professional photographer; I just enjoy taking pictures of my vacations and life. iPhoto does exactly what I need to make my photo management simple and easy. I've been using OS X since 10.1 so I've seen a few operating system upgrades from Apple. Each upgrade of the OS always feels faster and seems to do more with less memory. With Windows and Vista today you just know that you have to buy a new computer in order to make the operating system work as advertised. This is Microsoft's last chance to change the perception, so it's absolutely critical.

One of the hard lessons I've learned in my many years of Microsoft operating systems development is "small code is good code." At the World Wide Developer's Conference in June, 2008, Apple announced Snow Leopard, OS X 10.6. You can read more about the feature list in Snow Leopard at Roughly Drafted. What's most interesting to me is that Steve Jobs specifically said that the features are for developers and not the end user.

At first I thought the features in Snow Leopard were interesting, and then word trickled out about the shrinking size of applications under Snow Leopard. The following chart, with full credit to Roughly Drafted, really caught my attention.

Apple's doing many things to shrink down the binaries, but it's blindingly obvious that they are focusing on making everything fast and efficient. That's exactly what Microsoft has to do with Windows 7 to keep in the game. The rumors are that the same version of OS X will run on a small iPhone as well as a maxed out Mac Pro desktop. If that's the case, Microsoft needs to be very worried.

Microsoft really has their work cut out for them with Windows 7. Vista is actually quite good, but the general perception is such that they have to execute to perfection in order to eliminate the negativisms thrown their way. Microsoft has responded very well in the past when they have real competition. With Apple's OS X market share nearly 8%, it's high time for the Windows team and executive management to unleash the creative forces inside Microsoft.

I'm very curious what other developers feel about Vista and what the challenges are for Windows 7. Do you disagree with my good assessment of Vista? What do you think Microsoft needs to deliver with Windows 7? Write in the comments or your own blog entry.

On Jul 9 2008 10:13 PMBy jrobbins With 19 Comments

Comments (19)

  1. John,

    This is a really thoughtful article. I've used Vista for a year now and also think it's the better operating system. You hit the nail on the head about the out of box experience. Because Apple controls both hardware and software, they tend to have fewer issues, especially with drivers. Microsoft wrote a reliable OS, now it needs to focus on speed as you so aptly point out.

    As a developer, I've found very few issues with Vista and my apps. I followed the guidelines and it payed off. As the .Net platform matures, this becomes even less of an issue since .Net tends to steer developers in the right direction with their excellent and comprehensive library. My perception is that the most exciting and interesting programming is happening on Windows (think WPF, WCF, Parallel support, Enterprise libraries, etc.). I'm glad to be part of it.

  2. Hi John,

    Same here. Family and friends always ask me for advice and I've recommended Vista to all of them but... only if they're thinking of buying a new PC. If XP works on their current PC, don't upgrade.

    Mostly because I know there will be no drivers available or bad drivers for their old hardware. And also because if they get in trouble, I'm the one they're going to call for on-site service ;-)

    My recommendation of getting Vista only with a new PC also solves the problem they always have... they don't backup their files correctly. Getting a new PC, they have the option to explore Vista, plug in their devices, install the software, make sure "all works" and "then" transfer their files to the new PC.

    Doing that, I've only had one support call (yes, I'm the free support guy, hey it's family and friends after all ;) and it was a mispelled "password" :-)

    Your're right on on the perf improvements for Windows 7... it's not the technical progress or improvements that count for most people, it's "perception" of speed.

    Small code is always better. It's even less code to test, less time to develop and less space used on the user's PC.

    We can't always count on processors getting faster.

    As Herb Sutter says, the free lunch is over.

    Have a nice day!

  3. XP has been around for something like seven years.
    Everybody got used to that, and anything different is by definition wrong.

    Even if Vista is (way) better, it is different. It has a different user interface, it requires retraining one's mental paths.

    Actually, even XP had quite a similar criticism. I remember many people still installing Windows 2000, because "it was better". And still now, I have several colleagues using XP without themes, because it is what they are used to since Windows 95.

  4. Hi John,

    I have used Vista since Beta 1, and I would never go back to XP.

    If Microsoft can make Windows 7 runs as fast or faster than Server 08 when running as a workstation, I think that would be totally awesome. Those that run Server 08 as workstation know what I mean.

  5. I'm surprised that Server 2008 as a workstation feels any different from Vista SP1, because the two are identical code! Presumably there's some different weighting in the thread scheduling algorithm that causes things to feel different. It's probably just observer bias (I know I'm using the Server OS, it must be better, therefore it *is* better).

    Unfortunately, while I'm in full agreement of Microsoft taking back control of the startup experience and removing all of the crud, the anti-trust/competition authorities disagree with you. They won't allow MS to have that level of control any more.

    MS almost might do better by not shipping the OS preinstalled any more.

  6. Do you really think UAC prompts prevents viruses and maleware? You have to be kidding me. I'm being forced to use Vista in my company and I'm generally fine with it. But I installed XP on my home computer and I immediately realized how much experience has been degraded. Vista is medicore in almost all aspects. Look at the stupid default black theme (how many times you didn't saw title bar of window in maximized mode) and general lack of themes. Look at the icons (5 out of 10 icons in my Quick bar looks almost same). It's not all about perception, quality does matter. It appears that creative people in MS have been far out numbered to mediocres.

    I looked at initial screenshots of Win7. Things are looking almost same as Vista - except multi touch. Given the short timeline and such a gigantic team with billion communication touch points I wonder if Win7 is more than rebranding of Vista.

  7. Sylvain Taccucci

    Very thoughtful article and it sums up what I think of Vista as well. I’ve been developing software for DOS, then Windows since 3.0, using C then C++. I’m not dogmatic about technology, I use what I feel works best. I was never a fan of Java, not because of the language itself, it is a beautiful language, but because of the runtime environment. From my experience it is still fat and slow, even on large UNIX box where it is not uncommon to see 250MB of RAM consume by an application server written in Java who just sits there doing nothing. I was afraid when .Net came out, that it would be similar, but it’s much more efficient, and I can see every day the productivity increase in software development that the .NET platform as given us. But I still think that small code is better, and compile code is superior, I will always be C++ oriented. I also develop software of the Mac, and even though Objective-C is not C++, it is compile code, and somewhat more efficient than .NET. It would boost the Mac platform if Microsoft decides to port .NET to Mac OSX but somehow I doubt it. I still don’t understand fully why developers don’t use C++ more as a .NET language, but this is for another discussion. I’m running Server 2008 on my windows development platform, with Hyper-V to accommodate my many projects and software environment and so far the experience is really good. (By the way John you were right, I really love the 64 bits stack frames.... ). As for Windows 7, they need to under promise, over deliver, as you said, they need to make it FASTER, stream line the code, and somehow, put something in place so all the drivers must go through a Microsoft Certified testing program before being deliver to the world!

  8. Great, finally, you put most of the truths about Vista that passed thru my mind many times. I have UAC on all the time and "no antivirus", not even windows defender. Its true, most of the BSOD people witness are from drivers, esp personal firewalls, antivirus and video drivers, to add fire to that, some people stacks security products installation and that is a big no no.
    My system rarely reboot now..although the explorer does have a tendency to restart.
    Its my development platform when i am writing code, be it VS or python. Kudos to Microsoft.
    And about MAC OS, well i must admit, MAC did the magic where the open source failed to do on linux for ages, getting the interface right. If that was how BSD looks like years ago, Microsoft would have been caught pants down.
    Apple, remains one of the most inspirational company to learn from.

  9. UAC is designed for people who understand what they are asked and that means mostly programmers.
    It is useless when a user always allows execution via UAC for all application that may require it, so for these users it does not matter UAC on or off and for them it is better when it is off.

  10. It's interesting that a couple of the things you think Vista got right are things that have completely failed in my view.

    I was one of those users that embraced UAC. I wanted to make *sure* I wasn't doing anything as administrator. I'm a stickler for files getting created with the wrong privileges, etc. In fact, I even cranked the settings up more. But it was so excruciatingly tedious that bit by bit by attrition I had to turn down the settings until at this point I have it completely disabled again.

    Well, why was it that I was interacting with UAC so much? Surely it should only be necessary when performing administrative actions, right? Well, due to the dog slow performance of Vista, I was *constantly* changing system settings, opening the services panel, opening the resource monitor (which if I recall correctly itself required a UAC prompt). I'm sure the performance problems could be related to the shovelware that was installed on my ThinkPad, akin to the situation you faced. I agree OEMs should be burned for this.

    On most Linux systems there is something similar but the escalated privileges are "remembered" for some period of time so that subsequent operations don't force a reprompt. In my experience UAC consistently and repeatedly reprompted me for everything always. I just gave up.

    Turning to mobility. I actually like the new options for sleeping and hibernating. But I have to say, I have a dock for my laptop, and I am very frequently (possibly almost every time?) frustrated with windows resuming just to re-hibernate or getting confused and stuck in some limbo mode where it is not accessible (i.e. not even clear it is attempting to start up or shutdown). I often lose 10 minutes every morning JUST GETTING MY MACHINE TO DO SOMETHING. This is just embarrassing. This embarrasses me at meetings (where most others arrive with Macs). Somebody needs to fix the "if you use Windows you will be embarrassed" message.

    In addition I always have to reconfigure my monitor in two panels (Windows display prefs and video driver config) each time I re-dock. It never remembers my settings. I'm not going to fault Windows that much for that as this has never been seamless in my experience. It just an annoyance that this can't be remembered (either by Windows or the video card driver software).

    Search on start menu I like, when it works, governed by performance complaints above.

    Ink and pen I can't speak to, nor scalability (although I'd like to see it *scale down*).

    I have to agree with "fewer reboots", that is when I'm not constantly rebooting/restarting to get it up to start with.

  11. Vista undefensible

    This is a politically correct article, which should please Microsoft. The problems of Vista are not due to the consumer's percertion or resistance to change. We has to face that after years of delays in delivering their expensive product, Vista is definitely slow and intrusive in the name of security.

    The author makes this candid statement: 'The other thing that Microsoft needs to do with Windows 7 is to target today's hardware, not the top of the line hardware for 2010 when it's expected to ship'. The fact is that 80% of Microsoft revenues from their operating systems are done when a PC is sold. Unfortunately, Microsoft does not care about their customers, they care about making money taking advantage of their monopolic position on the market.

    I quit Windows for Ubuntu, and I hope that many people follow.

  12. It's good to see I'm not the only one to actually like UAC. With it, I can say : why the hell do you want admin privileges you stupid software? Go away from my computer and never come back! I once caught a virus on my Vista box. Since it couldn't affect the core of the system (thank you UAC), it was easily removed by an antivirus software. All the virus I recently had on 2 different XP computer totally corrupted the system, and neither McAffee (on my work computer) nor Norton Antivirus (on my untechy friend computer) could remove it. On my vista box, the software wasn't able to turn off the system updates and it was easy to delete it with AVG...

  13. Agreed on how Microsoft needs to under promise and over deliver. That doesn't mean they start saying "this and this won't be in Windows 7" and put it in anyways. No it has to be everything they have promised and never put in Vista plus way more. They have to optimize performance and speed.

    They have to focus on clarity, speed, performance. Something to note to Microsoft: A lot of performance can be gained by turning off services that aren't needed. Build apon service profiles where the default is optimal and not bloated and then the user can use profiles like "Game mode" that turns off almost everything that's not absolutly nessicary" "normal mode" for web browsing, printing, email "Extra mode" for everything on.

    Make Windows 7 stand out and it has to be comparable and better than XP in speed, performance, and overall support. I got my xp machine to boot to a usable state in under a minute from the time the power button is pressed. In Vista the lowest I can get this time is 2-3 minutes.

    I do have to congratulate you guys for the "Engineering Windows 7" blog that's the first real step to getting your act together and fixing communication that was never a part of Vista. Now all you have to do is listen to us and forward what we say to the developers and head guys.

  14. I bought a new computer with Vista on it.

    I lasted 2 weeks and installed XP.

    OK, Vista worked fine but I'm not a 4 year old kid who has no idea about how to use an operating system and I really didn't like the overtly patronising style of Vista's paranoia.

    Vista: The Fisher Price O/S.

  15. I loved your good points to Vista
    I wonder if Microsoft team will look a bit at Unix's kernel, just to compare them and either say "Heh, poor newbies" or "OMFG! why didn't we think about that?"
    I'm not a real Unix, Linux or Vista user, but I think that it'll be good for Microsoft to look at other's ideas and apply the best ones in the name of performance
    My best teacher's (Microsoft lover) programming style was "no matter how much lines you write, if you can always understand your own code". This is really helpful when I debug, but I think there's a phase after that that could be named: "Smallizing your code", just to make your program faster and lighter, and then release that version to the public (plus compile in Release mode).

  16. Thank you for this post it is about time someone who actually knows how an operating system shoul function has written a post.I have worked setting up and designing custom computer systems for both small businesses for about 16 years and to me Vista is by far the best OS to come along so far. The reason most people have problems with it is that they are too stuborn to learn or at least try to progress. All change may not be good but this was one change which was long overdue. I just hope that Windows& is as much an imprivement.

Leave a Comment

Archives

Tags