Engineering Windows 7

Welcome to our blog dedicated to the engineering of Microsoft Windows 7

Our Next Engineering Milestone

Our Next Engineering Milestone

Many posts start with a thank you and I want to start this post with an extra special thank you on behalf of the entire Windows team for all the installs and usage we are seeing of the Windows 7 Beta. We’ve had millions of installations of Windows 7 from which we are receiving telemetry, which is simply incredible. And from those who click on the “Send Feedback” button we are receiving detailed bug reports and of course many suggestions. There is simply no way we could move from Beta through Final Release of Windows 7 without this type of breadth coverage and engagement from you in the development cycle. There’s been such an incredible response, with many folks even blogging about how they have moved to using Windows 7 Beta on all their machines and have been super happy. The question we get most often is “if the Beta expires in August what will I do—I don’t want to return to my old [sic] operating system.” For a Beta release, that is quite a complement and we’re very appreciative of such a kind response.

This post is about the path from where we are today, Beta, to our RTM (Release To Manufacturing), building on the discussion of this topic that started at the PDC. This post is in no way an announcement of a ship date, change in plans, or change in our previously described process, but rather it provides additional detail and a forward looking view of the path to RTM and General Availability. The motivation for this, in addition to the high level of interest in Windows 7, is that we’re now seeing how releasing Windows is not something that Microsoft does “solo”, but rather is something that we do as one part of the overall PC ecosystem. Obviously we have a big responsibility to do our part, one we take very seriously of course. The last stages of a Windows release are a partnership across the entire ecosystem working to make sure that the incredible variety of choices you have for PCs, software, and peripherals work together to bring you a complete and satisfying Windows 7 experience.

The next milestone for the development of Windows 7 is the Release Candidate or “RC”. Historically the Release Candidate has signaled “we’re pretty close and we want people to start testing the release, especially because all the features are done.” As we have said before, with Windows 7 we chose a slightly different approach which we were clear up front about and are all now experiencing together and out in the open. The Pre-Beta from the PDC was a release where we said it was substantially API complete and even for the areas that were not in the release we detailed the APIs and experience in the sessions at the PDC. At that time we announced that the Beta test in early 2009 would be both API and feature complete, widely available, and would be the only Beta test. We continued this dialog with our hardware partners at WinHEC. We also said that many ecosystem partners including PC makers, software vendors, hardware makers will, as has been the case, continue to receive interim builds on a regular basis. This is where we stand today. We’ve released the feature complete Beta and have made it available broadly around the world (though we know folks have requested even more languages). As a development team we’re doing just what many of you do, which is choosing to run the Beta full time on many PCs at home and work (personally I have at least 9 different machines running it full time) and we’re running it on many thousands of individual’s machines inside Microsoft, and thousands of machines in our labs as well.

All the folks running the Beta are actively contributing to fixing it. We’re getting performance telemetry, application compatibility data, usage information, and details on device requirements among other areas. This data is very structured and very actionable. We have very high-bandwidth relationships with partners and good tools to help each other to deliver a great experience. One thing you might be seeing is that hardware and software vendors might be trying out updated drivers / software enhanced for Windows 7. For example, many of the anti-virus vendors already have released compatibility packs or updates that are automatically applied to your running installation. You might notice, for example, that many GPU chipsets are being recognized and Windows 7 downloads the updated WDDM 1.1 drivers. While the Windows Vista drivers work as expected, the new 1.1 drivers provide enhanced performance and a reduced memory footprint, which can make a big difference on 1GB shared memory machines. You might insert a device and receive a recently updated version of a driver as I did for a Logitech QuickCam. Another example some of you might have seen is that the Beta requires a an updated version of Skype software currently in testing. When you go to install the old version you get an error message and then the problem and solutions user interface kicks in and you are redirected to the Beta site. This type of error handling is deployed in real time as we learn more and as the ecosystem builds out support. It is only because of our partnerships across the ecosystem that such efforts are possible, even during the Beta.

Of course, it is worth reiterating that our design point is that devices and software that work on Windows Vista and are still supported by the manufacturer will work on Windows 7 with the same software. There are classes of software and devices that are Windows-version specific for a variety of reasons, as we have talked about, and we continue to work together to deliver great solutions for Windows 7. The ability to provide people the vast array of choices and the openness of the Windows platform make all of this a massive undertaking. We continue to work to improve this while also making sure we provide the opportunities for choice and differentiation that are critical to the health and variety of the overall ecosystem. This data and the work we’re doing together with partners is the critical work going on now to reach the Release Candidate phase.

We’re also looking carefully at all the quality metrics we gather during the Beta. We investigate crashes, hangs, app compat issues, and also real-world performance of key scenarios. A very significant portion of our effort from Beta to RC is focused on exclusively on quality and performance. We want to fix bugs experienced by customers in real usage as well as our broad base of test suites and automation. A key part of this work is to fix the bugs that people really encounter and we do so by focusing our efforts on the data we receive to drive the ordering and priority of which bugs to fix. As Internet Explorer has moved to Release Candidate, we’ve seen this at work and also read about it on IE Blog.

Of course the other work we’re doing is refining the final product based on all the real-world usage and feedback. We’ve received a lot of verbatim feedback regarding the user experience—whether that is default settings, keyboard shortcuts, or desired options to name a few things. Needless to say just working through, structuring, and “tallying” this feedback is a massive undertaking and we have folks dedicated to doing just that. At the peak we were receiving one “Send Feedback” note every 15 seconds! As we’ve talked about in this blog, we receive a lot of feedback where we must weigh the opinions we receive because we hear from all sides of an issue—that’s to be expected and really the core design challenge. We also receive feedback where we thought something was straight forward or would work fine, but in practice needed some tuning and refinement. Over the next weeks we’ll be blogging about some of these specific changes to the product. These changes are part of the process and part of the time we have scheduled between Beta and RC.

So right now, every day we are researching issues, resolving them, and making sure those resolutions did not cause regressions (in performance, behavior, compatibility, or reliability). The path to Release Candidate is all about getting the product to a known and shippable state both from an internal and external (Beta usage and partner ecosystem readiness) standpoint.

We will then provide the Release Candidate as a refresh for the Beta. We expect, based on our experience with the Beta, a broad set of folks to be pretty interested in trying it out.

With the RC, this process of feedback based on telemetry then repeats itself. However at this milestone we will be very selective about what changes we make between the Release Candidate and the final product, and very clear in communicating them. We will act on the most critical issues. The point of the Release Candidate is to make sure everyone is ready for the release and that there is time between the Release Candidate and our release to PC makers and manufacturing to validate all the work that has gone on since the pre-Beta. Again, we expect very few changes to the code. We often “joke” that this is the point of lowest productivity for the development team because we all come to work focused on the product but we write almost no code. That’s the way it has to be—the ship is on the launch pad and all the tools are put away in the toolbox to be used only in case of the most critical issues.

As stated up front, this is a partnership and the main thing going on during this phase of the project is really about ecosystem readiness. PC makers, software vendors, hardware makers all have their own lead times. The time to prepare new products, new configurations, software updates, and all the collateral that goes with that means that Windows 7 cannot hit the streets (so to speak) until everyone has time to be ready together. Think of all those web sites, download pages, how-to articles, training materials, and peripheral packages that need to be created—this takes time and knowing that the Release Candidate is the final code that we’re all testing out in the open is reassuring for the ecosystem. Our goal is that by being deliberate, predictable, and reliable, the full PC experience is available to customers.

We also continue to build out our compatibility lists, starting with logo products, so that our http://www.microsoft.com/windows/compatibility site is a good resource for people starting with availability. All of these come together with the PC makers creating complete “images” of Windows 7 PCs, including the full software, hardware, and driver loads. This is sort of a rehearsal for the next steps.

At that point the product is ready for release and that’s just what we will do. We might even follow that up with a bit of a celebration!

There’s one extra step which is what we call General Availability or GA. This step is really the time it takes literally to “fill the channel” with Windows PCs that are pre-loaded with Windows 7 and stock the stores (online or in-person) with software. We know many folks would like us to make the RTM software available right away for download, but this release will follow our more established pattern. GA also allows us time to complete the localization and ready Windows for a truly worldwide delivery in a relatively small window of time, a smaller window for Windows 7 than any previous release. It is worth noting that the Release Candidate will continue to function long enough so no one should worry and everyone should feel free to keep running the Release Candidate.

So to summarize briefly:

  • Pre-Beta – This release at the PDC introduced the developer community to Windows 7 and represents the platform complete release and disclosure of the features.
  • Beta – This release provided a couple of million folks the opportunity to use feature complete Windows 7 while also providing the telemetry and feedback necessary for us to validate the quality, reliability, compatibility, and experience of Windows 7. As we said, we are working with our partners across the ecosystem to make sure that testing and validation and development of Windows 7-based products begins to enter final phases as we move through the Beta.
  • Release Candidate (RC) – This release will be Windows 7 as we intend to ship it. We will continue to listen to feedback and telemetry with the focus on addressing only the most critical issues that arise. We will be very clear in communicating any changes that have a visible impact on the product. This release allows the whole ecosystem to reach a known state together and make sure that we are all ready together for the Release to Manufacturing. Once we get to RC, the whole ecosystem is in “dress rehearsal” mode for the next steps.
  • Release to Manufacturing (RTM) – This release is the final Windows 7 as we intend to make available to PC makers and for retail and volume license products.
  • General Availability (GA) – This is a business milestone and represents when you can buy Windows 7 pre-installed on PCs or as full packaged product.

The obvious question is that we know the Pre-Beta was October 28, 2008, and the Beta was January 7th, so when is the Release Candidate and RTM? The answer is forthcoming. We are currently evaluating the feedback and telemetry and working to develop a robust schedule that gets us the right level of quality in a predictable manner. Believe me, we know many people want to know more specifics. We’re on a good path and we’re making progress. We are taking a quality-based approach to completing the product and won’t be driven by imposed deadlines. We have internal metrics and milestones and our partners continue to get builds routinely so even when we reach RC, we are doing so together as partners. And it relies, rather significantly, on all of you testing the Beta and our partners who are helping us get to the finish line together.

Shipping Windows, as we hoped this shows, is really an industry-wide partnership. As we talked about in our first post, we’re promising to deliver the best release of Windows we possibly can and that’s our goal. Together, and with a little bit more patience, we’ll achieve that goal.

We continue to be humbled by the response to Windows 7 and are heads down on delivering a product that continues to meet your needs and the needs of our whole industry.

--Steven on behalf of the Windows 7 team

Leave a Comment
  • Please add 3 and 1 and type the answer here:
  • Post
  • Any plans to update the Vista WDDM to new improved 1.1 version? Thanks

  • What I'm hoping to see in Windows 7 by the time it's released is an improved installer.

    We should be able to customize our partions a bit more and be able to choose what we want on them. You could have a partition for programs, profile data, and even a small hidden one that stores your page file. I and many other advanced users would appreciate this as partitions can give you the benefit of file security and less fragmentation.

    I think it should also have things like drive mapping and the ability to create symbolic links.

  • Oh, Steven, can you push Intel to make WDDM1.1 driver for 945GM? They've decided to abandon dozens millions of netbooks with that chipset in order to sell newer ones, but it will result in poorly performing Win7 and Microsoft blame and hate; why does that happen again?

  • While everyone wants Microsoft to rush with the release of Windows 7, its good to see that MS is not succumbing to the pressure. Take your time and give us a great end product ... and from the likes of what we are seeing here, I'd say we on to something really good !

  • PLEASE FIX THIS STEVEN!

    http://www.withinwindows.com/2009/01/30/malware-can-turn-off-uac-in-windows-7-by-design-says-microsoft/

    I think you must ask user permission anyway at least for change UAC Settings.

  • There's one fundamental problem here. Thats the assertion that Windows 7 as-is is 'feature complete'. It really shouldn't be. We are asked not 3 or 4 months ago what we'd like to see in this OS. And clearly, whatever suggestions were made had no time to be incorporated. Clearly, those requests were a fraud: we were being asked to make 'tinkering' requests, but the implication was we were defining broader needs. Once again, you get the feeling of a 'halfway done' update, that care hasn't been taken to define a new way of doing things, with too much legacy stuff still in there. Take for example Device Stage: fine, if the manufacturer supports it, but what if they don't? There's still zillions of Control Panel applets, confusing overlap, and general lack of transition of old forms to new forms. Nowehere is that starker than with HomeGroup. Works fine when you connect a bunch of Win7 PCs together, but what if you've got Vista or XP machines and aren't going to change them (note, no upgrade path from XP!!)? There's nothing that talks about their participation in HomeGroup, no promise of new compatibility drivers, nothing. They're just shut out. And if MS do the research, they'll find out that every home/business in the US has this mixed bag od multi-age, multi-version hardware that is still being used. This should have been one of the abiding messages from the Vista failure: people in the 'ecosystem' running with their own agendas which don't mesh with those of end users or businesses. We expect code to work and bugs to be quashed; that's baseline. The bigger issue is what happens when I plug in old hardware that isn't directly supported? How do I move my iTunes library to my new machine? What we've got here is a re-tooling of Vista, but basically, its got all the same shortcomings and failures of concept that Vista had, just papered over and executed slightly better. For those already on Vista it is probably a worthwhile upgrade, and it'll probably be OK with new hardware and on new PCs. It doesn't fundamentally address netbook PCs (low capability machines); a very small percentage of people will make use of Touch features because their hardware doesn't support it (and I'll bet any money you like, some existing hardware already out there utilizing touch will somehow also not be supported). I won't magically get proper support for my 3 year old multi-function printer/copier/fax. Will we ever get working Cisco VPN software? Will that ever be 64-bit? Will profiles be made available for older games so they get properly recognized in Games Explorer? Will games makers actually use the updater functionality? (e.g. Steam games or those with custom updaters, which most have). Answers are probably NO to all the above. And therein lies MS's problem - they're now in damage limitation mode for all the things they didn't address, instead of asking why they didn't address them in the first place. They're into minor fixes and finding workarounds. MS, will deliver what Win 7 is defined as today. But, you still won't have given us what we wanted/needed.

  • Although I think it is a clear step above Vista, I've got a list of issues with Windows 7 after serious testing.

    I like Windows 7 but I have some concerns that I'd like addressed before final release

    First thing - EVERYONE I spoke to even at the MS booth at CES said they want the UP FOLDER back in explorer - yes there are other ways to go back one folder but the up folder was convenient.

    Classic start menu - not an option - classic start menu makes it easier to support clients if they have key components such as network properties and my computer on the desktop. I'm not saying it should be the default but why not make it an option as it was in Windows XP and Vista? I realize you can put some icons on the desktop (not IE) using personalize.

    Media Center won't let you click on album art cover once a song is already playing to play the new song from the album art cover. Seems only logical.

    Media Center - often has static in playback - using Audigy 2z sound card.

    Search works well but it would be great if the search in the start menu had a drop down just like run has in the start menu so you can repeat a search from your search history.

    Aero interface stops working without message so flip 3d stops with alt-tab - using the troubleshooting fix sometimes solves it by enabling desktop manager - sometimes it can't - how do you manually enable Windows desktop manager - personalize desktop works but nothing to control the aero interface

    Since most current receivers and other media streaming capable devices will support .flac file playback, it seems a shame not to use the native media player in windows as a media streaming server - instead because windows does not natively support flac playback, we have to look at alternative hardware streaming solutions or mediaplayers similar to windows media player but with flac support such as tversity or Twonky or Nero

    Winver does not tell you if you are running 64 or 32 bit - computer properties would be improved if 64 or 32 bit was listed in the top section. It never states if you are installing the 32 or 64 bit version during installation.

    It would be nice if it was easy to see what version and build of windows you were running by going to computer properties or by running winver - currently it tells you Windows Version 6.1 - Build 70000 - it doesn't say 7000 x64 081212-1400

    During Install if you attempt to install with a brand new drive it won't install until you format the drive and reboot.

    There is no desktop icon for IE - this was very handy for clear items and change settings etc before going into IE.

    Do something with the 200 MB partion in disk manager so it is clear that it is a restore point or whatever - change the color of it, just make it more clearly defined.

  • I really hope you give yourself time to examine the bugs we send and consider the suggestions we make. I know there's always not enough time to implement/fix everything but bear in mind we prefer having a stable, reliable, feature-rich system over a sooner shipping date :)

    Keep up the good job, beta1 is really of good quality.

  • Great job on Windows 7.

    burgesjl; I find it runs very good on my wifes Dell Mini 9 netbook.  It runs good on a 5-6 year old laptop.  It runs good on my kids low end 5 year old desktop.  So it DOES run good on low capability machines.  My kids PC is using a ten-twelve year old laser printer that works also.  It works on my work laptop, including the touchscreen.  I could go on but the point, burgesjl, is that you obviously are going on bad assumptions instead of experience.  MS delivered exactly what I wanted/needed.

  • Mr Steven you're GREAT!!

    Windows Team is Awesome!

    Thanks for Windows 7

    CONGRATULATION

  • Since the blog specifically points anti-virus vendors already having released updates for Windows 7,  I have to point out that Microsoft OneCare still doesn't run on Windows 7. There is not even a mention of any plans. This might not fall under Windows 7, however as a OneCare and Windows customer, I am punished for using OneCare.

    I upgraded my Vista desktop to Windows 7 smoothly, only to find out that Onecare anti-virus does not work. Had to back up my data and reinstall Vista. Not a pleasant experience. My fault for not checking in before and assuming Microsoft products play well together.  

    Regardless, congratulations on the progress so far..

  • There is a feature that I would like added to the double click response to a running taskbar icon. Right now one click to a running program will minimize/restore the program if there is only one instance, and will open/close the thumbnail preview if there is more then one. This makes sense, but I would like the minimize/restore functions moved to a double click in this case, and right now a double click does nothing so it's just waiting for a good function. So in short, I would like a double click to a program's taskbar icon to minimize/restore all of it's windows when there is more the one instance of the program running. In the case that one of the program's windows is open and another is minimized, I would like the double click to minimize all of the program windows, so the only time a double click would restore windows is when they were all in a minimized state to start.

    This would really help my work flow. Having no simple way to minimize all of a program's windows leaves a really big functionality gap in the window management area. Thanks much for listening.

    Christian Skyler McClelland

  • I think this one is a keeper. Loads faster than Vista, runs faster than Vista, and isn't a resource hog like Vista. You took all the best parts of Vista, revamped the worst parts, and gave everything a new coat of paint. I look forward to the RC and the final version--although a free or discounted upgrade from Vista would be cool.

    Keep up the good work.

  • Running W7 at home is great, but at work, it sucks.  Some applications require IE6. Other applications are not compatible with Vista and their suppliers are out of business: there is no way to upgrade. Even if we were willing to pay (what for, exactly?)

    W7 won't be accepted in the corporate environment without more compatibility.

  • What is Microsoft's official stance of availability of existing Vista Ultimate Extras for Windows 7?

Page 1 of 9 (129 items) 12345»