Notes on comments.
Welcome to our blog dedicated to the engineering of Microsoft Windows 7
Ed. Note: Allow me to introduce Mike Angiulo who leads the Windows PC Ecosystem and Planning team. Mike’s team works closely with all of our hardware and software partners and leads the engineering team's product planning and research efforts for each new version of Windows. --Steven
In Windows we have a wide variety of mechanisms to learn about our customers and marketplace which all play roles in helping us decide what we build. From the individual questions that our engineers will answer at WinHEC and PDC to the millions of records in our telemetry systems we have tools for answering almost every kind of question around what you want us to build in Windows and how well it’s all working. Listening to all of these voices together and building a coherent plan for an entire operating system release is quite a challenge – it can feel like taking a pizza order for a billion of your closest friends!
It should come as no surprise that in order to have a learning organization we need to have an organization that is dedicated to learning. This is led by our Product Planning team, a group of a couple dozen engineers that is both organized and sits with the program managers, developers and testers in the feature teams. They work throughout the product cycle to ensure that our vision is compelling and based on a deep understanding of our customer environment and is balanced with the business realities and competitive pressures that are in constant flux. Over the last two years we’ve had a team of dozens of professional researchers fielding surveys, listening to focus groups, and analyzing telemetry and product usage data leading up to the vision and during the development of Windows 7 – and we’re not done yet. From our independently run marketing research to reading your feedback on this blog we will continue to refine our product and the way we talk about it to customers and partners alike. That doesn’t mean that every wish goes answered! One of the hardest jobs of planning is in turning all of this data into actionable plans for development. There are three tough tradeoffs that we have been making recently.
First there is what I think of as the ‘taste test challenge.’ Over thirty years ago this meme was introduced in a famous war between two colas. Remember New Coke? It was the result of overemphasizing the very initial response to a product versus longer term customer satisfaction. We face this kind of challenge all the time with Windows – how do we balance the need for the product to be approachable with the need for the product to perform throughout its lifecycle? Do you want something that just boots as fast as it can or something that helps you get started? Of course we can take this to either extreme and you can say we have – we went from c:\ to Microsoft Bob in only a matter of a decade. Finding the balance between a product that is fresh and clean out of the box and continues to perform over time is a continual balance. We have ethnographers who gather research that in some cases starts even before the point of purchase and continues for months with periodic visits to learn how initial impressions morph into usage patterns over the entire lifecycle of our products.
Second we’re always looking out for missing the ‘trees for the forest.’ By this I mean finding the appropriate balance between aggregate and individual user data. A classic argument around PCs has always been that a limited subset of actions comprises a large percentage of the use case. The resulting argument is that a limited function device would be a simpler and more satisfying experience for a large percentage of customers! Of course this can be shown to be flawed in both the short term and the long term. Over the long term this ‘common use case’ has changed from typing & printing to consuming and burning CDs and gaming to browsing and will continue to evolve. Even in the short term we have studied the usage of thousands of machines (from users who opt-in of course) and know that while many of the common usage patterns are in fact common, that nearly every single machine we’ve ever studied had one or more unique applications in use that other machines didn’t share! This long tail phenomena is very important because if we designed for the “general case” we’d end up satisfying nobody. This tradeoff between choice and complexity is one that benefits directly from a rigorous approach to studying usage of both the collective and individual and not losing sight of either.
Third is all about timing. Timing is everything. We have an ongoing process for learning in a very dynamic market – one that is directly influenced by what we build. The ultimate goal is to deliver the ultimate in software & hardware experiences to customers – the right products at the right time. We’ve seen what happens if we wait too long to release software support for a new category (we should have done a better job with an earlier Bluetooth pairing standard experience) and what also happens when we ship software that the rest of the ecosystem isn’t ready for yet. This problem has the dimension of working to evangelize technologies that we know are coming, track competing standards, watch user scenarios evolve and try to coordinate our software support at the same time. To call it a moving target isn’t saying enough! It does though explain why we’re constantly taking feedback, even after any given version of Windows is done.
These three explicit tradeoffs always make for lively conversation – just look at the comments on this blog to date! Of course being responsive to these articulated needs is a must in a market as dynamic and challenging as ours. At the same time we have to make the biggest tradeoff of them all – balancing what you’re asking for today with what we think you’ll be asking for tomorrow. That’s the challenge of defining unarticulated needs. All technology industries face this tradeoff whether you call it the need to innovate vs. fix or subscribe to the S curve notion of discontinuities. Why would two successful auto companies, both listening to the same market input, release the first commercial Hummer and first hybrid Prius in the same year? It wasn’t that 1998 was that confusing, it was that the short term market demands and the long term market needs weren’t obviously aligned. Both forces were visible but readily dismissed – the need for increased off road capacity to negotiate the crowded suburban mall parking lots and the impending environmental implosion being predicted on college campuses throughout the world. We face balancing acts like this all the time. How do we deliver backwards compatibility and future capability one release at a time? Will the trend towards 64 bit be driven by application scenarios or by 4GB machines selling at retail?
We have input on key tradeoffs. We have a position on future trends. That’s usually enough to get started on the next version of the product and we stay connected with customers and partners during throughout development to keep our planning consistent with our initial direction but isn’t enough to know we’re ready to ship. Really being done has always required some post engineering feedback phase whether it’s a Community Technical Preview, Technology Adoption Program or a traditional public Beta. The origin of Beta testing and even the current definition of the term aren’t clear. Some products now seem to be in Beta forever! We work to find the best possible timing for sharing the product and gathering final feedback. If we release it too early it’s usually not in any shape to evaluate, especially with respect to performance, security, compatibility and other critical fundamentals. If we release too late we can’t actually take any of the feedback you give us, and I can’t think of a worse recipe for customer satisfaction than to ask for feedback which gets systematically ignored. I was just looking at another software “feedback” site where a bunch of the comments just asked the company to “please read this site!” For Windows 7 we’re going to deliver a Beta that is good enough to experience and leaves us enough time to address areas where we need more refinement. This blog will be an important part of the process because it will provide enough explanation and content and guidance to help you understand the remaining degrees of freedom, some of the core assumptions that went into each area and will structure our dialogue so that we can listen and respond to as much feedback as you’re willing to give. Some of this will result in bugs that get fixed, some will result in bugs in drivers or applications that we help our partners fix. And of course sometimes we’ll just end up with healthy debate – but even in this case we will be talking, we will respond to constructive comments, bugs and ideas and we will both be starting that conversation with more context than ever. So please do keep your comments coming. Please participate in the Customer Experience Improvement program. Give us feedback at WinHEC and PDC and in the newgroups and forums – we’re listening!
I think one useful thing Microsoft could initiate is a bug forum, similar to many open source developments. It helps the public to submit problems, and also helps to check if there is a fix done.
You guys kind of underestimate the influence you have on what the market does. The market has been driven by many of the innovations and strategies that Microsoft has decided to implement. Of course some credit goes to the people giving the feedback but you guys do push new ideas and sometimes they're good ones ;)
While you're imagining a 64 bit world, you might also take a look at how you can leverage this backward compatibility issue to invent some new features. Some of which I won't even repeat because if you read the comments, you've seen them over and over. Some from me, and lots from my family on here.
Please listen closely to the requests for a unified and standardized UI. Look at the great things that your competition (competition is great!) is doing.
Keep supporting your partners in the effort and really look at their ideas. Thanks for the reassurance that you're actually listening =)
What about the 'Windows Early Feedback' group on Microsoft Connect? The participants were told that the most voted feature requests would be considered for Windows 7. How is it going?
This blog alone proves to me that you (Microsoft) is listening. I applaud your efforts and your openness. What would take feedback to the next level would be a public bug tracker system. Showing people that you are actively working on resolving problems is almost more important than the resolution itself.
Also, I find Microsoft's beta products to be more like a trial than a true beta. When I was participating it took me over an hour to find a way to submit a bug. Have a something such as a desktop icon labeled "Submit Bug" in beta versions of Windows 7. You may receive more trivial issues, but in the end you will have a better chance of resolving issues that plague the most people.
Finally, I hate to sound like a broken record, but pleasing everyone (the forest) comes down to being modular. For example, when XP came out burning CDs was not common. At the time it should have been an option that advanced users could enable. As time progresses and more people began burning CDs, it could have been enabled through a Windows update. This solution keeps the operating system as small and streamlined as possible while still allowing it to expand to meet the needs of Super Users.
I would also like to add that a public bug submission website dedicated to Windows 7 would be wonderful. Something that is very streamlined and organized for users. Where they can log in with their Windows Live ID and search for a bug and submit it.
I realize Microsoft Connect already exists but it is for private registered testers only.
I would also like to say that I agree with PRab about making the feature set in Windows as modular as possible. Include a built in utility that lets people install/uninstall all of the modular features of Windows. I realize something like this already exists in Programs and Features but I am thinking on a much larger scale. This would allow users to optimize their system the way they wish. Also include a similar interface in the "advanced custom" setup screen for power users to tweak their windows install during setup.
i think you put too much emphasis on the novice user and changed things in the ui that the professional or business client used. just one example, i have a lot more, removing the right click options from the network icon in the tray. it's because of all of these ui changes and trying to perform every operation you could think of in the background for novices, every version of vista is "vista home edition".
adding encryption as an option does not constitute a business edition.
It makes me very glad to see what king of process Microsoft is going through to develop the next version of Windows. An eyes inward view is, in my opinion, always helpful when a new product is under development.
Is it possible for us to have a list of features that Microsoft has under consideration at this time for Windows 7? I know you guys don't want to drive too much speculation, but it would be nice to have an idea what is currently under consideration. At the very least, you can be sure it will generate an awful lot of discussion about what people do and do not want of the features set provided amongst readers of this blog.
in Connect? there is some registration somewhere to participate?
I have seen a few questions for the authors for this blog, but I have not seen a single answer to one. Are you authors sure you are reading these comments? Where does this feedback go?
After reading this post I decided to participate in the "Microsoft Customer Experience Improvement Program". I followed the link provided. Lot of text, but no classic style link "Click here to participate" or "How to get the CEIP stuff going on your PC". Top left there is this install Silverlight link, so maybe the option will show after installing it. And I installed, no error message, only Installation Successful message, restarted the browser (IE7) as install stated, tried installing again, rebooted, tried Firefox etc. but the install Silverlight option keep displaying and no error message and no link or hint on how to get CEIP or Silverlight going.
MS must appoint some grannies to test features and pages, as a knowledgeable engineer will not ever realise the web page is fundamentally flawed (The engineer writing this post did not realise that he provided a useless link. And if he did, the CEIP page maintainer will probably arrogantly ignore his complaint)
@anttikarhu -- we are reading every single comment (and email I get). I have subscribed to the RSS feeds for comments for each post, categorizing, and passing them along as well (even though many folks on the team also read the blog directly).
As I said, we can't answer each question one at a time. What is happening is a dialog--a dialog among the dev team, a dialog among the readers, and a dialog between us all. For example, while we always thought we would post about performance we changed course and did that sooner because so many folks were commenting on perf issues. Similarly, this post on planning is a result of all the emails/comments about "how do you reconcile the conflicting inputs" or "how do you pick features among many choices".
Rest assured we are invested in the dialog.
@Miek -- you can enable a PC participation via:
control panel > problems reports and solutions, on the left pane, "see also" with a link to "Customer Experience Improvement Program" Click that to change settings.
In Office 2007 it is in the "Trust Center" (such as File Word Options).
@steven_sinofsky: Thank you :) It is critical to let the readers and commenters of the blog to understand the effort you are putting in, and now you convinced at least I-self.
Wow. I have to say that I am impressed with the level of communication that has opened up with this blog. It gives me confidence that Windows 7 will be a level headed release and that Microsoft is actually interested in hearing everyone's opinion.
I just had a completely random thought. What if Microsoft made a public feature suggestion/bug reporting site for Windows 7 that functioned like Digg. One where users could log in and vote up or down feature suggestions. Just random late night food for thought.
Finally a UI that is consistent (and not 3 hugely different Versions like Classic, Aero Basic, Aero Glass which causes only trouble to devs) and rich of extensible controls which developers can use to adopt a common UI standard (not to dev their own crap) would really be a leap forward.
The little things are what counts, like a polished UI, subtle animations through the whole UI (that guide the user, not distract), controls that work the same everywhere, ... and of course strict guidelines in how to do things (also promoting those guidelines)
You have the technologies, now just use them and make compelling experiences (your own Media Center, the iPhone are good examples to follow)!
Additionally: aerotaskforce.com should be one of the important pages you look at for UI problems that exist in Vista...
I'm impressed with all this sharing - you guys really seem onto it, I totally agree that a bug reporting site would be amazing, it would simplify the process so, so much more, and it would make it easier to bring important and critical bugs to Microsoft's attention.
Thanks for all the effort you guys are putting in - this blog has even inspired me to turn CEIP on!