Engineering Windows 7

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

Feedback and Engineering Windows 7

Feedback and Engineering Windows 7

Just about every email we receive and every comment we get comes with feedback—something to change, something to do more of, something to do less of, and so on. As we’ve talked about in this blog, acting on each one in an affirmative manner is easier said than done. What we can say for certain, is that we are listening to each and every comment, blog post, news story, MS Connect report, Send Feedback item, and of course all the data and telemetry.  This post kicks off the discussion of changes made to the product with an overview of the feedback process.  We'll get into specific changes shortly and we'll continue to return to the theme of changes in the Release Candidate (RC) over the next weeks.  Yesterday on the IE Blog, you saw that we'll be updating IE 8 on Windows 7, and there we also talked about the feedback process in general.

Feedback about Windows 7 of course starts before we've written any code, and by the time we've got running code thousands of people outside of Microsoft have provided input and influenced the feature set and design of Windows 7.  As we've seen, the input from even a small set of customers can often represent a wide variety of choices--often in alignment, but just as often in opposition.  As we're developing the features for Windows 7 we work closely with PC makers, enterprise customers, and all types of customers across small business, education, enthusiasts, product reviewers and industry "thought leaders", and so on.  We shape the overall "blueprint" of the release based on this wide variety of input.  As we have design prototypes or code running, we have much more targeted and specific feedback by using tools such as usability tests, concept tests, benchmark studies, and other techniques to validate the implementation of this blueprint. Our goal with this level of feedback is for it to be representative of the broad set of Windows customers, even if we don't have a 1:1 interaction with each and every customer.  Hopefully this post will offer some insights into this process overall--the tools and techniques, and the scope of feedback. 

In the first few weeks of the Windows 7 beta we had over one million people install and use Windows 7.  That's an astounding number for any beta test and while we know it has been fun for many folks, it has been a lot of work for us--but work that helps to raise the quality of Windows 7.  When you use the beta you are automatically enrolled in our Customer Experience Improvement Program (anonymous feedback and telemetry, which is voluntary and opt-in in the RTM release).  Just by using Windows 7 as a beta tester you are helping to improve the product--you are providing feedback that we are acting on in a systematic manner.  Here is a sense of the scale of feedback we are talking about:

  • During a peak week in January we were receiving one Send Feedback report every 15 seconds for an entire week, and to date we’ve received well over 500,000 of these reports.  That averages to over 500 reports for each and every developer to look through!  And we're only through 6 weeks of using the Windows 7 beta, even though for many Windows 7 already seems like an old friend.
  • To date, with the wide usage of the Windows 7 Beta we have received a hundreds of Connect (the MSDN/Technet enrolled beta customers) bug reports and have fixes in the pipeline for the highest percentage of those reported bugs than in any previous Windows development cycle.
  • To date, we have fixes in the pipeline for nearly 2,000 bugs in Windows code (not in third party drivers or applications) that caused crashes or hangs.  While many Beta customers have said they are very happy with the quality of Windows 7, we are working to make it even better by making sure we are fixing the issues experienced by such broad and significant usage.
  • To date, we have recorded over 10,000,000 device installations and over 75% of these were able to use drivers provided in box (that is no download necessary).  The remaining devices were almost all served by downloading drivers from Windows Update and by direct links to the manufacturer's web site.  We've recorded the usage of over 2.8M unique plug-and-play device identifiers.
  • On a personal note, I've received and answered almost 2,000 email messages from folks all around the world, just since this blog started in August.  I really appreciate the discussion we're having and am doing my best to keep up with all the mail.

We have a variety of tools we draw on to help inform the decision making process. A key element that we have focused on quite a bit in Windows 7 is the role of data in making decisions. Everything we do is a judgment call as ultimately product development is about deciding what to get done from an infinite set of possibilities, but the role of data is essential and is something that has become far more routine and critical. It is important to be super clear—data is not a substitute for good judgment or an excuse to make a decision one way or another, but it most definitely informs the decision. This is especially true in an era where the data is not only a survey or focus group, but often includes a “sampling” of millions of people using Windows over the course of an extended time period.

A quick story from years ago working on Office, many years ago before the development of telemetry and the internet deciding what features to put in a release of Office could really be best described as a battle. The battle took place in conference rooms where people would basically debate until one or more parties gave up from fatigue (mental or otherwise)—essentially adrenaline-based product development. The last person standing, the one with the most endurance, or the one who pulled an all-nighter to write the code pretty much determined how features ended up or what features ended up in a product. Sort of like turning feature design over to a Survivor-like process. I’m sure many of you are familiar with this sort of process. The challenges with this approach are numerous, but inevitably features do not hold together well (in terms of scenarios or architecture), the product lacks coherency, and most importantly unless you happen to have a good match between the “winner” and the target customers, features will often miss the mark.

In the early 1990’s we started instrumenting Word and learning about how people actually used the software (this was before the internet so this was a special version of the product we solicited volunteers to run and then we would collect the data via lots of floppies). We would compile data and learn about which features people used and how much people used them. We learned things such as how much more people used tables than we thought, but for things very different than tables. We learned that a very significant amount of time the first suggestion in the spelling dictionary was the right correction (hence autocorrect). We learned that no one ever read the tip of the day (“Don’t run with scissors”). This data enabled us to make real decisions about what to fix, the impact of changes, and then when looked at the goals (the resulting documents) what direction to take word processing.

Fast forward to the development of Windows 7 and we’re focused on using data to help inform decisions we make. This data takes many forms and helps in many ways. I know a lot of folks have questions about the data – is it representative, how does it help fix things people should be using but don’t, what about doing new things, and so on. Data is an important element of making decisions, but not a substitute for clear product goals, meaningful customer engagement, and working across the ecosystem to bring Windows 7 to customers.

Let’s talk a bit about “bugs”. Up front it is worth making sure we’re on the same page when we use the much overloaded term bug. For us a bug is any time the software does something that someone one wasn’t expecting it to do. A bug can be a cosmetic issue, a consistency issue, a crash, a hang, a failure to succeed, a confusing user experience, a compatibility issue, a missing feature, or any one of dozens of different ways that the software can behave in a way that isn’t expected. A bug for us is not an emotional term, but just shorthand for an entry in our database representing feedback on the product. Bugs can be reported by a human or by the various forms of telemetry built into Windows 7. This broad definition allows us to track and catalog everything experienced in the product and do so in a uniform manner.

Briefly, it is worth considering a few types of data that help to inform decisions as some examples.

  • Customer Experience Improvement Program. The CEIP covers the full set of data collected on your PC that is provided to Microsoft in an anonymous, private, and opt-in manner. During the beta, as we state, this is defaulted on. In the retail product of course this is optional. During the course of the beta we are seeing the data about usage of new features, where people are customizing the product, what commands are being used, and in general how is Windows 7 being used. You’ve seen us talk about some of this data from Windows Vista that informed the features of Windows 7, such as the display resolution being used or the number of accounts on a machine. There are many data points measured across the product. In fact, an important part of the development cycle is to make sure that new features are well instrumented to inform us of usage during beta and down the road.
  • Telemetry. While related to CEIP in the programmatic sense, we look at telemetry in a slightly different manner and you’ve seen this at work in how we talk about system performance or about the diversity of devices such as our discussion of high DPI support. Throughout the course of the beta we are able to see how boot time evolves or which devices are successfully installed or not. Important elements of telemetry that inform which bugs we fix are how frequently we are seeing a crash or a hang. We can identify software causing a higher level of issues and the right team or ISV can know to work on the issue. The telemetry really helps us focus on the benefit of the change—fixing a bug that represents thousands of customers, a widely used device, or broadly used third party software has a much bigger impact than a bug that only a few people, lower volume device, or less used software product might address. With this data we can more precisely evaluate benefit of changes.
  • Scenario based tests. During the course of developing a feature we can take our designs and prototypes (code, paper, or bitmaps) and create a structured study of how customers would interpret and value a feature/scenario. For example, early in the planning of Windows 7 we created a full working prototype of the taskbar enhancements. With this prototype we can study different types of customers (skill levels, familiarity with different versions of Windows, competitive product customers, IT pro or end-user) and how they react to well-defined series of “tasks”. This allows a much more detailed study of the feature, as one example. As with all tests, these are not a substitute for good judgment in broader context but a key element to inform decisions.
  • Benchmarking studies. As we transitioned to the pre-beta we started to have real code across the whole product so we began validation of Windows 7 with real code in real world scenarios. We call these studies benchmarking because often we are benchmarking the new product against a baseline of the previous version(s) of Windows. We might do a study where we see how long it takes to share a printer in the home and then compare that time to complete/success rate with a Windows 7 test using HomeGroup. We might compare setting up a wireless network with and without WPA. We have many of these types of benchmarks and work to make sure that we understand both the progress we’ve made and where we might need to improve documentation, tutorials, or other forms of assistance.

This type of feedback all represents structured feedback in that the data is collected based on a systematic study and usually has a hypothesis associated with it. We also have the unstructured feedback which represents the vast array of bug reports, comments, questions, and points of view expressed in blogs, newsgroups, and the Send Feedback button—these are unstructured because these are not collected in a systematic manner, but aggressively collected by any and all means. A special form of this input is the bug reporting done through the Connect program—the technical beta—which represents bug reports, feature suggestions, and comments from this set of participants.

The Windows 7 beta represents a new level of feedback in this regard in terms of the overall volume as we talked about above. If you go back and consider the size of the development team and the time it would take to just read the reports you can imagine just digesting (categorizing, understanding, flagging) issues let alone responding to them is a massive undertaking (about 40 Send Feedback reports per developer during that one week, though as you can imagine they are not evenly distributed across teams).

The challenge of how to incorporate all the feedback at this stage in the cycle is significant. It is emotional for us at Microsoft and the source of both considerable pride and also some consternation. We often say “no matter what happens, someone always said it would.” By that we mean, on any given issue you can be assured that all sides will be represented by passionate and informed views of how to resolve it, often in direct opposition to each other plus every view in the middle. That means for the vast majority of issues there is no right or wrong in an absolute sense, only a good decision within the context of a given situation. We see this quite a bit in the debates about how features should work—multiple solutions proposed and debate takes place in comments on a blog (people even do whole blogs about how things should work). But ultimately on the Windows development team we have to make a call as we’re seeing a lot of people are looking forward to us finishing Windows 7, which means we need to stop changing the product and ship it. We might not always make the right call and we’ll admit if we don’t make the right call, even if we find changing the behavior is not possible.

Making these decisions is the job of program management (PM). PMs don’t lock themselves in their offices and issue opinions, but more realistically they gather all the facts, data, points of view, and work to synthesize the best approach for a given situation. Program management’s role is making sure all the voices are heard, including beta testers, development, testing, sales, marketing, design, customer support, other teams, ISVs, IHVs, and on and on. Their role is to synthesize and represent these points of view systematically.

There are many factors that go into understanding a given choice:

  • What is it supposed to do? At the highest level, the first question to ask is about how is something supposed to work. Sometimes things are totally broken. We see this with many many beta issues around crashes and hangs for example. But there’s not a lot of debate over these since if it crashes in any meaningful frequency (based on telemetry) it should be fixed. We know if it crashes for you then it is a “must fix” but we are looking across the whole base of customers and understanding the frequency of a crash and also whether the code is in Windows, a driver from a hardware maker, or software from a third party—each of those has a different potential resolution path to consider. When it comes to user interaction there’s two elements of “supposed to do”. First, there’s the overall scenario goal and then there’s the feedback of how different people with different experiences (opinions) of what it should do. As an example, when we talked about HomeGroup and the password/passphrase there was a bunch of feedback over how this should work (an area we will be tweaking based in part on this feedback). We of course have specifications and prototypes, but we also have a fluidity to our development process such that we do not have 100% fidelity before we have the product working (akin to architectural blueprints that leave tons of decisions to be made by the general contractor or decided while construction is taking place). There are also always areas in the beta where the feature is complete but we are already on a path to “polish” the experience.
  • How big is the benefit? So say we decide something is supposed to behave differently. Will it be twice as good? Will it be 5% better? Will anyone notice? This is always a great discussion point. Of course people who advocate for a change always are convinced that the change will prevent the feature from being “brain dead” or “if you don’t change this then the feature is dead”. We see this a lot with areas around “discoverability” for example—people want to put something front and center as a way of fixing something. We also see many suggestions along the lines of “make it configurable”. Both of these have benefits in the near term of course, but both also add complexity down the road in terms of configurations, legacy user interface, and so on. Often it is important to look at the benefit in a broader context such as how frequently something will be executed by a given person or what percentage of customers will ultimately take advantage of the improvement. It is not uncommon internally to see folks extrapolate instantly to “everyone does this”!
  • How big is the change? Early in the product cycle we are making lots of changes to the code—adding new code, rearchitecting, and moving things around a lot. We don’t do so willy nilly of course but the reality is that early in the cycle there is time for us to manage through the process of substantially changed code and the associated regressions that will happen. We write specifications and have clear views of features (scenario plans, prototypes, and so on) because we know that as the project progresses the cost of making big changes of course goes up. The cost increases because there is less time, but also because big change late in the cycle to a large system is not prudent engineering. So as we consider changes we also have to consider how big a change is in order to understand the impact across the system. Sometimes change can be big in terms of lines of code, and lots of code is always risky. But more often the change is not the number of lines, but the number of places the code is connected—so while the change sounds like a simple “if” statement it is often more complex than that. Over the years, many have talked about componentization and other systems engineering ways to reduce the impact of change and of course Windows is very much a layered system. The reality is that even in a well layered system, it is unlikely one can change things at the bottom and expect no assumptions of behavior to carry forth through subsequent upper layers. This “defensiveness” is an attitude we have consistently throughout our development process because of the responsibility we feel to maintain compatibility, stability, performance, and reliability.
  • How costly is the change relative to the benefit? Change means something is different. So any time we change something it means people need to react. Often we are deliberate in change and we see this in user interface, driver models, and so on. When new are deliberate people can prepare and we can provide tools to help with a transition. We’ve seen a lot of comments about new features that react to the cost of change. Many times this commentary is independent of the benefit and just focuses on the change itself. This type of dialog makes it clear that change itself is not always good. With many bug reports we hear “this has been in Windows for 3 versions and must be fixed in Windows 7”. Over many releases of Windows we have learned that behaviors in the system, particularly in APIs, message order and semantics, or interfaces might not be ideal, but changing them introduces more complexity, incompatibilities, and problems for people than the benefit of the change. Some view these decisions as “holding us back” but more often than not it would be a break from the past one day only to create a new past to break from the next. The existing behavior, whether it is an API or a user interface, defines a contract we have and part of building a release is making sure we have a well understood cost/benefit view, knowing that as with any aspect of the system different people will have different views of this “equation”.
  • In the context of the whole release, how important is this issue? There is the reality that all decisions need to be made in the context of the broader goals of the release. Each release stands for a set of core scenarios and principles that define the release. By definition it means that each release some things will change more than others and some things might not change at all. Or said another way, some parts of the system will be actively worked on towards a set of goals while we keep other parts of the system more or less “stable” release over release. It means that things you might want to see changed might not change, just because that is an area of the product we’re not mucking with during Windows 7. As we’ve talked about, for Windows 7 we put a lot of work into various elements of system performance. Aside from the obvious scenario planning and measurement, we also took very seriously areas of the system that needed to change to move us forward. Likewise, areas of the system where the performance gain would not be significant enough to warrant change do not change that much. We carry this forward through the whole cycle as we receive data and telemetry.
  • How does the change impact security, reliability, performance, compatibility, localizability, accessibility, programmability, manageability, customizability, and so on? The list of “abilities” that it takes to deliver windows is rather significant. Members of our development team receive ongoing training and information on delivering on all of these abilities so we do a great job across the product. In addition, for many of these abilities we have members of the team dedicated full time to delivering on them and making sure across the product we do a good job. Balancing any change or input against all of these abilities is itself a significant undertaking and an important part of the research. Often we see input that is very focused on one ability which goes counter to another—it is easy to make a change to provide customization for example, but then this change must also be customizable for administrators, end-users, and PC makers. Such complexity is inherent in the very different scenarios for usage, deployment, and management of PCs. The biggest area folks see us considering this type of impact is when it comes to changing behavior that “has been in the product forever”. Sometimes an arbitrary decision made a while back is best left as is in order to maintain the characteristics of the subsystem. We know that replacing one old choice with a new implementation just resets the clock on things that folks would like to see be different—because needs change, perspectives change, and people change.

These are just a few of the factors that go into considering a product change. As you can see, this is not something that we take lightly and a lot goes into each and every change. We consider all the inputs we have and consider all the data we can gather. In some ways it is easy to freeze thinking about the decisions we must make to release Windows 7—if you think too hard about a decision because you might start to worry about a billion people relying on something and it gets very tricky. So we use data to keep ourselves objective and to keep the decision process informed and repeatable. We are always humbled by the responsibility we have.

While writing this post, I received a “bug report” email with the explicit statement “is Microsoft going to side step this issue despite the magnitude of the problem” along with the inevitable “Microsoft never listens to feedback”. Receiving mail like this is tough—we’re in the doghouse before we even start. The sender has decided that this report is symbolic of Microsoft’s inability or lack of desire to incorporate critical feedback and to fix must fix bugs during development. Microsoft is too focused on shipping to do the right thing. I feel like I’m stuck because the only answer being looked for is the fix and anything less is a problem or further proof of our failure. And in the back of my mind is the reality that this is just one person with one issue I just happen to be talking to in email. There over a couple of million people using the beta and if each one, or for that matter just one out of 10, have some unique change, bug fix, or must do work item we would have literally years of work just to make our way through that list. And if you think about the numbers and consider that we might easily get 1,000,000 submitted new “work items” for a product cycle, even if we do 100,000 of them it means we have 900,000 folks who feel we don’t listen compared to the 100,000 folks who feel listened to. Perhaps that puts the challenge in context.

With this post we tried to look at some of the ways we think about the feedback we’re getting and how we evaluate feedback in the course of developing Windows 7. No area is more complex than balancing the needs (and desires) of such a large and diverse population—end-users, developers, IT professionals, hardware makers, PC manufacturers, silicon partners, software vendors, PC enthusiasts, sysadmins, and so on. A key reason we augment our approach with data and studies that deliberately select for representative groups of “users” is that it is important to avoid “tyranny of the majority” or “rule by the crowd”. In a sense, the lesson we learned from adrenaline -based development was that being systematic, representative, and as scientific as possible in the use of data.

The work of acting on feedback responsibly and managing the development of Windows through all phases of the process is something we are very sincere about. Internally we’ve talked a lot about being a learning organization and how we’re always learning how to do a better job, improve the work we do, and in the process work to make Windows even better. We take this approach as individuals and how we view building Windows. We know we will continue to have tough choices to make as everyone who builds products understands and what you have is our commitment to continue to use all the tools available to make sure we are building the best Windows 7 we can build.


Leave a Comment
  • Please add 3 and 6 and type the answer here:
  • Post
  • I founded same kind of bug in vista ultimate x64 like described >

    Downloaded to desktop autocad 2009 student version (2.5GB). for testing I did:

    I right clicked to run as administrator.after that there`s lot file file io and everything is hunging.Mouse showing loading forewer. after I managed to go taskmanager and killed explorer.exe. Then when I started explorer again only internet explorer was in taskbar,another programs were missing like firefox,pspad editor etc. Also live messenger was not in systray. This is a serious problem. Same problem happens with catalyst drivers before run as administator automatically promts. But it so much smaller file that file io doesn`t last so long that everything hangs thats why i haven`t noticed this bug yet.

    If someone at microsoft wants to contact me for solving this problem in windows i would be gladly to help. Y know where you get my email as I`m registered to here. I did`t know were else to submit this.

  • @ manicmarc, re: DRM

    A few months ago I had a funny thing happen.  I was testing a HP printer driver, scanned and printed some currency.  Intricate and colorful.  The printout was interrupted and a tiny RULESFORUSE.ORG url was footnoted on the page.  I went to that site and learned that my print was ok.  Not that I would care anyway while printing a one-sided ordinary-paper oversize water-soluble ink-jet copy as a test.  But I was outraged by this BIG BROTHER inside my computer.

    You should be too.

    I think I will put black opaque tape over the webcam when not in use.

  • One thing i have in vista is that when something wakes computer from sleep why, when the task is complete, why windows can`t automatically put computer back to sleep. I`ve take allwous everything off that i can think that coud wake up computer. I`ve put windows update to manual, every wakeuppable device is set to not wakeup and allmous all scheduled tasks are disabled. '

    I`ve set my computer to sleep after 30mins.

    And still my computer wakes random times and is on when i wake.It should save power at nights.

    There should be a way to know witch thing has powered computer and setting for only wakeup when pressing power button or mouse or keyboard only for example. I hope there`s better way to diagnose wakeups in W7.

  • Dear windows 7 Team and dear Mister Sinofsky, so this is that I have to say you:

    Continue Yor good job on windows 7 64 bit , for RC , these are imperative :

    1) Complete all Api of windows 7 64 bit and finalize and activate also , the Multithereading Processes on windows 7 , for improve brutally power of Boot Speed and Multicore Performance on windows 7 scenarios!!!!

    2) Attenction!!! Today Open Cl library of Kronos Group are reality !!!! ( See Havok Engine on Open CL , with Power of Computation of Graphic-Phisyc and  AI) , on GPU !!!!!!!!!













  • See my subject-line, & earlier posts in this regards:  

    I have YET to see a valid technical response from anyone online, be they Microsoft networking personnel (or otherwise) as to:


    1.) Why HOSTS files in VISTA/Server 2008/Windows 7 cannot use the more efficient on disk smaller 0 blocking IP address

    (vs. the larger & slower to load loopback adapter, or the slightly less efficient, for stopping known bad site access)




    2.) Why the GUI front-end for PORT FILTERING has been removed in VISTA/Server 2008/Windows 7...

    (&, the reasoning from the VISTA resource kit is poor in this regards, because removing the PORT FILTERING gui control feature ONLY doesn't prevent the other 2-3 methods of layered security from working WITH (or against) one another, as the reasoning was stated)


    Removing the PORT FILTER gui control layer of security is a BAD MOVE - the reasoning was that removing it was because none of the methods in software firewalls, IP Security Policies, Port Filtering & even RRAS methods do not "automatically sync" w/ one another...

    WELL - so what?

    I say that, because this actually WORKS IN FAVOR of "layered security", because if 1 of them goes down (or, is taken down, which is what malware often seek to do, say, in the case of software firewalls), the other layered security methods are in the way...

    This is much like folks using deadbolt locks, door handle locks, & chain locks on the doors of their homes - break 1? The others still function to stop intruders.

    I.E.-> By removing port filtering's easy to use GUI front-end?

    MS, You removed 1 of those layers of layered security.


    P.S.=> Nobody seems to be answering why this was done, especially in favor of BOTH of the above points, as to WHY it was done... could it be MS has made a mistake here, & is unwilling to admit it publicly?

    Until I see a SOLID, LOGICAL TECHNICAL REASON for both of the above occurring, because I have not to date, @ this poin, from YOU folks @ MS, or from others interested in the area of TCP/IP networking online?

    I am leaning to my conclusion here - MS has messed up...

    (& so what to that also?)

    I say this, because this is only notice from myself that it needs fixing on BOTH accounts above, per the reasons noted by myself here a few times earlier above already - giving you an opportunity to either FIX this, or tell us WHY THIS WAS DONE on both accounts #1 & #2 above now... apk

  • I think your Microsoft XPS Document Writer has a lot of potential - hope people remember to use it.  just installed 7 (7057) and forgot to install nitroPDF from print.. although have it online.

    I saw XPS but never used it, today I made the 'accident' of using it because nitro was not there - IT IS GOOD!

  • Following up on what I wrote up above!

    (That's so others here have some documentation from Microsoft themselves, & especially in regards to the differences in HOW their security works now)

    Thus, I'll now note how:


    1.) TCP/IP packet processing paths differences between in how Windows 2000/XP/Server 2003 did it (IPSEC.SYS (IP Security Policies), IPNAT.SYS (Windows Firewall), IPFLTDRV.SYS (Port Filtering), & TCPIP.SYS (base IP driver))...

    2.) AND, how VISTA/Server 2008/Windows 7 do it now currently, using a SINGLE layer (WFP)...


    First off, here is HOW it worked in Windows 2000/XP/Server 2003 - using 3 discrete & different drivers AND LEVELS/LAYERS of the packet processing path they worked in:

    The Cable Guy - June 2005: TCP/IP Packet Processing Paths


    The following components process IP packets:

    IP forwarding Determines the next-hop interface and address for packets being sent or forwarded.

    TCP/IP filtering Allows you to specify by IP protocol, TCP port, or UDP port, the types of traffic that are acceptable for incoming local host traffic (packets destined for the host). You can configure TCP/IP filtering on the Options tab from the advanced properties of the Internet Protocol (TCP/IP) component in the Network Connections folder.

    Filter-hook driver A Windows component that uses the filter-hook API to filter incoming and outgoing IP packets. On a computer running Windows Server 2003, the filter-hook driver is Ipfltdrv.sys, a component of Routing and Remote Access. When enabled, Routing and Remote Access allows you to configure separate inbound and outbound IP packet filters for each interface using the Routing and Remote Access snap-in. Ipfltdrv.sys examines both local host and transit IP traffic (packets not destined for the host).

    Firewall-hook driver A Windows component that uses the firewall-hook API to examine incoming and outgoing packets. On a computer running Windows XP, the firewall-hook driver is Ipnat.sys, which is shared by both Internet Connection Sharing and Windows Firewall. Internet Connection Sharing is a basic network address translator (NAT). Windows Firewall is a stateful host-based firewall. Ipnat.sys examines both local host and transit IP traffic. On a computer running Windows Server 2003, Ipnat.sys is shared by Internet Connection Sharing, Windows Firewall, and the NAT/Basic Firewall component of Routing and Remote Access. If the NAT/Basic Firewall component of Routing and Remote Access is enabled, you cannot also enable Windows Firewall or Internet Connection Sharing.

    IPsec The IPsec component, Ipsec.sys, is the implementation of IPsec in Windows to provide cryptographic protection to IP traffic. Ipsec.sys examines both local host and transit IP traffic and can permit, block, or secure traffic.


    1.) After receiving the IP packet, Tcpip.sys passes it to Ipsec.sys for processing.

    If the packet has IPsec protection (the IP Protocol field value indicates either Authentication Header [AH] or Encapsulating Security Payload [ESP]), it is processed and removed. If the Windows Firewall: Allow authenticated IPSec bypass Group Policy setting applies to the computer, Ipsec.sys sets an IPsec Bypass flag associated with the packet. Ipsec.sys passes the resulting packet back to Tcpip.sys.

    If the packet does not have IPsec protection, based on the set of IPsec filters, Ipsec.sys determines whether the packet is permitted, blocked, or requires security. If permitted, Ipsec.sys passes the packet back to Tcpip.sys without modification. If the packet is blocked or requires security, Ipsec.sys silently discards the packet.

    2.) Tcpip.sys passes the packet to Ipfltdrv.sys for processing.

    Based on the interface on which the packet was received, Ipfltdrv.sys compares the packet to the configured inbound IP packet filters.

    If the inbound IP packet filters do not allow the packet, Ipfltdrv.sys silently discards the packet. If the inbound IP packet filters allow the packet, Ipfltdrv.sys passes the packet back to Tcpip.sys.

    3.) Tcpip.sys passes the packet to Ipnat.sys for processing.

    If Internet Connection Sharing or the NAT/Basic Firewall is enabled and the interface on which the packet was received is the public interface connected to the Internet, Ipnat.sys compares the packet to its NAT translation table. If an entry is found, the IP packet is translated and the resulting packet is treated as source traffic.

    Windows Firewall checks the IPsec Bypass flag associated with the packet. If the IPsec Bypass flag is set, Windows Firewall passes the packet back to Tcpip.sys.

    If the IPsec Bypass flag is not set, Windows Firewall compares the packet to its exceptions list. If the packet matches an exception, Ipnat.sys passes the IP packet back to Tcpip.sys. If the IP packet does not match an exception, Ipnat.sys silently discards the IP packet.

    Tcpip.sys compares the IP packet to the configured set of allowed packets for TCP/IP filtering.

    If TCP/IP filtering does not allow the packet, Tcpip.sys silently discards the packet. If TCP/IP filtering allows the packet, Tcpip.sys continues processing the packet, eventually passing the packet payload to TCP, UDP, or other upper layer protocols.


    NOW, the new method, "WFP", used by Windows VISTA, Windows Server 2008, & the upcoming Windows 7:


    "The IPsec Policy Agent service and Windows Firewall are examples of WFP applications that are included with Windows Vista and Windows Server 2008"


    "Because all the applications and services use the same filtering engine, it is easier to determine whether other applications or services exist that perform the same function."

    (JUST A SINGLE LAYER/LEVEL OF WORK, instead of 3 discrete-separate ones)


    SO - what is the "problem" I have with this NEW method?

    (That yes, does seem to "sync" what was 'out-of-sync' in older Windows 2000/XP/Server 2003, but, what I felt was a STRENGTH of that, & NOT a weakness)



    (I.E.=> ONLY 1 THING TO "TAKE OUT" vs. 3 like before... actually making it EASIER to attack because of this!)


    P.S.=> I'll gladly take feedback on this, especially from NETWORK ENGINEERS or NETWORK CODERS in Win32 API's especially...

    Mr. Mitch Tulloch of & I have been looking into this, & today, I came upon the "Windows Filtering Platform" documentation today, & those are MY thoughts on it, thusfar: Feedback, please! Thanks for your time... apk

  • I hope someone really reads this and even someone from Microsoft will really consider what I'm saying here.

    Vista seemed to come with a mix of emotions, much love and hate. But the overall public's perception didn't seem warm. Vista wasn't the success Microsoft hoped for and these are facts. So why now would Microsoft make a new OS that even remotely looks like the old?

    From a technical perspective, the geeks themselves, people might be saying, who cares? But what about the general public that hated Vista so much, don't you think the average consumer who knows nothing about computers is going to look at this and go, here's just a Vista look alike update and I don't want to be bothered with anymore of this Windows garbage.

    Let's be honest here people are fed up with the virus and malware problems that persit in Windows and Vista wasn't much of a help. Also Microsoft's efforts at trying to give the general public a tool to help, namely Windows Defender hasn't turned out to be much help at all. In fact the general consensus is to not use the product once they've learned about better 3rd party freeware applications. It's only a matter of time and Windows Defender gets dumped by users. Windows defender should be an option to install.

    Speaking of options that we all started to love in 98 and 2000 with choices during the install, what happened to these? Microsoft should give users choices. Consumers should be allowed install options of what they want and don't want during the install. No install options and people feel left out, forced to take what they get. This was one thing I really hated when I saw Microsoft move away from, just making it a auotmated one size fits all install, no options, we all take the same thing and learn to like it.

    Let's take a laymans perspective here, honestly, do people all drive the same cars, like the same colors, clothes, dogs, just about anything you can think of? Of course not people have personal choices for just about everything, so why does Microsoft think we don't want choices during the installation to customize Windows to our software tastes?

    Getting to pick your wallpaper and login icon are not choices. Users need software choices during the install, to pick and choose what they want.

    Getting back to the OS, why would a company take a product that didn't have good success and continue making a new product that looks similar? This doesn't make good business sense. Maybe Microsoft's thinking here is that the look and feel has become comfortable and we don't want to rock the boat to much on this and give the general public something with a whole new look and feel and shock them.

    For whatever reasons, possibly time constraints, just not enough time to push something out the door, completely fresh in the GUI looks. No matter what the reasons are Microsoft should of never given it the same looks at all, this might backfire.

    Microsoft took a lot of backlashing on Vista and now to bring a new OS with the same looks and feels is a big mistake.

    If Microsoft has the time they really need to go back to the Windows GUI department and bring a new look. I only installed the RC last night and didn't have a chance to really explore it, but I was really shocked to see the same looks, I really didn't like at all what I saw. I felt like all I was running in the cosmetic department was a Vista update and people are drawn by looks.

    Let's consider just one small thing here, the taskbar, look how cool a taskbar OS X gets and this is the best Microsoft gives Windows users, at least from a cosmetic perspective? The look is not that great and the icons are the same old sad look.

    Windows 7 really needed a fresh look with some really cool modern 3D looking icons.

    Of course underneath the hood Windows 7 is different, but only techs and geeks will appreciate this. The average lay person is looking at the overall look and feel and how it seems to respond to user input and when it looks the same, feels the same and responds the same, well I hope you get the picture, you're going to get the same crowd yelling about how they don't like it.

    When Microsoft announced a new OS the world that hated Vista so much jumped in joy and couldn't wait to do what? ---> SEE IT!

    Now that I see it and it looks pretty much like the old except for a few cosmetic changes I can't say I'm all that excited and I have a feeling so will a big majority of the world's population, but one fact that is true that no one can argue, only time will tell. But is Microsoft really going to bank on it being good enough after all the slapping around it took on Vista, to then give users what this looks like in the RC? Please someone slap me, you've got to be joking.

    When you have a flop you give the public a new look, a complete makeover, you remove the picture of the past failure that no one wants to remember what it looked like and move on with this new fresh look that takes their mind away from the horror of the past.

    Windows 7 needs it's own look, not a clone Vista wannabe, because that's what Windows 7 appears to be, big brother wanting to look like big sister.

    Remember for all I've said here, we're not talking about what is under the hood that really counts, because when the average consumer goes to buy a product or a car, are they really under the hood, flooding themselves on the technical specs? No they are not, they are moved by what they SEE and FEEL!

  • My comment/suggestion for the windows devs or 3 party if it isn't included in the release... is;

    Have an option to change between the different power saving options from the system tray.

    ie. a check box to show options in the system tray  at control panels option selection page.

  • This is a good perspective. Of course, I have a suggestion. :)

    It has seemed to me for some time that one underlying assumption should change: that one family of Windows needs to satisfy all the user communities you list. I don't believe this to be the case.

    As a professional user (graphic design and web development) I have certain needs that are not only not met, but are actually interfered with by the consumer/homeowner features that I call "The video game as User Interface." Things like window animations or Flip 3D only slow me down. It's not a matter of system speed, it's that an animation takes time, no matter how fast the CPU or GPU run.

    I not only don't need, I absolutely don't want media center code cluttering up my work system.

    As "Tier 0" tech support (aren't we all?) for friends and family, I see many complexities in Windows, essential for Enterprise deployment, that have absolutely no value to the home user. But there they are, and the home user is baffled.

    Telemetry in and of itself, without differentiating home user from professional user (not to mention IT pros), can lead one far astray. Office 2007's ribbon may, in the very long term, turn out to be quite useful for the home user. For people who know how to run Office, in my own experience, it's a nightmare. (I didn't upgrade because all the tools I use were mostly impossible to find when I tried out 2007.)

    Worse, there are hundreds of thousands of users who run Word and Excel by following step by step notes from the help desk or people like me, to do simple tasks like print, save, open and change documents. All of those carefully crafted How-Tos were swept away.

    So my beef is not "you absolutely should fix X". There are lots of "X" and viewpoints are individual. It's that telemetry only gives aggregate data, heavily weighted to the home user, who is overwhelmingly in the majority.

    There are other user communities whose needs are far, far different, and the professional communities in general, necessarily in a minority and who are neither home users nor enterprise IT users, seem to be getting the short end of the telemetry stick.

  • @dasfox: I feel you're confusing a PR problem (Vista was in a PR black hole before it was even released) with technical or user issues. PR problems are solved with PR, not a new UI or more chrome. Whoever handled the PR and marketing of Vista did a phenomenally bad job, because they allowed Apple to walk all over them and utterly failed to create the perception that Vista was a big step forward (which it was and is, in many ways).

  • I installed Windows 7 RC on my computer, which equipped with 3gb ram, intel Q6600 processor and a geforce 9500gs.

    I tried some programme and games without problem.

    But when I tried the game crossfire (downloaded on, which i played on vista, there was a dumping error and windows shut downed. After that I have a problem to restart or restore my computer.

  • Just in case you care for user feedback look from this post and below:

    don't forget this one:

  • Hi Win7 engineers,

    We need environment variables for:




    I hope those EVs can be add to Win7.

    Thank you.

  • It would be really great if somehow before Windows is released if the ability to manipulate the taskbar was simpler. I use a tablet PC quite often and use both portrait and landscape screen orientation (depending on what is comfortable). When I am in landscape orientation it is easier to have the taskbar on the side. When it is in portrait orientation it is better on the top or bottom. This allows for more screen room to write. It would be so easy if somehow there was an option to have the taskbar automatically move to those positions when I switch orientations. If that is not possible, then it would be nice to at least have to have "Auto-hide The Taskbar" and the "Taskbar location on screen" options in the drop down menu when you click on the taskbar (alon with "Lock the taskbar"). Even if this was all that was possible that would make Window 7 Top Noche for me. OTher than this suggestion, I think that Windows & has turned out well. Is this even the right place to leave this kind of feedback? Is is too late? Thanks.

Page 5 of 7 (105 items) «34567