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 1 and 1 and type the answer here:
  • Post
  • Hoping to see some last minute RTM build-exclusive surprises like XP's awesome icons, music and tour.

  • 7 is very impressive on the whole, and I am excited for the RC when it comes.

  • Do you aware of this security flaw of UAC in Windows 7

    http://www.istartedsomething.com/20090130/uac-security-flaw-windows-7-beta-proof/

    Other than that, Windows 7 rocks!

  • I've just read this: http://www.istartedsomething.com/20090131/microsoft-dismisses-windows-7-uac-security-flaw-insists-by-design/ and I hope Windows 7 development team will change is idea.

  • I think that is not a UAC flaw, but a Windows flaw with too much DLL Hooks accessible to the programmer without checking the permissions.

    Why a standard user program can emulate keyboard input?

    However I think that is good to ask the permission for changing UAC settings whatever is UAC level.

  • Well I've blocked the scripts through Windows 7 AppLocker ;) I think that Steven can write a piece on AppLocker ;).

    In the Beta the DLL Enforcement rule doesn't work, but I hope that Microsoft can make some default rules about some dll hooking, with enable/disable user control.

  • The problem in the UAC is realy a flaw. Specialy because the UAC's behavior should not be a "Windows setting", it should be a "Security setting" and if you don't have that kind then it's better rebranded as a "Computer setting" even if it's not.

    As noted, it could be solved by setting the UAC to always prompt ( Vista style ) but this imply user's intervencion, wich we know its not going to happen and the only thing malware writers has to do to upgrade to W7 is to remember disable the UAC first.

    The answers provided by Microsoft by now has told me that the development team is not involved in this, but we like to know your stand in this issue.

  • Sirus, this is Beta

    No RC or RTM

  • So far, Win7 made a very good impression on me. It works much faster than Vista, all the Vista drivers worked for me so far on my laptop and only a few components were not supported on my 7 year old desktop, simply because the manufacter doesn't support Vista drivers so there won't be plans for win7 either...

    I had some weird issues but all of them seem to be solved by now, so i'm running win7 as my main OS and will be more than happy to buy a license when win7 will be released, if the performance stays the same.

    As for old hardware compatibility, why are so many people expecting a new OS to work on a dinosaur PC? I do not, and i accept it. winXP does a good job on those old PCs, so why put so many legacy drivers into win7, especially when they all will be wasting space on your HDD, since the installation routine copies all files from the DVD, Vista style?

    Same for old, incompatible software. How old must it be to be incompatible with vista/se7en? win95 era? -_- All programs from win2k/xp era i use work fine with vista/se7en. If you want to use those old programs, use the OS that supports it or get an alternative. I know i'm oversimplifying this and it might be not that easy in corporate environment, but hey, if people finally stop clinging to old stuff we will be able to progress faster.

  • Domenico: it's not about the product stage right now, it's about official Microsoft statements concerning this situation (http://www.neowin.net/news/main/09/01/31/microsoft-insists-uac-vulnerability-is-not-a-flaw).

    These statements define this kind of UAC behavior as normal ('by design'). Unfortunately, for most of the users, this is far from being normal.

    I'm sure the dev team is aware of this but official announcments like this are rather strange.

  • Windows 7 as it stands now is a "feature complete Beta"? No desktop background RSS feeds? Why did you even include a "Send Feedback" link? When is the right time to send suggestions? Why did I write all the comments to this blog if Win7 is already feature complete? Why did you ask for suggestions?

    Windows development always (read 2000, Vista and 7) felt like this for me:

    1. Rumours

    2. MSFT: "We are working on it"

    3. MSFT: "Beta, give us suggestions"

    4. Me: "Wow looks great. Now if they would only change this and that..."

    5. MSFT: "Beta is feature complete. We don't care about your 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."

    Emm... just some recommendation - move completely to Open Source model, then?:)

  • I would like to hear updates on the number of Windows 7 sku's that will be released.  

    Personally I still think the Vista model is flawed.  There should be a max of 3 versions.  Business, Home, Portable.   I think you would be better off with just 1, and that one have the ability to run in a low resource mode for the netbooks.

    Also I would like to see you all come up with a home pack answer.   Apple is really kicking MS on this one.  

    On the business front - when does the beta start for the workstation / business sku?

  • The windows team talked a lot about video driver that could use the CPU to use aero (to use for example inside VM) so did you guys let that go away?

    wtroost> That's why microsoft is pushing MED-V (which can run apps on virtual pc without the user noticing it, or using APP-V (formely softgrid)). I suggest you visit www.microsoft.com/virtualization

    d_e> Indeed, this post appear to indicate that our feedback on idea/what to add is meaningless to them, it reminds me of a blog post when a dev @ msft had a great idea and his manager told him "if the idea really was that great one of our lead architects would have thought of it by now".

    compuser> One care will soon disappear and will be "replaced" by a free antivirus named Morro by microsoft.  See http://www.securityfocus.com/brief/857

    This is the first time in Windows history that they will finally ship a NEW version of windows that is faster than the last one ! Let me just say this was about time ... thanks msft for not eating out new processing power this time around, much appreciated and please continue on that model.

  • @tom5

    More and more and more people said

    Uac annoyng uac annoyng switch to XP etc. etc.

    probably at this point team has decided to set the settings of "UAC" so simple.

    You wont protection? Ok set UAC Level max.

    for me UAC (Vista or Seven)the only problem is With nvidia Driver + DVI = Flash black screen (driver Nvidia all version) (No problem for notebook or VGA)

    this is the price to pay for security?

    See OSX last problem security , phtoshop crack k or I life

Page 2 of 9 (129 items) 12345»