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 8 and 8 and type the answer here:
  • Post
  • @Mantvydas -- We have been working with many enterprise customers throughout the beta and for a set of customers even earlier.  I think our enterprise customers have been well-represented and of course have the opportunity to use the beta as well.  

    We work with the OEMs continuously.  Our OEM partners have had builds of Windows for months now and receive updates at a very high rate.  Our hope is that they are testing Windows 7 with their existing PC images and new images (and new PCs) right away so we are all ready at the Release Candidate step for final validation.

    @steve.thresher -- send me some additional information or use the send feedback button.  What software, which tooltip?

    --Steven

  • I am not windows fanboi but personally i haven't been this excited about a Windows OS Since NT 5 renamed to windows 2000 ;-). I have liked everything i have seen so far my favorite is the default install with little to no tweaking has a 560mb memory foot print with antivirus and defender isntalled. This will be my households next OS upgrade currently XP and vista 32-bit. The only thing i saw that was discouraging was it seems they are Keeping the inane Ultimate/home/Home premium/ etc.. marketing gimmick i felt this fell flat on its face with Vista basically there was really no compelling reason to pay the extra chunk of change for Ultimate.

    Free marketing advice for Microsoft avoid the confussion and realease monolithic Windows 7 as a base OS then sell downloadable enablement features i.e. Windows 7 + business features = Windows 7 business enabled or Windows 7 enabled for home etc..

  • from cthames:> 8) Microsoft should have included support for mounting ISO’s in Windows 7.

    +1 I agree completly, it would be very helpfull.

  • Weird to hear about x64 install problems/explorer crashes for me, since it didn't happen to me at all. Same for hibernating/sleep problems.

    Only shows how hard it is to get an OS working w/o problems on every PC.

  • I've been testing W7 for a week now, and I'm very happy with it. No crashes at all, very fast, faster even I think than the XP x64 system I used before.

    I however have a weird issue : I usually don't shut down my system, but put it into hibernation instead. And here with W7 when I do that the PC shuts down as it should, but when I come back a few hours later it's back on, with the login screen. Looks like it somehow wakes up all by itself. It only happens with hibernation, not with a normal shutdown.

    Has anyone else experienced this ?

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

    I am sure others have pointed this out to you.

    This is the first serious negative publicity I have seen about Windows 7 in the blogsphere.

    As you are well aware of the phenomenon, somebody discovers a (here, valid) issue, and bloggers pick it up. People are writing posts, voicing opinions and microsoft is being shown in the bad light here.

    This was one thing that contributed in killing Vista.... people never gave it a fair chance.

    Let's hope 7 doesn't meet the same fate.

  • I have created my own tooltip shell extension (implemented class derived from IPersistFile and IQueryInfo) that is registered against all file types (HKCR\\*\\shellx\\{00021500-0000-0000-C000-000000000046}). The implementation of IQueryInfo::GetInfoTip() is as follows:

    HRESULT CTestTooltip::GetInfoTip(DWORD dwFlags,LPWSTR* ppwszTip)

    {

    (VOID)dwFlags;

    const LPSTR szMsg="Test \t Message";

    // Get an IMalloc interface from the shell.

    LPMALLOC pMalloc;

    if (FAILED(SHGetMalloc(&pMalloc)))

    return(E_FAIL);

       // Allocate a buffer for Explorer.  Note that the must pass the string

       // back as a Unicode string, so the string length is multiplied by the

       // size of a Unicode character.

       *ppwszTip=(LPWSTR)pMalloc->Alloc((strlen(szMsg)+1)*sizeof(wchar_t));

       // Release the IMalloc interface now that we're done using it.

       pMalloc->Release();

    // If we failed to allocate memory for the tooltip

    if (NULL==*ppwszTip)

    return E_OUTOFMEMORY;

       // Fill in the tooltip text

       MultiByteToWideChar(CP_ACP,0,szMsg,  (int)strlen(szMsg)+1,*ppwszTip,(int)strlen(szMsg)+1);

       return S_OK;

    }

    Now when I hover over a file in explorer I'm shown a tooltip that only contains the word 'Test'.

  • How do I get an ID that will allow me to send feedback. If I use my usual windows live id (the one I use to log into this page!) I receive a message stating 'Invalid username or password'?

    Is it because I didn't download the beta against my windows live ID? (beta came from MSDN or tech net subscription)

  • FEATURE REQUEST:

    A software repository that can dip into Windows updates AND show updates to existing installed non-Microsoft programs.

    Right now Windows only updates itself through Windows Update and we have to rely on 3rd party setups such as filehippo.com Update Checker to see if there are newer software updates available for our programs. I am requesting something along the lines of the Ubuntu Linux Synaptic Software Updater, or using KDE, Adept Software Updater.

    I would hope that Microsoft is working with a 3rd party partner to somehow put together a Windows Repository where Windows Updates and non-Microsoft software can release their software and updates in one place for all the updates needed. The filehippo.com website has it right but unfortunately Vista and W7 automatically stops the program from starting up thus does not allow it to check for software updates. Even if you try to manually run it, DEP blocks it.

  • @julx64

    I had the same thing the last two nights and was going to post on that. Yes, the computer (franken-puter) (Win 7 x64) seems to come out of sleep/hibernation itself and this is the second time in two nights.

    Secondly i'm not sure if you get this problem, but whenever it comes out of hibernation (either by me or franken-puter by itself) my audio doesn't seem to work at all and I have to restart my computer. This happens anytime the computer goes to sleep/hibernate. I commented about this yesterday here.

  • One last thing... I was out spreading the word playing World of Warcraft (I play every once in a while) by saying "Windows 7 and WoW were meant to be together" and after the third time I said it I got a BSOD. Not sure about the irony here... I did laugh though. :)

    I haven't had it happen since but then I only played for 2 hours. It ask to send a report so not sure if it sent the BSOD information to the team.

  • I'd like to hear more about WARP, Windows Advanced Rasterization Platform, which would be very interresting to hear about from an engineering perspective as you have not talked about it yet and as far as I know it is not yet included in the beta that is features complete?

    see http://www.tomshardware.com/news/windows-cpu-gpu,6645.html for more detail

  • Sku Edition Windows 7

    http://www.winsupersite.com/win7/win7_skus.asp

    2 version   Home premium and Professional

    Ok I preorder today PROFESSIONAL WOW!! :D

  • Hi,

    as I'm working as non-admin (yep, I'm not talking about (admin && uac) but (not admin) && uac) I really like UAC. It's the best thing that could happen to me.

    But although I'm not affected by the UAC flaw described on several blogs I would really like to see it fixed as in my opinion it's clearly a problem. Set the bar for attackers high! Please don't just insist on "something else has already been breached" - better two fences than one!

    Do you remember the flaw of the speech recognition in Vista? It was that an attacker could somehow play an audio file and have the computer execute the commands that were played through the speakers and accepted by the mic when SR was turned on. Microsoft confirmed that flaw although it also required another thing to be breached before.

    So why not fix the UAC issue by always requiring elevation when UAC settings are to be changed?

    Kind regards,

    Ooh

  • There you go again Microsoft, I just read that Windows 7 will also come in many flavors: http://blogs.zdnet.com/microsoft/?p=1890

    Steve please read what the author has to say and the comments too. This is really disappointing.

    It's so sad to see that the same confusing mistake that was made with the release of Vista is being made with Windows 7 too. Just drop the price of Home premium and Ultimate editions in poor countries rather than selling useless Home basic and starter editions, Linux is free. SO what's the use of these versions? If it's very cheap, rather than using pirated copies, they will simply purchase it. The something was being done to GTA 4, it was being sold in India for less than $25.

    Please learn from that mistake!!

Page 5 of 9 (129 items) «34567»