Notes on comments.
Welcome to our blog dedicated to the engineering of Microsoft Windows 7
In the emails and comments, there are many topics that are raised and more often than not we see the several facets or positions of the issue. One theme that comes through is a desire expressed by folks to choose what is best for them. I wanted to pick up on the theme of choice since that is such an incredibly important part of how we approach building Windows—choice in all of its forms. This choice is really because Windows is part of an ecosystem, where many people are involved in making many choices about what types of computers, configuration of operating system, and applications/services they create, offer, or use. Windows is about being a great component of the ecosystem and what we are endeavoring to do with Windows 7 is to make sure we do a great job on the ecosystem aspects of building Windows 7.
Ecosystem and choice go hand in hand. When we build Windows we think of a number of key representatives within the ecosystem beyond Windows:
Each of these parties has a key role to play in delivering on the PC experience and also in providing an environment where many people can take a PC and provide a tailored and differentiated experience, and where companies can profit by providing unique and differentiated products and services (and choice to consumers). For Windows 7 our goals have been to be clearer in our plans and stronger in our execution such that each can make the most of these opportunities building on Windows.
PC Makers (OEMs) are a key integration point for many aspects of the ecosystem. They buy and integrate hardware components and pre-install software applications. They work with retailers on delivering PCs and so on. The choices they provide in form factors for PCs and industrial design are something we all value tremendously as individuals. We have recently seen an explosion in the arrival of lower cost laptops and laptops that are ultra thin. Each has unique combinations of features and benefits. The choice to consumers, while sometimes almost overwhelming, allows for an unrivaled richness. For Windows 7 we have been working with OEMs very closely since the earliest days of the project to develop a much more shared view of how to deliver a great experience to customers. Together we have been sharing views on ways to provide differentiated PC experiences, customer feedback on pre-loaded software, and partnering on the end-to-end measurement of the performance of new PCs on key metrics such as boot and shutdown.
Hardware components include everything from the CPU through the “core” peripherals of i/o to add-on components. The array of hardware devices supported by Windows through the great work of independent hardware vendors (IHVs) is unmatched. Since Windows 95 and the introduction of plug-and-play we have continued to work to improve the experience of obtaining a new device and having it work by just plugging it in—something that also makes it possible to experience OS enhancements independent of releases of Windows. This is an area where some express that we should just support fewer devices that are guaranteed to work. Yet the very presence of choice and ever-improving hardware depends on the ability of IHVs to provide what they consider differentiated experiences on Windows, often independent of a specific release of Windows. The device driver model is the core technology that Microsoft delivers in Windows to enable this work. For Windows 7 we have committed to further stabilization of the driver model and to pull forward the work done for Windows Vista so it seamlessly applies to Windows 7. Drivers are a place where IHVs express their differentiated experience so the breadth of choice and opportunity is super important. I think it is fair to say that most of us desire the experience where a “clean install” of Windows 7 will “just work” and seamlessly obtain drivers from Windows Update when needed. Today with most modern PCs this is something that does “just work” and it is a far cry from even a few years ago. As with OEMs we have also been working with our IHV partners for quite some time. At WinHEC we have a chance to show the advances in Windows 7 around devices and the hardware ecosystem.
Developers write the software for Windows. Just as with the hardware ecosystem, the software ecosystem supports a vast array of folks building for the Windows platform. Developers have always occupied a special place in the collective heart of Microsoft given our company roots in providing programming languages. Each release of Windows offers new APIs and system services for developers to use to build the software they want to build. There are two key challenges we face in building Windows 7. First, we want to make sure that programs that run on Windows Vista continue to run on Windows 7. That’s a commitment we have made from the start of the project. As we all know this is perhaps the most critical aspect of delivering a new operating system in terms of compatibility. Sometimes we don’t do everything we can do and each release we look at how we can test and verify a broader set of software before we release. Beta tests help for sure but lack the systematic rigor we require. The telemetry we have improved in each release of Windows is a key aspect. But sometimes we aren’t compatible and then this telemetry allows us to diagnose and address post-release the issue. If you’ve seen an application failure and were connected to the internet there’s a good chance you got a message suggesting that an update is available. We know we need to close the loop more here. We also have to get better at the tools and practices Windows developers have available to them to avoid getting into these situations—at the other end of all this is one customer and bouncing between the ISV and Microsoft is not the best solution.
Our second challenge is in providing new APIs for developers that help them to deliver new functionality for their applications while at the same time provide enough value that there is a desire to spend schedule time using these APIs. Internally we often talk about “big” advances in the GUI overall (such as the clipboard or ability to easily print without developing an application specific driver model). Today functionality such as networking and graphics play vital roles in application development. We’ve talked about a new capability which is the delivery of touch capabilities in Windows 7. We’ve been very clear about our view that 64-bit is a place for developers to spend their energy as that is a transition well underway and a place where we are clearly focused.
Enthusiasts represent a key enabler of the ecosystem, and almost always the one that works for the joy of contributing. As a reader of this blog there’s a good chance you represent this part of the ecosystem—even if we work in the industry we also are “fans” of the industry. There are many aspects to a Windows release that need to appeal the enthusiasts. For example, many of us are the first line of configuration and integration for our family, friends, and neighbors. I know I spent part of Saturday setting up a new wireless network for a school teacher/friend of mine and I’m sure many of you do the same. Enthusiasts are also the most hardcore about wanting choice and control of their PCs. It is enthusiasts sites/magazines that have started to review new PCs based on the pre-installed software load and how “clean” that load is. It is enthusiasts that push the limits on new hardware such as gaming graphics. It is enthusiasts who are embracing 64-bit Windows and pushing Microsoft to make sure the ecosystem is 64-bit ready for Windows 7 (we’re pushing of course). I think of enthusiasts as the common thread running through the entire ecosystem, participating at each phase and with each segment. This blog is a chance to share with enthusiasts the ins and outs of all the choices we have to make to build Windows 7.
There are several other participants in the ecosystem that are equally important as integration points. The system builders and VARs provide PCs, software, and service for small and medium businesses around the world. Many of the readers of this blog, based on the email I have received, represent this part of the ecosystem. In many countries the retailers serve as this integration point for the individual consumer. For large enterprise customers the IT professionals require the most customization and management of a large number of PCs. Their needs are very demanding and unique across organizations.
Some have said that the an ecosystem is not the best approach that we could do a much better job for customers if we reduce the “surface area” of Windows and support fewer devices, fewer PCs, fewer applications, and less of Windows’ past or legacy. Judging by the variety of views we've seen I think folks desire a lot of choice (just in terms of DPI and monitor size). Some might say that from an engineering view less surface area is an easier engineering problem (it is by definition), but in reality such a view would result in a radical and ever-shrinking reduction in the choices available for consumers. The reality is engineering is about putting constraints in place and those constraints can also be viewed as assets, which is how we view the breadth of devices, applications, and “history” of Windows. The ecosystem for PCs depends on opportunities for many people to try out many ideas and to explore ideas that might seem a bit crazy early on and then become mainstream down the road. With Windows 7 we are renewing our efforts at readying the ecosystem while also building upon the work done by everyone for Windows Vista.
The ecosystem is a pretty significant in both the depth and breadth of the parties involved. I thought for the purposes of our dialog on this blog it is worth highlighting this up front. There are always engineering impacts to balancing the needs each of the aspects of the ecosystem. Optimizing entirely along one dimension sometimes seems right in the short term, but over any period of time is a risky practice as the benefits of a stable platform that allows for differentiation is something that seems to benefit many.
With Windows 7 we committed up front to doing a better job as part of the PC ecosystem.
Does this post reflect your view of the ecosystem? How could we better describe all those involved in helping to make the PC experience amazing for everyone?
WinFS with WCF and P2P would turn us all into a part
of the cloud owning our own data and sharing only what
we want to. WinFS would enable an occasionally
connected API that would tie into many other
applications out there through a single API with a
single schema defining the common types like "user,
contact, role, telephone number, geo location, email
message, file, media, etc.". Why must these
fundamental data types, objects, and overall schema be
replicated with no ability to talk to eachother? Tie
it all together with one API, one Schema (Outlook,
Windows Mail, Live Mail, all of your contacts, MS CRM,
SharePoint, Active Directory, the list goes on) all
using a single unified schema and single backing
store. Each application would have its own ability to
synchronize with the WinFS data through its own copy
of the schema and own instance of SQL server.
You just don't know a good thing until it hits you in
I certainly don't envy being in the position of having to try to satisfy the entire ecosystem as you describe - and I'm glad to see those behind the next version of windows clearly recognize the differences between the various types of user they must satisfy.
I personally fit quite neatly into the enthusiast category, and you've described our situation nearly perfectly. In another post you touched on performance. As you say, us enthusiasts are always seeking more performance - and as demonstrated by the vast amount of "tweak guides" on the net, we'll go to extremes to get what that performance we want. But plenty of those tweaks are far more destructive than helpful, and most would never know it - what enthusiasts need more than ANYTHING from the windows team this time around is *information*.
I'd love to see an official guide to windows performance, going into the gritty details on how each option and tweak actually effects the system. How much memory will I actually stand to gain by disabling the indexer, system restore or aero UI, for instance? Its a bit like the wild west right now - we'll try anything for the sake of it, and with little or poor documentation on the actual facts, a lot of disinformation tends to get spread around.
Rather than trying to build it for everyone, especially enthusiasts, build it so we have the information and the power to shape it as we like - Vista went much further than XP in this respect, and I hope Windows 7 goes even further.
Basically, you really need to get the enthusiasts on board this go around. I believe theyre the main reason (channeled through the tech media) that Vista has such a bad reputation today. Make us like it, and we'll make everyone else will like it. (while we're installing their wifi :P)
And to get very specific - system profiles are an interesting idea, but I agree theyre not as valuable in practice as they sound on paper. Like you say, we use our computers for more than just one thing, yet the default configuration basically gives everything the same priority to your system. Especially nowadays, with gigabytes of RAM and multi-core processors, theres a lot of resources to go around, and we want control over it. At this point, virtually the only real-time control we have over the way the resources of our PCs are distributed is by manually setting the priority of programs in the task manager each time. So what I'd love to see is another tab in the properties page of a shortcut/exe - allow us to set the default priority of an app easily and simply. Better yet, put I/O prioritization under user control. Even better still, give us memory usage prioritization, and make it all simple to use for enthusiasts in the property page where "regular" users will never even know it exists.
When we can choose which programs run the show (like the game dominating our screen), the impact, real or perceived, of all that "bloat" because much less of an issue.
I believe this is a simple fix/addition that would go a *very* long way for the end user.
Speaking of enthusiasts, whyever did Microsoft come down so heavily on the people who were trying to do something with the abandoned Longhorn betas?
It's not as if Microsoft isn't already competing with its huge installed base - it could've got some useful hints from the non-Softies who were trying to do something useful with a version of an abandoned Microsoft OS, some "out-of-the-box" ideas.
It's another aspect of "choice" that you're talking about.
Overclockers community is not the same like enthusiasts community. Enthousiasts represent the end users. Overclockers greatly influence the opinion of everybody. All they need is a really fast and stable OS with an easy way to strip unnecessary tasks.
We saw one first step towards overclocking with really nice benchmarks in Vista but this is not enough. There should be an overclocking team working for Microsoft, side by side with the core team. To stress the operating system, benchmark each part and help in fine tuning.
Make Seven the overclockers' favorite OS and Seven will be KING.
People in each company (managers) create own vision of progress. Microsoft had good project called Windows XP. Decided to switch it to Vista instead of creating Windows XP SE. When I see Vista color scheme, I have wrong experience - it doesn't look good for me. Additionally I'm not too productive (because everything is new places). Now we see first information and what we see ? Information about new calculator and ribbons, no info about deep changes... It doesn't mean of course, that I don't like new features. I like them, but currently we need something other than such details... I don't know, who is testing new system, but maybe Microsoft need more testers from other countries than USA and maybe need more critic voices ?
I am curious, in terms of the work we are doing with the Hardware Manufacturers, is there any effort to get PC manufacturers to offer 'Vanilla' PCs that only include Windows and the appropriate drivers for the devices included with the system? I for one, for quite some time, have always formated a PC I buy straight out of the box, reinstalling on the OS and the drivers for devices. Though this is probably not an easy road for our less technical customers, I find the condition of Windows based PCs out of the box to be abysmal, and without taking this simple early step my system usually runs slow and is unmanageable after a short amount of time.
If PC manufacturers would offer a system that was free of any software of any kind that is not the Windows OS or device drivers, I think we could 1. Have, finally, a true comparison to the Apple out of box experience as this is the only true way to get a “Windows” PC and not one that has been tainted by bloat ware and 2. Eliminate a lot of the issues people have with our PCs over the long road.
I know this is a shot in the dark and a long one at that, but hopefully sometime we can get this straight with our partners so the out of box experience is close to that of some of our competitors who have more control over the end to end ecosystem.
I can assure you that Microsoft employees are just as critical, maybe even more so, then those outside of the company. We use these products every day, are shareholders of the company and are very passionate about the software and solutions produced by this company.
In terms of international exposure, our products are created, tested and dogfooded (internal beta testing) by one of the most international organizations in the world.
It is difficult to be perfect all the time, especially when your systems are used in so many different ways, in so many different places and on so many different types of hardware. That is not necessarily an excuse, it is a mandate - our stuff has to live up to that standard. From Sales and Marketing to Technical Roles we are all committed to this.
>> Now we see first information and what we see ? Information about new calculator and ribbons, no info about deep changes...
The images you're talking about are leaked M3 shots, MS hasn't really delved into W7 officially. If you want official news though, PDC is October 27th through the 30th and something important should come from that. Whether that set of information is relevant to you or I is another matter entirely.
>> To most Vista is miserable, to quite a few the Ribbon is flawed, yet according to the buzz the ribbon is the new way.
>> Look at the UI in IE8 it's the same UI in Vista, it's the same UI in IE 7, It was to most the number one complaint about IE 7.
>> I would like to see Microsoft have a real open discussion on the UI, others wise this will wind up just being Windows with Walls....
Vista miserable? Yes, many people don't like the design of some components of the UI (Context Bar, I'm looking at you...) and the fact that MS removed customization from Explorer. But IE8 and Office 2007? Most people I know haven't complained about either of those, other than small gripes. Office even gets positive reviews by my peers and reviewers, partly because of Ribbon. Discussions never hurt anyone though. :) Honestly, I'd like a theme manager in W7 giving users the ability to make their own custom themes. I don't think MS will add one but it'd be nice. Would definitely lift some stress from their shoulders is people don't like the default non-3D theme if they could download a new one... *wink* *wink*
By the way, that article by Randall C. Kennedy @ InfoWorld? Inane rambling by a would-be tech journalist with no story, apparently.
*gasp* If I open six windows, they take up the space of... one, two, three, four, five... SIX WHOLE WINDOWS?! And they have ribbons?
...If Ribbon in W7 is anything like it is in Office 2007, you'll be able to minimize it... I can't believe he gets paid to write that.
>> What about Anti virus software companies?
>> They are part of the ecosystem.
>> Microsoft can't make Windows too secure, otherwise the AV companies will get upset and probably sue them.
This is unlikely to happen, as far as I know, MS doesn't have a quota for security holes in their operating systems to adhere to. AV companies, who fit into the developer category, exist solely because of flaws in these operating systems that they capitalize. If MS were to make an W7 invulnerable to all forms of malware (don't ask me how... I'd be rich if I knew) they would be doing absolutely nothing illegal. Of course, if they packaged OneCare with W7, that would be something else entirely.
>> We saw one first step towards overclocking with really nice benchmarks in Vista but this is not enough.
>> There should be an overclocking team working for Microsoft, side by side with the core team.
>> Make Seven the overclockers' favorite OS and Seven will be KING.
Overclockers and such represent maybe 10~15$ of the market? Less? Hardcore overclockers (the group that avoids Vista as they want better clocks AND better performance) much less than that. I don't think MS needs an overclocking team, its just not worth the effort. Any stable system should overclock decently, given appropriate hardware. And I've only seen people making noise about Vista reducing overclocking potential, never increasing. Its worth stating though that most people overclock for performance, if 7 were to beat out Vista in performance, it'd be a big win across the board.
I've read that Windows 7 is not going to have bundled apps like photo-viewer.
Is it true? :-)
Live versions of these apps are FINE, and the strategy is good, as long as every customer has easy and ready access to Internet.
That is not the case in every market.
I am from India, and even in my country, not every home has a Internet connection.
How will the basic tasks be handled for such users? Will they see photos in IE (like windows 98), or will the OEMs be entrusted with this responsibility of ensuring that the system they are selling is 'complete'?
Could you please post something on this strategy of 'de-coupling'?
It looks to me like the PnP protocol is ready for another spin. What are we missing and what can be improved?
- Windows can identify the device by it's ID, but human-readable full product model, manufacturer and description are not always available, or not displayed to the user in an intuitive way. This information must be included into the hardware signature.
- Hardware identification information should contain a link to web pages containing information about the product and a link to the location of the latest digitally signed driver package. This can tremendously help installing and updating drivers when a network connection is available, and to troubleshoot driver issues.
- New hardware that is Windows 7 certified must be compatible with the core Windows Hardware Class drivers (e.g. PCI Express Graphics Controller, PCI Network Adapter, USB Video Capturing Device). When a new class of hardware is created, hardware manufacturer must submit it to Microsoft for certification, after which the new Windows Hardware Class Driver can be published in the Online Windows Driver Repository.
> The images you're talking about are
> leaked M3 shots,
I'm talking about really different sources... Steven needs to make release on the time and I'm going to afraid, that 7 will be mainly Vista (with Vista architecture issues) with removed by default some apps or possibility of making it (there will be added required inf/msi files)
> It looks to me like the PnP protocol is ready
> for another spin. What are we missing and
> what can be improved?
what Microsoft could do is displaying possible vendor of device based on IDs (Intel - 8086, etc.)
> Overclockers and such represent maybe
> 10~15$ of the market? Less? [...] Its worth
> stating though that most people
> overclock for performance
Let's say the truth - many people read, that AMD CPUs are not so overclockable like Intel's and because of it they don't buy them (although will never use it). And this is not only my opinion... People hear overclockers a lot.
Even when software is limited with the CD and OS takes very small space you just can't get rid off the fact that when you install new program then it creates install and other permanent junk files or so called backup files..
If there would be new standards and new rules then HDD space wont get so bloated with unneeded junk files what are scattered in System32 , my documents and settings + my program files... <- Just hate do see what trashcan HDD will be trying out new programs..
( install creates files and after uninstall it leaves files and only removes from my program files <- Please change behaviors how programs store their data... )
Still everyone's hopes are high and wish there is point do replace WinXP
I certainly hope that Registry is going to be replaced with a new technology. It's been causing grief for years.
One idea that comes to my mind is Flat File Configuration System. The benefits seem to be obvious: you don't need to load the entire contents of the registry into memory or implement database-like approach to accessing data. Theoretically, it should provide much cleaner application maintenance experience.
The following configuration store locations can be used:
- System (e.g. $Windows\Config)
- Shared or common (e.g. $Programs\Common)
- Application (e.g. $Programs\%APPLICATION%\application.config)
- User Role (e.g. $Users\%USERROLE%\Programs\%APPLICATION%\role.config)
- Users (e.g. $Users\%USERNAME%\Programs\%APPLICATION%\user.config)
This will also create ability to take a file copy of a user profile and restore it onto another drive (when main drive is running low in space) or onto another computer (or on the same computer after a system restore) with minimum effort. E.g.
1) Backup $Users\%USERNAME% folder;
2) Restore $Users\%USERNAME% to another computer;
3) Create new user account and specify $Users\%USERNAME% path.
Application management would be simplified. Backup/restore of the applications will not require re-installation. It is also possible to encrypt licensing configuration files using hardware signature as a part of the encryption key to protect from software piracy, but other mechanisms should be considered also.
However, things like security, maintainability, scalability, performance should be analyzed.
The registry can be kept only for compatibility with legacy applications that use COM technology for example. But, these can be run in a virtual machine mode.
Vista was a frustrating release for me because for most users, I've had to install a virtual machine with Windows XP due to compatibility issues.
It would be great if the next version of Windows had a built-in Virtual PC you could use to run XP applications in a transparant fashion. For example, without seeing the Virtual PC window borders.
This would also ease the introduction of Vista/Windows7 in the corporate environment.
i appreciate that vista features various 'security' enhancements like UAC to protect the millions of clueless users who click every link offered on their porn sites. and its possible saving the worl dform loads of zombie windows pcs clogging up the net.
but, a vast number of people, very vocal i may add, are power users or enthusiasts. when i choose to not install AV software, i get warnings about it all the time, when i turn off UAC vista insists there is a problem until such times as i turn it on. i even had it so that uac was running but it auto eleveated, still the security center insisted it was needing fixing, so i then had to kill that.
i'm no mac fanboy but i never remember OS X security model causing me daily greif. i cant see that an admin account being artificially blocked is the answer, most of the incompatibility comes from UAC silently causing errors on installs or programs giving the user no indication of whats wrong as the program in question is not aware of UAC and vists seems to assume that it should.
i dont want my windows system to treat me like an idiot 'for my own protection'.
the mac ad with the bodyguard really hit the nail on the head (cant say i agreed with any of the other ads)
also, get rid of this 'idle' tasks where if the system is idle it winds up doing other crap. this does affect seek times and grinds away while i'm doing nothing.
fast boot into idle pc. stays idle unless i do something, and when i do something i want it started fast. when i'm done i want to shut down...fast.
all things like printers etc come with helper apps and agents and crap that installed 20 icons in the notification area, so when i see teh desktop i then have to wait 60 seconds or more before clicking the start orb does anything, and then when i click it the start menu disapears again coz another app has just loaded.
it's ALL about the user experience first. not just how it looks, how it feels. i want to feel in control all the time, windows should open and close before any other task is complete.
faster and more optimised is the way to go i reckon, take a time out frmo adding features no one knows exist anyway (like the 60 or so performance monitoring tasks that i see which a) dont help me tune my system becuase b) its those that slow it down in the first place.
man that rant felt good, hope it reaches someone!