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 3 and type the answer here:
  • Post
  • I'm glad we are talking about our view of the ecosystem because it puts things in their place. This discussion can help erase some stereotypes.

    I'm pesonaly interrested in this discussion because I'm a philosopher and Windows plays an important role in our cultural environement. The way the next windows release will be designed will influence the daily life and work of billions poeple.

    Just think how many days of work one hundred millions poeple spending 2 minutes for, say, disabling superfetch. I calculated it makes 1600 payroll years lost, just disabling superfetch (assuming they do it at work - 380 real years otherwise)! Imagine the economic loss, globaly, of such insignificant thing...

    That's why it's extremely important that Microsoft not seek to talk only with industrial partners or huge incorporated clients. The "enthousiasts" plays an important role because what they say (what we say on this blog comments and on other forums) are things that will never appear in the statistics and will never be told by OEM partners. We are the voice of the millions of individual users. Not a perfect voice, but a voice nonetheless.

    The difference between us, the "enthousiasts" and the pa-and-mum and my sister type of users is that we know why, technicaly, they don't like Vista (or why they like it if you will).

    If Windows 7 developement reflects this view, I'm convinced that it will be a major version.

  • @Kosher,

    yes, I can read on more and more forums, that Windows 7 M3 is looking like Vista (I understand, that it's normal to start work from previous version, but in situation, when Vista and Vista interface is not too liked, it's a little strange for me) and the most notified changes are such "great" features like ribbons in default applications or new calculator...

    if this is future, I will be not PC probably ;-)

  • "yes, I can read on more and more forums, that Windows 7 M3 is looking like Vista (I understand, that it's normal to start work from previous version, but in situation, when Vista and Vista interface is not too liked, it's a little strange for me) and the most notified changes are such "great" features like ribbons in default applications or new calculator...

    if this is future, I will be not PC probably ;-)"

    I would like the windows 7 interface to be "simpler". I have nothing against a managed desktop or pixel shaded windows, but I think the vista ui could have been just a bit more clean from lines and stuff :)

  • I wouldn't mind if the UI look was similar or heck even the same as vista. But do remove some glaring UI inconsistencies in the interface. For starters please trash that Windows 95 style look for Wordpad. :)

  • Yes, I know; wrong thread for a wish list, but here goes nothing.

    I want Windows 7 to have:

    - Fonts with all the glyphs in Unicode 5.1

    - Finnish Speech Recognition

    - Finnish SAPI Speaker (male and female voices)

    - Both 64-bit and 32-bit versions on the same DVD disc

    - Ability to run old 16-bit DOS and Windows programs without installing VMware or VirtualPC. If I just double click the 16-bit calendar.exe, I want it to start without error messages (even in 64-bit Windows 7!)

    - WinFS

    - Windows PowerShell

    - Virtual desktops

    - Packet management

    - Unix-like directory structure (drive letters (from A: to Z:) could run out so easily!)

    - Mount-command (DOSBox has mount-command! http://www.hackszine.com/blog/archive/dosbox-vista.png)

    - Support for more than two physical processors

    - Support for larger amount of RAM

    - Support for (U)EFI (even in the 32-bit Windows 7!)

  • Win FS?? http://blogs.zdnet.com/Bott/?p=516

  • What kind of work has been done by Microsoft to get CableCard capability for media centers to smaller PC Makers?

    Thanks

  • What kind of work has been done by Microsoft with Cablelabs to get CableCard capability for media centers to smaller PC Makers?

    Thanks

  • WinFS,

    Thing is NTFS is a bit old. You need a replacement. Probably not WinFS though.

    I mean drive letters??? I found for exp search on Mac or Linux much faster. The filesystem is more responsive. You can rename or move files while they are open.

  • Most of the buzz on the web and a fair amount in this blog is the UI, Yet the UI team still has not come up with a UI suggestions, or preferences, or engineering the UI.  Why dose Microsoft,to use your new battle cry, "Put up Walls" with this aspect of Windows?  It seems to me Microsoft is at all cost avoiding, what is the most important and personnel function of any OS, how people interact with it.  To most Vista is miserable, to quite a few the Ribbon is flawed, yet according to the buzz the ribbon is the new way. That could be bad or that could be good.   I shake my head, instead of having a true open debate, you let a few people decide what millions of your customers may or may not want. 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.  Is it being blind, or arrogance, or not wanting to admit mistakes. I'm not so sure any more.  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....      

  • 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.

    The likes of Norton 360 just slow down Windows. I used to work in a PC superstote here in the UK, and we were targeted to sell Norton with all PCs. I hated doing this, knowing that this nice fast laptop was to be slowed down severely. I likened it to driving away in a new sports car with a toeing caravan.

  • As one of the enthusiasts, one thing that I have always thought would be nice from the ecosystem is better in-system identification of hardware.

    It's happened plenty of times: I come to help fix a friend's computer and somehow the sound card (or some other device) isn't working.  I check the Device manager to see if the drivers are in order, and there's absolutely nothing helpful to be found.  The automatic driver installation fails, because it can't find what the hardware is.  Then you're left to opening up the case on the unreliable chance that the make and model will be printed on the card.

    In light of this sort of problem, I could see some real benefit in well identified hardware at all contact points in the OS.  A collaborative effort from Microsoft and the hardware vendors could result in some kind of unique, identifiable tag for a better experience.

    Maybe that's how the Plug-n-Play system already works, but it could use some improvements.  A unique code automatically identified from a list online (hence up to date and not restricted to the list available when the OS was released) would go a long way to making troubleshooting easier.  Identify the devices to the user in a legible and meaningful way, because "Generic Video Card" doesn't help much when you're trying to get things fixed.

  • These WinFS haters don't really understand what WinFS meant for the big picture.  See, what really happens in WinFS is two things really:

    #1:  You know all of those applications out there that microsoft keeps creating that have contacts, media, etc?  Well they all have many things in common with their data but none of them really share data nicely.  They each use a separate API or backing store for their information.  The "schema" for those applications would be unified with WinFS.  That scheme would allow ISVs and other developers to tie into a single API to gain the ability to add contacts across multiple applications.  I for one DO NOT want to store this data in a "cloud" that I don't own.  That's where WCF came in and where the P2P client, which was also axed came into play (but that's a whole different discussion really).

    #2.  WinFS would allow the registry, files, active directory, and other "elements" in the filesystem to interact very easily.  It would unify the "Backing store" for the various services that windows uses and allow each of these services to share common types via point #1.  So next time you see some guy on ZDNet write about something he doesn't understand, make sure you understand what he doesn't.

    And lastly, if you knew the real reason that WinFS was dropped, you would see where Microsoft is at today and why it lives in a never ending paradox.  They argue that having SQL server be a dependency that is required for your system to boot would be too much of a potential point of failure.  SQL server is a very complex beast that, if not started, would cause your entire OS to sit around waiting for its core.  In reality though, the problem is more political than anything else and I would hate to be at Microsoft during this huge blunder.  So many great products were lost in translation.

  • These WinFS haters don't really understand what WinFS meant for the big picture.  See, what happens in WinFS is two things really:

    #1:  You know all of those applications out there that microsoft keeps creating that have contacts, media, etc?  Well they all have many things in common with their data but none of them really share data nicely.  They each use a separate API or backing store for their information.  The "schema" for those applications would be unified with WinFS.  That schema would allow ISVs and other developers to tie into a single API to gain the ability to add contacts across multiple applications.  I for one DO NOT want to store this data in a "cloud" that I don't own.  That's where WCF came in and where the P2P client, which was also axed came into play (but that's a whole different discussion really).

    #2.  WinFS would allow the registry, files, active directory, and other "elements" in the filesystem to interact very easily.  It would unify the "Backing store" for the various services that windows uses and allow each of these services to share common types via point #1.  So next time you see some guy on ZDNet write about something he doesn't understand, make sure you understand what he doesn't.

    And lastly, if you knew the real reason that WinFS was dropped, you would see where Microsoft is at today and why it lives in a never ending paradox.  They argue that having SQL server be a dependency that is required for your system to boot would be too much of a potential point of failure.  SQL server is a very complex beast that, if not started, would cause your entire OS to sit around waiting for its core.  In reality though, the problem is more political than anything else and I would hate to be at Microsoft during this huge blunder.  So many great products were lost in translation.

  • And one additional point... WinFS in a P2P situation would be that so called "cloud".  Why not own the cloud system if you're always connected via a cable connection like 90 percent of us are?  Why share your personal and business data with Google et al?

    BE THE CLOUD.   Think "you are the cloud", not this mentality that someone else owns you and your information.

    WinFS ...  Just do it!

Page 4 of 6 (86 items) «23456