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!
From Italian forum I attended showed another important fact.
Most user uses Objectdock or Rocketdoock.
I had created a new thread where explain how to get large icons on our traditional tray (available from windows 98)
over 90% of windows user did not know this simple possibility, and all immediately have configured the new taskbar with large icons.
I hope for a new taskbar ,perhaps with some eye candy, but the default windows 7 use large icons pls.and add to bar the software included in the system like DVD maker, Movie Maker , etc.
I can assure you that many people do not know the contents of Windows Vista, I do not like to fall in the same error in Windows 7
Feedback, glad you guys mention that. I've got something for you guys.
I also work the blogs at Supersite for Windows by Paul Thurrott. During some of our rants and ravings, one useful complaint emerged from a Mac OS user who is a former Windows guy.
Can we please for the love of all things Windows, have the Complete PC Backup available in ALL WINDOWS VERSIONS?!?!?!?
The fact that Ultimate, Business, and Enterprise had it but none of the Home Editions didn't was ridiculous. Every computer user regardless of technical skill, should be making a full backup incase the worse happens. Infact, I really think this is so important, that you guys should consider it for Vista SP2. Its great to make the incremental backups but we need the full blown version in every Windows. Thank God, I payed for the Ultimate edition.
Also, I think the splitting of different SKU's of Seven needs to be minimized down to three simple versions. Home, Business, Ultimate. Plain and simple. It would be even better if you could go up and down the different versions within Windows. No separate product keys. One of the features that should be switched by the users should be the Media Center. Also, for 3rd world markets, the Home version has a switch for the starter edition. That way if today you're running Home but tomorrow you need Ultimate, you can just insert your Windows disk and switch on Ultimate.
Can we please get these OEM's to quit two most annoying things. Number one, CRAPWARE! This is single handedly the most annoying and system destroying junk ever devised. Now if they want to give us a trial DVD's, I"m fine with that. Lets start Seven with a clean slate.
Second, can we get them to include full Windows Installation disk and not those Recovery disk? I've used recovery disk and they are useless. Sometimes its just better to have the good old fashion Windows Installation disk. This should be done across the board. Especially when you hard drive crashes, you just want to start over from scratch.
Last thing, and this is a repeat. I.E., WMP, and everything else in Windows needs to be cleanly deleteable. It would be nice to slipstream third party apps right into the Windows installation. I'm suggesting this because it will eliminate DOJ concerns. Hopefully, they can let you get back to innovating. I sincerely hope that Windows Seven is the best Windows ever. The version of Windows that "lays the smackdown" on Apple, Linux, and everyone else. Good luck you guys. I know this is a hard act to balance. Trust me, if you guys deliver, the rewards will be worth the stress.
As long as you guys give the OS the possibility to be like Windows XP, then it's all good.
XP is close to perfect, you can't improve much upon it, which is why Vista isn't selling well right now.
It's more of a downgrade, than an upgrade.
It's like Mac Alternative, when it should be the evolution of XP, like Longhorn was.
Moving back towards XP, bring back the XP start menu, and bring back animated gif support for the picture viewer.
Vista's picture viewer was pretty good, nothing really wrong with it, except for the lack of
this is heartening to see MS is finally listening(i hope)..
I think the way you are trying to portray the pain and gain of developing windows 7 is actually leading somewhere. People will atleast know what is what. Bring this layer of communication will actually help removing the layer of abstraction between MS and the consumers.
This entire thing was missing when Vista came out. People were not really aware what is there and what goes on through a SDLC. Forget about the SDLC, most of them were not even aware of what is there in the new OS. Classic example: "AndiG". With all due respect sir, what you were talking about is clearly Mac OS X. Connecting a secondary display with a different resolution is there in Vista. It works all by itself. I personally connect it to my TV for movies and stuff like that and it works smooth as silk. Moreover that little eject icon that appear at the bottom right corner to eject a removable drive is probably not that big a deal. I am sure MS has enuf technical proficiency to implement something like that. But once implemented it will be made a big deal by some people like you who wants everything to work like Macs. I am sorry but I believe MS has maintained its own identity and will do so in future. I completely trust the people and the brain behind windows. Great job guys and keep it up.
I think a 64 bit world would be great myself. Microsoft just needs to make sure they let people know that they are getting a 64 bit version so people are not spending money on something useless. Then again, they should just keep releasing 32 and 64 bit so people can upgrade.
I hope that when Windows 7 comes out the upgrade will be a seamless one. Kind of like upgrading a Mac OS. I think some changes to they System Restore would be nice to.
Keep up the work!
@anshu_10us. Thanks for reading my comment. I was just trying to show some examples of usability.
Maybe the second display works better, now, using Vista. It doesn't with XP and I see it fail at least one time with Vista. But its hard to tell, cause no one uses it.
And right, making some things simpler isn't a hard job. So why don't they do it ? They can do it the microsoft way, of course - whatever. People like you may say the WOW effect is the 3d window switching, I believe it lies in all the small things that make a system useable.
And am I talking of OS X ? Really ? There are some nice Linux Desktops that are useable too. And I didn't want you to stay away from using Vista ;) If you like it, you're welcome to use it. Why do you need Windows 7 ?
I really like posts like this that go into how the job was done. Much like how Google (oh noes! the G-word!) talked about how they tested Chrome (which I'm about to go to the IE blog and the Live Search blog and suggest to them that they go do the same thing; please, please help me convince them too) which was very interesting, and sounds genius, I would like to hear more of how you develop Windows.
So how are the teams organized? How are features decided upon? How does the average Windows programmer code during their work day?
(And so on, and so forth.)
This, I'm sure, doesn't ruin your preparations for WinHEC and PDC (which as I've said, this blog must have been planted in place with preparation for those events a major goal) and more importantly, is very interesting to the readers of this blog.
So please; tell us more about how Microsoft is building Windows?
i have been reading the blog since it started, but decided i would join in now. i have a few comments that i would like the developers to consider (please bear with me if these are repeats, although i have read the blog posts, I haven't read the comments):
1. engineer Windows with just the classic look. then, allow people to install themes - much like firefox allows you to install them. give people access to the functions needed (APIs, right?) to develop themes so users can "pick and choose".
2. do the same for login. i loved how XP's logon screen looked (no, not the welcome screen, NT style one you got if you were joined to a domain or your pressed CTRL ALT DEL twice). business users are not really concerned about how fancy thier OS looks when they go to logon to the system.
3. modular installation (yes, i know it has been mentioned). honestly, i use nlite (XP) to rip out messenger, msn, outlook express, games, and other features i just don't need. let users choose what to install - instead of forcing them to have high end machines just to do internet/email (512MB minimum to run Vista, 1 or 2 GB to have it run well?!?!).
4. get rid of UAC. no, i mean it. or at least think of something better. its the first thing i turn off if i use a vista machine. yes, microsoft, i really did want to install a program from the CD i just inserted into my cd drive.
5. go back to classic control panel - and simplify it. i really wish i could remember what they were, but 2 or 3 of the same control panel applets take you to the same place. in XP, i knew where everything was (using the classic style). grouping things confused me (and all of my coworkers).
6. along with modular installation (i know im jumping around, sorry), determine system requirements based on what users install. i know this is going to be hard to market, as you have no way of knowing that person A is a serious gamer (graphics, cpu, ram, hdd intensive) and that person B used it for casual email/internet (onboard graphics, less cpu, ram, and hdd intensive). maybe publish a chart on what certain categories would require.
7. others may have said it, but why not publish a list of things you are considering for the next windows. make a notice that the feature list isnt complete, and that things can be added or removed at any time. it will (at the least) spark discussion among the technology community.
8. stick with NTFS. you already know this, but the NTFS file system has been around since the early 90s, and over the years, microsoft improved it (NT3, NT4, NT5, NT5.1, NT6). just continue to make it more secure, instead of trying to build something completely new that we will have to learn (WinFS anybody?).
9. and finally (until i think of more), do what you are already doing - posting these blogs and keeping us informed. thanks for putting my confidence back in microsoft.
Along the lines of modularity in Windows.Future, I would love to see a utility like the XP Embedded builder UI. It's revolutionary... So many people don't even realize that it exists but it's so powerful. The ability to change every aspect of your operating system before it's even installed and build an entire custom system. This type of tool needs to be available to advanced users who want to create their own kernel and OS build with a minimal (I mean 500mb) footprint.
If you have not experienced the XP embedded builder UI then you HAVE to give the trial a shot. It's an amazing tool that allows you to remove anything and everything and it's very clear about what each component does. It even shows the registry settings that removed, etc.
This sort of "Advanced" configuration should be hidden away in the windows setup as perhaps a command line switch or some "Super Advanced" button. This is exactly what the advanced users are talking about when they say they want the ability to uninstall "everything". I remember getting my XP embedded boot times down to less than 5 seconds.
Give it a shot!!!
Along the lines of calculating boot times... There must be some equation for computing hardware specs to software to determine the boot time impact a specific installation has on the OS. This sort of feature could be given a fancy UI that displays before installing the application. "This application will affect boot time by X amount". Something the user optionally clicks before installing an application or feature.
You said exactly what I'm thinking which is that we are trying to share the context of building Windows 7. This is the dialog we are trying to have. it is like a dinner time discussion among friends--you don't show up to dinner with a list of topics and get feedback, but let the conversation go where it does as we talk about our shared perspectives on many issues. We listen and change course along the way.
hmm, the more comments i read from people making suggestions of what they want to see in Win7, the more it sounds like Windows XP...
Just make public or restricted forum with bugs,questions.development ,bugs and help sections so it would be easier for everyone when things are organized. ( Make the UI look like windows 7 not just a normal looking forum ).
Make alpha versions for user testing with form to make account before you can get private copy so people would understand how risky and everything else is before they start using it.
If development is slow or unclear and there isn't time for forums and faster release versions then people should wait for betas what would be more stable for daily task users.
Sooner is always better than later!
Giving program more testing space will quicken the incompatibilities and will help to quicken the bug findings and shouldn't be a drawback at all if there is more time to work on them.
I really like the openness of these blogs and the reassurance that the comments here are being taken account of by the Windows team.
That said, I do hope that Microsoft management and developers don't lose focus and forget what Windows attraction is for the vast majority of its users. By this I mean that...
Windows is a general purpose operating system that controls a general purpose computer. The PC's great attraction was and still is the independence it gives its user, who can use the PC for ANYTHING he or she can imagine.
But it seems to me that MS increasingly seems to think of Windows as an consumer content delivery system and the Windows/PC combination as an appliance for marketing and selling stuff (entertainment/information/software/consumer goods) to users, who are seen as mere consumers.
I would like some reassurance from the Windows 7 team that they will not take Windows further in the direction we have seen with Vista and its content DRM. Surely it must be clear, not least to a company like Microsoft with all its brainpower, that 1) DRM is largely ineffective in preventing piracy, that 2) the company is courting disaster by fitting DRM into Windows, not because of what DRM actually does, but because of the deadly reputation (based on fact or fiction) that Windows will get as a mutant OS that spies on, or restricts, or polices its users, and that 3) your customers (business and individuals, for different reasons) actually don’t want or need DRM in Windows.
With Vista, I believe we are at a tipping point. Windows has already begun to get the reputation that it is no longer a general purpose OS, but *something else* compromised by Microsoft’s version of a mutant rootkit. Should the trend continue with 7, and with just a few widely reported stories of Windows users not being able to view a movie or record a football game, the mob will place the blame (justified or not) squarely on Windows. Then nothing on earth will be able to undo the damage and reverse the negative image Windows will have in the minds of Microsoft’s own customers. DRM is just not worth the risk to Microsoft.
...a small plea for the future of Windows.
I have some ideas that I want to talk about in front of the whole planet earth. I was thinking about how Google's new web browser Chrome has a task manager in it. I commented on YouTube and elsewhere that this is a crazy idea. You only need a task manager at the operating system level. If Google Chrome has its own task manager, then it is acting like an operating system. Yet it isn't an operating system, it is just a piece of software that runs other applications. But that is what an operating system is. So it's clear that Google's real interest, although perhaps they are unconscious of it, is to enter the operating system market, which is currently dominated by only three things, Windows and Linux and Apple, which is based off Unix, which is Linux is based off of also. Yet Google, I'm sure, has no intention of releasing a web browser / OS that runs on the desktop and doesn't require an operating system underneath it. However perhaps in the future they intend on having it so that a user using a terminal-like device, like an EEEPC Asus, or some other cloud computing machine, that doesn't have a hard drive, and you're just supposed to connect to the web that way, like WebTV, and Google supplies both the gateway and the entertainment, and the method of using the applications, and so on. (Thereby effectively putting Microsoft and Apple out of business, and making Linux somewhat irrelevant if they stay open source). Whatever the case, though, I think they could be underestimating the importance of hardware. Intel seems to have reached a dead-end. You can only make microprocessors so small before it becomes more efficient to just make multiple cores and put them on one die and pretend that it's all "one" system rather than multiple systems running in parallel. Well, the thing is, all operating systems, including Google's apparently early attempts at entering this arena, are built upon the idea of monolithic or microkernel structure. One kernel, one operating system, regardless of how many processors or "cores" or "GPUs" you have in your system. It's ridiculous. You should just make a new operating system that has multiple kernels and put a kernel on top of each core.