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!
Will microsoft really listen ? I still hope, but I don't believe. IMHO the role of an OS is to provide a good user experience and support the standards (there are a lot of them as pdf, openGL, openCL, the old posix thing...)
All of this has been said before, but now you say 'we're listening', so
Windows XP is/was a great OS, but it had some problems the successor should fix:
- software installation/deinstallation caused registry problems. Taking an Application folder and dragging it to the Trashcan should do.
- Highly recommended is full Windows XP compatibility using a virtualization layer. This way you can change big portions of the OS and still keep the backwards compatibility.
- clean up the ui design, create a better user experience
- Small things, like 'please put an eject button near an usb drive symbol'
- Give the users a powerful shell. There is already 'Unix Services for Windows' just integrate it, or a least parts of it
- And last, optimize performance so that people do not need new Hardware when they switch to the new OS.
The other possibility is going back to windows xp. I really was excited while waiting for Vista. Now I'm using a Mac with a virtualized Windows XP. But I will take a look at Windows 7, when it is just Vista with a different name, this might be my (and many other peoples) last look at Windows...
I think some of what AndiG says is a great idea.
I find when logging in sometimes I'm overwhelmed by the quantity of installed items which I never use ... and I'm an advanced user. I think during the install phase of Windows it should perhaps have a default set to install ... on any SKU for that matter with the option of clicking "Custom" or "Advanced" or whatever and being able to unselect items one does not need.
Example ... being able to not install Windows DVD Maker, Internet Explorer, Windows Media Player and other items which are (and IMHO should not be) integrated into the OS itself. This makes the install smaller, faster and the core OS itself less dependant on other components which make unecessary security risks and dependancies. Classic example is why are some competitors web browser product installations so small while IE is so huge?
I like the idea that was implemented with Core Server for Windows 2008 Server. Build on that to modularize the rest of the software.
In addition, installation of software should be far less complex than it is now ... it should install all its program files and dependancies into one folder ... you delete the folder ... the program is gone.
Standardizing the UI is also a good idea. Personally the boot time doesnt really bother me much ... Vista boots up quickly enough and I must applaud Microsoft for doing a fine job on making Vista more reliable out of the box. I've had little to no trouble with Vista at all!
I'd say think Modular, Setup, Program Install/Uninstall and UI. Obviously I imagine some of these require major architectural changes but those can come for future versions if they cannot be done in 7.
I think the UI engineering has been misled for far too long. You have to face the truth: people don't think in terms of menus, ribbons, trees, taskbar, balloons, etc...
Whenever a user sits in front of a computer, it's about having some actions to be done. The best way to achieve these is by decomposing the actions in elementary steps and provide assistance whenever possible in doing this. It's kind of like what's done with user's manuals by the way. The manual describes actions in steps with indications about how to achieve each of them. So the user only has to follow the directives sequentially.
My point is that a user interface should be exactly like an interactive user manual.
Instead of UI gizmos, an application should focus in wizards.
A wizard is the essence of usefulness. It decomposes an action into small achievable steps. So I envision a revolutionnary OS made of wizards or little assistants to get my stuff done.
And you have the responsibility as the major actor in the industry to innovate and to supply this fundamentally different way to interact with the computer.
I think just about everyone outside Microsoft would consider the move for C:\ to Bob a step backwards. Bob was a reviled product and deservedly so. Having the person responsible for taking our feedback and making trade offs think Bob was a good thing worries me a lot!
I found this entire post quite different from the others we've seen as it tried to rationalize Microsoft's choices and basically said "making the choices is tough". We all know that and while we like Vista and many of the choices made, too many bad choices were made in the process. This post does nothing to reassure me that you have a clear set of guiding principles for Windows 7. How about having a fee simple guiding principles:
- Windows 7 will be faster than Vista on each and every meaningful performance measure, so long as security and reliability aren't compromised
- Windows 7 will work and every effort is made to isolate failure so that subsystems may fail but the system can still run and recover failed subsystems
- Microsoft will redouble its efforts with hardware vendors to ensure that drivers work and deliver peak performance
- Microsoft will continue to deliver an open and robust set of APIs and menu options that allow users and developers the ability to customize their Windows experience so that Windows is their operating system the way they want it
- Security of the system and protecting users' privacy and data are always top priorities
- Using Windows 7 should be fun
What is the best way to apply as beta tester for Windows 7? Microsoft Connect?
- All KB-articles describing how you have to reset COM+ permissions or re-register dll's shouldn't be there. Win7 should make it impossible to mess this stuff up.
- Automatic updates should work reliably and automatically. Vista made a big step in the right direction. But sometimes some Vista computers still show me incomprehensible "Failed to update (0x29358734)" errors.
- Track unresponsive applications and fix them or tell the developers.
- Concentrate on details (fit & finish). That's one of the reasons people like Apple's products.
I posted a 4 page bug list (not rant!) on shellrevealed.com when Vista was in beta.
Wonder where my feedback really went? It was deleted...
Talking about user experience I want to focus on a few things. I don't want to start a XY system is better than Windows or another system is better than XY system. But I getting old, too old for windows xp, here is why
On my current system (not windows) I can
- plug a second monitor or beamer in my laptop and continue to work, it automatically changes resolution so I'm able to present some power point notes or whatever. THIS IS WAHT CAUSES THE WOW EFFECT when other (windows) users look at me. I don't need to invoke display settings, change resoltuion and monitor settings.
When I'm done with the presentation, I unplug the monitor and continue to work- WOW.
- When I want to remove an USB stick, I just click the little eject symbo near the drive - done (Remeber I'm too old to do right mouse, remove safely and so on ...).
- When I don't like a software, I drag it to the trashcan. I can be sure its gone.
- Since I paid for the software, I hear no 'Windows thinks your software isn't genuine'.
- I don't have to activate anything (remember I've paid for it).
- When I want to reinstall my system, I can. When I want to change hardware of my system, I can (Yes we can, some US citizen said...)
I don't have to activate and activate and call by phone to activate.
(remember I'm too old and I have no time for activating)
So what will user experience look like in Windows 7 ? Is there anything fixed ? USER EXPERIENCE would be a great title for the next blog entry !
I agree with the people above and thing that revealing as much information about bug fixing would be a huge plus. There's nothing more frustrating than knowing there's an issue, leaving feedback on one of the company's websites and never having visibility into whether anything is being done or not.
This blog is a great idea, as you can lead discussion and address feedback in a centralized way. One of the issues that I can see is people are unaware of where the best place to give feedback is, given that there are so many Microsoft branded websites. As long as you're consistent and lead discussions in the same place, you won't have to scour the web looking for that feedback.
I'll admit that I do not know the way Microsoft develops its software, or what sort of guidelines are in place for third party suppliers, however some of the the comments about UI standardization above hit close to home. If there aren't a set of guidelines in terms of UI look and menu layout, there definitely should be. Having watched my parents and grandparents use PCs, as long as programs function the same way, they're good. But many times, one supplier makes software function or look one way, and it's completely different from everything else. I'm sure this sounds like a broken record, but consistency is paramount.
One thing I think would be interesting to have addressed in a post would be what you're planning in terms of business focused versions / features. I work for a fairly large company (just over 100,000 full time employees), and I can tell you that switching from XP to a newer OS is not only a technically complicated shift, but also has the potential to negatively impact productivity due to retraining (an example would be the newest version of Office). I'm just curious to know of any feedback you've received from large companies regarding your operating systems as a whole, if you're able to share.
As others have said, the openness is very much appreciated, and I, too, would like to know what the best way to get into any future beta would be.
I don't know anything about the "Windows Logo" program for Windows PC OS's, but in the Windows Mobile there are strict guidelines how the UI should look like in order to get the "Designed for Windows Mobile" logo in the products.
Could tightening the Windows 7 Logo UI reguirements streamline the UI of commercial applications? I as a buyer see the logo as a mark of some degree of quality, and I think the SW vendors also see the logo as a benefit.
But of course you'd have a new thing to balance with - making the guidelines too sloppy creates again "user incompliant" software, making them too strict scares away the SW developers.
It's great you're actually listening to your customers, but that's only half the issue; acting on feedback is what you really need to start doing. Personally i am sceptical that a multi-billion dollar behemoth of a company is agile enough to react and move to what the market actually wants. it's also pretty easy to see what the market doesn't want from windows 7 - a Vista sp2
i've read stories that you already have over 1000 programmers working on Win7, and from this information i get a horrible feeling that it's already way too far into production to be anything other than another massive and slow lump of bloated code. please don't let this happen!
i really hope you guys get it right this time, and give the world the windows it actually wants to buy
One feature I would like to see in a future version of Windows is better control over how applications interact with my system. What I'm thinking of is probably best described as a standardized version of how the registry and Program Files drectory is virtualized for applications in Vista.
As far as I know, this virtualization is currently limited to those two locations. When an app wants to save some settings, it goes to some mystery location in the user's profile. Want to spew a bunch of crap into Documents? Sure, why not. Want to "share" components with other apps? Go ahead and pollute Common Files when you install.
Now, as a user, what do I do to save app settings? Install directory, user settings directory, registry keys, blah, blah, blah. What if I want to temporarily disable an app without uninstalling it? What if I want to stick an app on a USB key or share an app between my accont across multiple computers? What if I want to virtualize Common Files or Documents for certain programs?
I want to be able to manage my apps as fixed chunks that can be drag-and-dropped where I please, with all registry and file-based settings intact. I want a single target per-user that can be easily backed up or rolled back. I want to control which applications can write to Documents, and which just get their own private SomeApp/Documents virtual directory. I want to control which apps can talk to each other (i.e. install both Word and Excel to the same "My Office Apps" virtual space). I want to tear off a fresh sandbox and drag a new app to test it out, without worrying about all the cruft it will try to stick on my machine. I want control over what apps can do on my machine, rather than being at the mercy of the good graces of the app developer.
I know there are problems with shell integration, applcation versioning/updates, making the interface intuitive and usable, etc, etc, but Windows has gone too long without a standard model for installing and managing applications. I'm sure many users will just stick with the default all-apps-live-in-one-blob model, but a feature like this would be <em>tremendously</em> useful for both power users and domain managers.
I have always found Microsoft Bob to be a fascinating product, not from an end-user standpoint, but from a management and marketing standpoint. Here is a project that nearly everyone said was a Bad Idea, receiving nothing but ridicule from the press, that went all the way to store shelves and garnered positively vicious reviews and reactions.
The one surviving piece of technology from that effort - the Office Assistant - figured in virtually every anti-Microsoft tirade for a decade. It's become a common cultural metaphor for incompetence in popular media.
But the Office Assistant was damned fine technology. I never got an opportunity to try Microsoft Bob itself, unfortunately... and I'm compelled to wonder if this wasn't a great idea that simply arrived before its time.
I think the story of Bob would make a great book.
I just signed up to say that it's really great that you guys are actually participating with the technically savvy community and keeping us appraised of the development process of Windows 7.
That being said there are a few features/suggestions I thought I would post. Windows 7 definitely needs to be modular. In fact I would go so far as to say it would be a good idea to get rid of the different versions and have a single ultimate version or at least bring it back to two versions like XP had. As Windows continues to add programs and functionality more and more people would want modularity and an easy way to accomplish this would be to have the user be presented with three default install choices (Home, Business, Complete) and a custom install where nearly everything can be customized through check boxes allowing someone to have a machine that just has windows without security center, ie8, wmp, mail, media center, firewall, photo gallery, games, movie maker, defender, backup, defrag, calendar, etc so if they install their own third party applications and don't want the functionality duplication or bloat. Having the three default install options would allow basic users and oems choose an install that will cover all their needs easily while allowing power users to have the freedom to only install what they want be it nothing, everything or somewhere in-between.
UI consistency should be worked on in Windows 7 especially in the control panel. A good example is in the appearance section where some settings are still brought up using the old style dialog boxes instead of seamlessly appearing in the window like the new ones do. Other examples are the Windows 3.11 era add font dialog and Windows 2000 era network dialog.
Lastly, I think Windows 7 should be 64-bit only. A large number of computers today already have 4GB or more of RAM and a year from now this will be standard making 32-bit computers obsolete. Most people get their Windows licenses with their new computers so releasing a 32-bit Windows 7 would be counter-productive. All computers today have 64-bit processors and my guess is just about any computer capable of running Windows 7 will have one. Microsoft should be innovative here and force change for once instead of lagging behind to suit everyone.
seems like a coincidence, but, here in Brazil I was just discussing about machines hardware...
many people here have lame machines, and I mean, REALLY LAME MACHINES like celeron 428 with 256 of RAM and 20GB HDD.
these people complaint that XP is "bulky", so you can imagine what they say about vista...
if someone can read portuguese, take a look at this...
<b>well, let me reply the topic;
1) Only BOOT performance is not enough. most users want a (BIIIIGGGG) boost in overall performance, launching apps, gaming, rendering and etc.
2) when i said the first time that W7 should be NIMBLE AND SIMPLE I didn´t mean that it shouldn´t have "cool stuff". The problems with the "cool stuffs" from VISTA is that it demands too much resourses and makes the system bulky and slow. "GADGETS", "EYE-CANDIES", "SUPERFETCH", UAC POPUPS, LACK OF UAC CUSTOMIZATION seems "JUST TOO MUCH".
... It´s just like when you´re on a thanksgiving dinner and already ate everything on the menu but your grandma´ is pushing you up a desert... It just won´t fit!!!
I already gave you guys an idea to "kill" this "VISTA GLASS" "genious" idea... sure, it looks really good, it´s a real "eye-candy", but it also needs a lot of RAM and videocard to work properly. maybe you guys could use an different interface, someting remembering those "SILICON WAFERS", OR "TEXTURES" like brushed iron, chromed steel... but please, DON´T USE RAY TRACING TO DO REFLEXES!!! make it simple!
Another example: you set the system to update by itself, but, every once in a while, you get a POPUP saying that you need to update your computer... well... so do it! you don´t have to ask me again! </b>
i agree with the comments about having some bug/issue reporting feature. for example, daylight savings time in my country (pakistan) has changed and i wanted to report that to Microsoft but i couldnt really find anyway of doing it.
lol and oh boy, you must have your work cut out with all these people wanting a personalized to each nut and bolt Rolls Royce