Engineering Windows 7

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

The "Ecosystem"

The "Ecosystem"

  • Comments 86

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:

  • PC makers
  • Hardware components
  • Developers
  • Enthusiasts

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?

--Steven

Leave a Comment
  • Please add 5 and 4 and type the answer here:
  • Post
  • I know MS likes to model different types of users and role-players into typified categories, but this can over-simplify what we do.

    For example, the notion that OEMs will never need to do a non-destructive or upgrade OS install - the assumption being that OEMs are so large, with such low levels of service quality, that they would never stoop to helping individual users at that level.

    However, as a small OEM, I often have requests to build new systems while preserving crucual but abandoned applications, i.e. those that cannot "just" be re-installed.  In such cases I may have to preserve the application by installing the new OS over the old one.

    That's one example, but similar problems crop up elsewhere.  The same user may be a non-tech consumer of certain aspects of the system, and an enthusiastic control freak in others  ;-)

  • The first comment about driver installation issues reminded me of a Vista bug.

    It's often necessary to clear out Temp and Temporary Internet Files locations, e.g. as part of cleaning out malware (some tools automate this).  It's usually best to do this "from orbit" rather than in the OS, and often one deletes the whole subtree rather than just the contents.

    If you do this in XP, no problem; the subtrees are re-spawned as needed.

    If you do this in Vista, it's often apparently OK, too - until months later, when some installation process fails.  When this happens, the error messages you see will imply an unreadable source (e.g. file not available on CD-ROM drive).  Copying the installation material somewhere else will cause the same error messages to refer to that new location.

    What's really happening is that Vista is trying to bounce this original source material through a Temp location that no longer exists.  It fails to re-spawn the location (as XP does) and it also fails to report the error correctly, mis-reporting the "missing destination location" situation as "missing source material" instead.

    Please fix this in W7, and Vista too?

  • Of course consumers (aka everyone) are part of the ecosystem.  When I was writing this my mindset was that the ecosystem is there to serve consumers. I hope that makes sense.

    --Steven

  • I see folks complaining about bundled OEM software, but a far bigger problem is OEMs that fail to provide fully-functional OS installation and maintenance disks.

    OS disks aren't just to wipe and rebuild the system; they are also for less-destructive maintenance, too.  A consumer has the equivalent of all a corporation's servers and workstations in one box; not something you'd want to be forced to trash, whenever something goes wrong.

    Yet OEMs often provide only "wipe and rebuild" disks, or no disks at all.  This may benefit MS, in terms of "license creep" and also extra license sales for the same PC - but it's bad for the user.  To call these crippled (non-)disks "Genuine Advantage" is to confirm the cynics who say the only "advantage" is that MS got paid.

    I hope Windows 7 improves WinPE/RE to catch up with what we've been doing in Bart PE for years - and I hope they ensure that all users get the benefits of this, without dilution by OEMs.  

    I'd like to see Service Packs that re-spawn properly-patched OS disks as well.

  • Steven's comment "the ecosystem is there to serve consumers" is apt, and can be viewed in another way.

    It's often assumed that most consumers have low tech skills, which may be true - but these users are not alone.  They have other users within their ecosystem who can help them, so the OS feature set should take this into account.

    GUIs make things easy to use, but also widen the gap between doing things once, interactively, and automating the same tasks.  

    Learn the CLI and you've learned 80% of batch programming; learn how to set things via GUI, and you learn nothing about how to save and restore the underlying registry values.

    The richness of NT security is largely unavailable to end users.  What administrators can do via automation, end users can't manage through the UI - and worse, malware can use the same automation facilities to override the user.

    For example, consider multiple user accounts.  Without a way to control the settings that are applied to newly-created accounts, this is only useful if the user is prepared to live with MS's defaults.  There's also no UI to manage settings across multiple accounts.  

    The result; multiple accounts don't solve many of our problems, yet blow out the interactive effort required to maintain the system.

    So, consider who is likely to be helping end users at the keyboard.  Many will be "techie friends" or techs who came up through the end user experience rather than formal IT training, so they need a UI that exposes what they need to do.  Don't assume they will be able to access the "backroom" facilities that professional system administrators use across their large networks.

  • I believe that these are most of the important ecosystems to get to the end user experience.  The problem comes when the end user doesn't know what to do when something doesn't work.  If software or hardware isn't compatible with the OS, many people won't even bother trying to fix it or make it work because it's too much of a hassle.

    When you are talking about choice and customization, you come down to people who do know what they're doing and people who don't.  Everything has to work in tandem between the ecosystems, though it often doesn't, which causes a majority of problems that people have with computers.

  • Steven -

    I think that ordinary users ("consumers", if you like) also serve each other. I say this looking at the way the staff in my department, none of whom is an expert or enthusiast, try to help each other through their computer problems before calling the IT guy.

    Also, the greatest "service" ordinary users give each other, and thereby are part of the ecosystem, is through word of mouth and helping each other. Vista has an awful reputation here because of experiences of several secretaries and PAs who decided that it was the pits to use, and kicked up such a fuss among themselves that I personally had to intervene and authorize the installation of XP on their Vista laptops. They're now very happy with XP, but continue to rubbish Vista very powerfully to their colleagues and friends.

    I do think that the ordinary user (however you define and segment him/her) has a role to play in the Windows ecosystem.

  • Hmm, I wouldn't describe PC makers (as I would wish they would be) as "..They buy and integrate hardware components and pre-install software applications."

    But as "..They buy and integrate hardware components and pre-install the most-minumum variant of the OS to get started".

    Nothing more nothing less.

    Regards ;-)

  • Hi TimOR, I think your concern is tied to

    PC makers

    Hardware components

    Developers

    As we, the users, can't enjoy Vista when all the above failed to be compatible with Vista.

    I think Vista has some killer factors.

    1) Google Desktop works on XP, and it replaces Vista Sidebar on Dell computers.

    2) Windows Live Applications are now better than Vista Applications.

    3) PC image has been damaged by false advertisements from competitor.

    4) Early hardware drivers (especially GPU) are really bad.

    5) PC makers includes crap wares that actually has huge impact on Vista performance. Both my co-workers using Vista ends up with 30 minutes restart time on Lenovol notebook. Strictly a PC maker problem because my Dell desktop installed with same business software has no such problem.

    6) UAC and driver conflicts.

    #1 and #2 has no apparent solution.

    MS is dealing with #3 right now.

    #4 seems to be settled down after a long long struggle on Vista. Win7 is like Vista, so should be fine.

    So, I think MS should start thinking about problem #5 and #6.

    The thing is that, if MS sells computer, it will be fix #1, and #4~6. And MS can and will bundle Live App for sure. I still think MS should sell PC to set an example, so people won't point finger at MS for bad PC makers.

  • @Steven,

    I don't want to write here agressive comment...but I simply don't agree with some points from your post.

    > 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

    1. I think, that Microsoft was working closely during developing each Windows version. Results aren't too nice: OEMs are selling often Windows in form of hidden installation partition on disk (no CD/DVD), which can accessed and infected. There are added many programs, which can't be totally uninstalled. You can't create partitions like you want (you can reformat all HDD only).

    If this is great experience, something is wrong here.

    2.I repeat my question: if you know problem of big resolutions, why can't you propose to manufacturers building computers (notebooks, netbooks) with smaller resolutions ? why can't you change "Designed for..." program and force them for it ? why can't you give new label "small/medium/large fonts in WIndows" (or something like that) ?

    -------------

    And some more comments:

    why have you forgotten about "end users" ? (I will repeat it although I have seen your comment)

    have you forgotten, that they're the most important ? and they don't like DRM (which makes problems for legal users only) - what is your opinion about ? will you increase it in Windows 7 ?

    what do you think about their problems with getting installation CD/DVD for their OEM system ? (and please don't say, that this is issue between OEM and end user)

  • @Steven

    one more comment, when we speak about ecosystem as one thing.

    if you will push pressure into it (and start treating all users as people copying everything without licenses and implement many DRMs), it will not like it.

    if you will have some architecture problems, wrong people will use. because of it we have so many trojans, viruses and many of them are using IE too...

    if you will allow OEMs for removing some installation settings, they will use it...but it will be not liked by end-users.

  • PC Makers (OEMs)... 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.

    --Steven

    A PC is "IBM compatible" and customizable by the end user. Mac hardware vanished from earth. "IBM compatibles" won the battle. But Macs are still not customizable. They are Macs.

    I'm a PC.

    I have the freedom to use the same Windows OS on any IBM compatible hardware I choose. And it works. Break this connection and you are a Mac.

    Is Seven a PC or a Mac?

    Windows users deserve special attention.

  • @mariosalice, "Mac hardware vanished from earth"

    Hey, just to bring some fun into this discussion, I've found that there must be at least one mac left...

    http://www.appleinsider.com/articles/08/09/19/microsofts_im_a_pc_campaign_created_with_macs.html

  • PC means no artificial locks.

    PC Makers (OEMs)can freely build a certain hardware to give the same experience after installing Windows. Lock a special Windows edition to a certain OEM and this version of Windows is no more a PC. Though you may sell additional functionality, with certain hardware configurations as an extra, to everyone.

    This is still a PC.

  • Im a programmer (writing system utilities for Windows), a PC enthusiast and operate a small business as a IT expert (building PC systems, repairs, servicing etc).  Does this mean I fall into three categories or do I have a common mindset for what I want Windows to achieve?

    Why Change whats not broke.  This is the common complaint in Office 2007 and Vista from my clients, they can't find their feet. They don't want to find their feet when they're already comfortable and productive.

    An inventor knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.  You are engineers. Optimized, compact code makes huge impressions on both performance and people, including yourself.

    Windows 7 needs to be smaller, compacter, with minimal changes to the UI, otherwise Windows  is going to sacrifice itself again, and you cant afford another 3 years to get it right with Windows 8.  

    People dont want Vista not because their happy with XP, its because it offers less than whats taken away.

    Just look at Norton's new 2009 product line, I bet you they take a huge increase in market share in the next 12 months because they realize they're not listening.

    MinWin all the way, I pray that Windows gets it right because I dont want to be servicing Google, Apple and Open Source Operating Systems.

Page 2 of 6 (86 items) 12345»