101. Reimagining Windows from the Chipset to the Experience: The Chipset [Ch. XV]
“Paul, you’re not going to view this favorably.” —Steve Ballmer to Intel CEO Paul Otellini as we described over the phone our intent to offer Windows 8 on ARM processors
Welcome to Chapter XV! This is the final chapter of Hardcore Software. In this chapter, we are going to build and release Windows 8—reimagining Windows from the chipset to the experience. First up, the chipset. Then there will be sections on the platform and the experience. Following that, we’ll release Windows to developers and then the public. Then a surprise release of…Surface. There is a ton to cover. Many readers have lived through this. I’m definitely including a lot of detail but chose not to break things up into small posts. There are subsection breaks though.
This first section covers the chipset work—moving Windows to the ARM SoC. Before diving right in, I will quickly describe the team structure and calendar of events that we will follow, both of which provide the structure to this final chapter while illustrating the scope of the effort.
Back to 100. A Daring and Bold Vision
-----
Windows is already a big project, but what we did with Windows 8 was to finally get back to Microsoft roots and instead of merely a product release we aimed to make Windows 8 an industry release and certainly a product of all of Microsoft. From every aspect of the ecosystem and for each of our main customer segments we worked to garner significant support and alignment with Windows 8. We built a vision with that in mind. We organized the team to build that vision. We created a calendar of public milestones to deliver it all to the market.
Organizing for Windows 8
We restructured the team in mid-2009 just before Windows 7 was generally available. It was a complete shift to a functional or discipline-oriented team for Windows and Windows Live services. Internet Explorer with its unique position as both a platform and an application that also worked on older versions of Windows was a separate product unit. We organized about 6000 full time product development team members (about 2000 software development engineers) into 55 different feature teams that had on average 35 software engineers and corresponding software test engineers and program managers.
To scale, we created a new management layer, “the directors.” The way I thought of this was from a college hire perspective. A college hire (in development, testing, pm) had a line/lead manager, reporting to a group manager (the 55 teams, each with 5-8 leads), who reported to a director each with 4-7 teams, who reported to the VP of Development, Testing, or Program Management. We also had large teams for creating content and localizing both it and the product, product design and usability, product planning and research, the ecosystem which had engineering as well as partnership, marketing and communications, finance, and soon a hardware team. It was as flat and wide an organization we could come up with. It was quite a long way from when we thought the Word team with 55 developers was the biggest team we’d ever have on one product or the Microsoft Foundation Classes with 4 developers including the manager.
![PRODUCT 2 LIVE 3 LIVE 4 LIVE 5 LIVE 6 LIVE 7 LIVE 8 LIVE 9 LIVE 10 LIVE 11 LIVE 12 LIVE 13 LIVE 14 LIVE 15 LIVE 16 WIN 17 WIN 18 WIN 19 WIN 20 WIN 21 WIN 22 WIN 23 WIN 24 WIN 25 WIN 26 WIN 27 WIN 28 WIN 29 WIN 30 WIN 31 WIN 32 WIN 33 WIN 34 WIN 35 WIN 36 WIN 37 WIN 38 WIN 39 WIN 40 WIN 41 WIN 42 WIN 43 WIN 44 WIN 45 WIN 46 WIN 47 WIN 48 WIN 49 WIN 50 WIN 51 WIN 52 WIN 53 WIN 54 WIN 55 WIN 56 WIN 57 WIN 58 WIN 59 WIN 60 WIN 61 WIN 62 WIN 63 WIN 64 WIN 65 WIN 66 WIN 67 WIN 68 WIN 69 WIN 70 WIN 71 WIN 72 WIN 73 WIN 74 WIN GROUP WLX WLX WLX WLX WLX WLX WLX WLX WLX WLX LPS LPS LPS LPS | Team Management Desktop Communications (DC) Web Communications/SVC (WC) Mobile Experiences (SH) Social Networking (SN) Digital Memories Experience (DMX) Shared Data Experience (SDX) Customer Experience and Platform (CXP) Safety Platform (SP) Planning Management Cloud Directory Platform (CDP) Mesh & Developer Platform (MDP) Storage & Communications Platform (SCP) Fundamentals (FUN) Fundamentals (FUN) Fundamentals (FUN) Fundamentals (FUN) Fundamentals (FUN) Fundamentals (FUN) Performance (PERF) Reliability, Security, and Privacy (RESP) Telemetry (TEL) Licensing and Deployment (LAD) Ecosystem Fundamentals (ECO) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Networking Core (NET) Wireless and Networking services (NWS) Device Connectivity (DCON) Devices & Networking Experience (DNX) Hardware Developer Experience (HDX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) Core Experience Evolved (CXE) Global and Differentiated Experience (GDX) In Control of Your PC (ICP) Search, View, and Command (SVC) You-Centered Experience (YOU) Applications and Media Experience Team (AMEX) Globalization and Loc Quality Windows Core (COR) Windows Core (COR) Windows Core (COR) Windows Core (COR) Windows Core (COR) Kernel Platform Group (KPG) Hyper-V (HYPV) Storage & Files Systems (SFS) Security & Identity (SID) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Graphics Platform (GRFX) Media Platform (MPT) Apps Experience (APPX) Runtime Experience (REX) Presentation and Composition (PAC) Human Interaction Platform (HIP) Engineering System and Compat Teams (ESC) Engineering System and Compat Teams (ESC) Engineer Desktop (END) Engineering System and Compat Teams (ESC) Test Automation & Gates Infrastructure (TAG) Engineering System and Compat Teams (ESC) Build, Code Movement, and Deployment (BCD) Engineering System and Compat Teams (ESC) International, Metrics and Planning (IMaP) Engineering System and Compat Teams (ESC) App Compat and Device Compat (ACDC) Engineering System and Compat Teams (ESC) App Compat and Device Compat (ACDC) Engineering System and Compat Teams (ESC) Engineering and Release Services (EARS) Engineering System and Compat Teams (ESC) Operations and Support (OPS Engineering System and Compat Teams (ESC) Test Execution (TEX) Web Services and Content (WSC) Web Services and Content (WSC) Web Services and Content (WSC) Web Services and Content (WSC) Windows Online (WOL) App Store (APPS) Web Shared Services (WSS) India Development Center (IDC) India Development Center (IDC) India Development Center (I DC) India Development Center (IDC) India Development Center (I DC) India Development Center (IDC) Internet Explorer Internet Explorer wSC Sustaining Engineering (WINSE) WSC XDR Wintage Client Virtualization Networking Win SE Windows Live Management Feature Area Localization Sustaining Engineering Content Design and Usability Planning and PC Ecosystem D SDE H/C 351 47 84 25 36 45 34 48 32 SDET H/C 156 56 36 64 199 46 34 40 44 35 225 46 42 52 39 46 189 35 28 27 28 37 21 203 52 48 52 51 228 53 36 38 20 44 37 129 40 10 26 22 31 77 29 д0 8 165 24 23 34 20 88 88 5 76 323 48 77 26 33 36 32 42 29 G H PM H/С SDE ]SDET [PM 204 stevel arthurdh chrisjo 26 dannygl laurent gsierra 42 philsm sbabu richcrad 21 johnnyli yegu 18 gregfri 19 tomaszk 17 sbailey 37 jimh 24 krisiv bradth rogerbi rickz sadikd umass jeffku bradwe mguittet jscarrow 143 56 31 56 192 41 34 39 42 36 222 45 43 51 37 46 244 36 35 26 29 39 34 45 201 47 49 53 52 222 50 35 35 19 44 39 225 24 55 14 12 66 25 8 20 70 28 39 3 261 19 21 36 164 21 105 105 18 161 EGM johnnyli jennam davidtr 60 19 mikeguo sshah rmanne 16 raymonde imrans billdev 25 mikezin bartonp rvarun 107 mrfortin bambos gabea 20 njain mdesai billkar 22 vinceo tvoellm jasong 25 sanjeevk gigela cameront 21 caglarg bradwill mbeck 19 stelo elliotm mattsti 113 chuckc scotther dennisfl 28 andrewr sgoble sandeas 17 khawarz sethh billya 24 arvindm mnassiri jackmayo 23 myronth crzhou robingo 21 bobri cwjones riche 118 jeffio jcable jensenh 30 kipo derekl alicepr 20 yslin richow kipknox 14 mraghu tomwhite ryanha 14 gerhas mraschko manavm 20 stevesei luisu katief 20 martinth carlb cwilli karend 85 erictr gregchap iainmc 20 reves rickb deande 15 douglasw sudheerv bdewey 22 sverma aravindk rajeevn 28 skavsan raikm dustini 115 alesh yvesn lindaav 24 anujg toddf robertco 18 naveent farishat scoutman 21 kamenm metegokt ialegrow 10 martynl strowe maheshp 23 davebu rodnevbr anankan 19 snene jeffpi jerrykoh 97 mgammal craigfl alexsi 16 johnc juliemad devic 11 oipotter thorn 22 kirandor juliemad charle 16 albertt juliemad ccrane 19 clupu dhicks 5 clupu iamwhi iuliemad prioshi jamesb 41 daviddv davsmith cynthiat teddw 23 kbrown ericve CynthiaT 17 mikesch seano CynthiaT 1 fuvaul davsmith CynthiaT 55 saniavs pankajl srinicha anilb 9 chetanp mustafag kannar 8 charun shreeshd 12 vim anithab ajaygumm 20 srin 6 rajeshia srinicha 42 dhach 42 fergalb jasonu rmauceri 57 48 samseng jimrodr markli jcarroll julieb ulri mikeang PRODUCT 2 LIVE 3 LIVE 4 LIVE 5 LIVE 6 LIVE 7 LIVE 8 LIVE 9 LIVE 10 LIVE 11 LIVE 12 LIVE 13 LIVE 14 LIVE 15 LIVE 16 WIN 17 WIN 18 WIN 19 WIN 20 WIN 21 WIN 22 WIN 23 WIN 24 WIN 25 WIN 26 WIN 27 WIN 28 WIN 29 WIN 30 WIN 31 WIN 32 WIN 33 WIN 34 WIN 35 WIN 36 WIN 37 WIN 38 WIN 39 WIN 40 WIN 41 WIN 42 WIN 43 WIN 44 WIN 45 WIN 46 WIN 47 WIN 48 WIN 49 WIN 50 WIN 51 WIN 52 WIN 53 WIN 54 WIN 55 WIN 56 WIN 57 WIN 58 WIN 59 WIN 60 WIN 61 WIN 62 WIN 63 WIN 64 WIN 65 WIN 66 WIN 67 WIN 68 WIN 69 WIN 70 WIN 71 WIN 72 WIN 73 WIN 74 WIN GROUP WLX WLX WLX WLX WLX WLX WLX WLX WLX WLX LPS LPS LPS LPS | Team Management Desktop Communications (DC) Web Communications/SVC (WC) Mobile Experiences (SH) Social Networking (SN) Digital Memories Experience (DMX) Shared Data Experience (SDX) Customer Experience and Platform (CXP) Safety Platform (SP) Planning Management Cloud Directory Platform (CDP) Mesh & Developer Platform (MDP) Storage & Communications Platform (SCP) Fundamentals (FUN) Fundamentals (FUN) Fundamentals (FUN) Fundamentals (FUN) Fundamentals (FUN) Fundamentals (FUN) Performance (PERF) Reliability, Security, and Privacy (RESP) Telemetry (TEL) Licensing and Deployment (LAD) Ecosystem Fundamentals (ECO) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Devices and Networking Team (DNT) Networking Core (NET) Wireless and Networking services (NWS) Device Connectivity (DCON) Devices & Networking Experience (DNX) Hardware Developer Experience (HDX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) User Experience (UEX) Core Experience Evolved (CXE) Global and Differentiated Experience (GDX) In Control of Your PC (ICP) Search, View, and Command (SVC) You-Centered Experience (YOU) Applications and Media Experience Team (AMEX) Globalization and Loc Quality Windows Core (COR) Windows Core (COR) Windows Core (COR) Windows Core (COR) Windows Core (COR) Kernel Platform Group (KPG) Hyper-V (HYPV) Storage & Files Systems (SFS) Security & Identity (SID) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Developer Experience (DEVX) Graphics Platform (GRFX) Media Platform (MPT) Apps Experience (APPX) Runtime Experience (REX) Presentation and Composition (PAC) Human Interaction Platform (HIP) Engineering System and Compat Teams (ESC) Engineering System and Compat Teams (ESC) Engineer Desktop (END) Engineering System and Compat Teams (ESC) Test Automation & Gates Infrastructure (TAG) Engineering System and Compat Teams (ESC) Build, Code Movement, and Deployment (BCD) Engineering System and Compat Teams (ESC) International, Metrics and Planning (IMaP) Engineering System and Compat Teams (ESC) App Compat and Device Compat (ACDC) Engineering System and Compat Teams (ESC) App Compat and Device Compat (ACDC) Engineering System and Compat Teams (ESC) Engineering and Release Services (EARS) Engineering System and Compat Teams (ESC) Operations and Support (OPS Engineering System and Compat Teams (ESC) Test Execution (TEX) Web Services and Content (WSC) Web Services and Content (WSC) Web Services and Content (WSC) Web Services and Content (WSC) Windows Online (WOL) App Store (APPS) Web Shared Services (WSS) India Development Center (IDC) India Development Center (IDC) India Development Center (I DC) India Development Center (IDC) India Development Center (I DC) India Development Center (IDC) Internet Explorer Internet Explorer wSC Sustaining Engineering (WINSE) WSC XDR Wintage Client Virtualization Networking Win SE Windows Live Management Feature Area Localization Sustaining Engineering Content Design and Usability Planning and PC Ecosystem D SDE H/C 351 47 84 25 36 45 34 48 32 SDET H/C 156 56 36 64 199 46 34 40 44 35 225 46 42 52 39 46 189 35 28 27 28 37 21 203 52 48 52 51 228 53 36 38 20 44 37 129 40 10 26 22 31 77 29 д0 8 165 24 23 34 20 88 88 5 76 323 48 77 26 33 36 32 42 29 G H PM H/С SDE ]SDET [PM 204 stevel arthurdh chrisjo 26 dannygl laurent gsierra 42 philsm sbabu richcrad 21 johnnyli yegu 18 gregfri 19 tomaszk 17 sbailey 37 jimh 24 krisiv bradth rogerbi rickz sadikd umass jeffku bradwe mguittet jscarrow 143 56 31 56 192 41 34 39 42 36 222 45 43 51 37 46 244 36 35 26 29 39 34 45 201 47 49 53 52 222 50 35 35 19 44 39 225 24 55 14 12 66 25 8 20 70 28 39 3 261 19 21 36 164 21 105 105 18 161 EGM johnnyli jennam davidtr 60 19 mikeguo sshah rmanne 16 raymonde imrans billdev 25 mikezin bartonp rvarun 107 mrfortin bambos gabea 20 njain mdesai billkar 22 vinceo tvoellm jasong 25 sanjeevk gigela cameront 21 caglarg bradwill mbeck 19 stelo elliotm mattsti 113 chuckc scotther dennisfl 28 andrewr sgoble sandeas 17 khawarz sethh billya 24 arvindm mnassiri jackmayo 23 myronth crzhou robingo 21 bobri cwjones riche 118 jeffio jcable jensenh 30 kipo derekl alicepr 20 yslin richow kipknox 14 mraghu tomwhite ryanha 14 gerhas mraschko manavm 20 stevesei luisu katief 20 martinth carlb cwilli karend 85 erictr gregchap iainmc 20 reves rickb deande 15 douglasw sudheerv bdewey 22 sverma aravindk rajeevn 28 skavsan raikm dustini 115 alesh yvesn lindaav 24 anujg toddf robertco 18 naveent farishat scoutman 21 kamenm metegokt ialegrow 10 martynl strowe maheshp 23 davebu rodnevbr anankan 19 snene jeffpi jerrykoh 97 mgammal craigfl alexsi 16 johnc juliemad devic 11 oipotter thorn 22 kirandor juliemad charle 16 albertt juliemad ccrane 19 clupu dhicks 5 clupu iamwhi iuliemad prioshi jamesb 41 daviddv davsmith cynthiat teddw 23 kbrown ericve CynthiaT 17 mikesch seano CynthiaT 1 fuvaul davsmith CynthiaT 55 saniavs pankajl srinicha anilb 9 chetanp mustafag kannar 8 charun shreeshd 12 vim anithab ajaygumm 20 srin 6 rajeshia srinicha 42 dhach 42 fergalb jasonu rmauceri 57 48 samseng jimrodr markli jcarroll julieb ulri mikeang](https://substackcdn.com/image/fetch/w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F65477379-4529-456f-8444-64621ac0bb85_1680x2110.jpeg)
The organization proved remarkably effective and what would surprise most people, it was incredibly agile to massive unknowns and learning along the way. What I said with Windows 7 was always the case with Windows 8, which is even as of this writing I hear from people on a regular basis who talk about the work on the team being the best of their careers and most fulfilling. That means the world.
Public Disclosure and Events
It is easy to imagine Windows 8 happening as a chronology from the initial planning before Windows 7 shipped through to RTM, but that does not do justice to the scale of the effort and how much work happened in parallel. When we spoke of the “chipset to the experience” each of those pillars was both a huge effort by Microsoft to engineer the product and a massive contribution from ecosystem partners to complete the delivery.

Tami Reller (TReller) the corporate vice president of marketing and finance for Windows presented a slide at the end of the project at our all-hands Company Meeting where she outlined the major milestones for Windows 8. These external milestones are on top of the engineering led milestones, M1, M2, M3, Beta, RTM. There were 10 external events for Windows 8, each a major outreach included participation from partners representing a particular aspect of the ecosystem. That’s a lot of events for one product. It was another era. While it helps to think of them happening serially, all of what will be described took place in parallel.
These events help to organize the sections that follow: chipset, platform, experience, and the ecosystem. In each of the following sections, we’ll follow various events—the internal workings and the public events—that took place from January 2011 through the final product launch in October 2012. The technologists reading along can appreciate this approach as we traverse the project from layer to layer. Those with a marketing perspective will appreciate the journey by segment or channel.
We will dive into product details quite a bit—the highs and the lows as they say. In a blog post on Windows 8 just after the Consumer Preview milestone we described the goals we intended to achieve for the product experience. These were a distillation of the product vision as we iterated on and completed the scheduled feature set. Each of the sections that follow apply to some of these goals but do keep them in mind as they guided the whole project:
Fast and fluid
Touch-first (but not only touch)
Long battery life
Grace and power of Windows 8 apps
Live tiles make it personal
Apps working together to save you time
Roam your experience between PCs
Make your PC work like a device, not a computer
Chipset
The journey from Intel to also supporting ARM was one of the more extraordinary technical achievements in scope and execution by the reinvigorated Windows team. The implications of the work were on two levels. First, the immediate challenges were within the existing ecosystem, starting with Intel. Second, we were literally resetting the PC platform while in flight and doing so required a platform evangelism success on par with the original success Windows achieved in the late 1980s.
I hated that throughout the planning of Windows 8 described in the previous section, right up through the team vision meeting, we were, or specifically, I was uncertain over whether we would be able to make the right big and bold bet on ARM. It was so much work.
The Demo
On January 22, 2010, I walked over to Rich Neves’ (RNeves) office in the former COSD buildings of the core Windows NT team—these buildings were built just after the Apps campus and were where much of the Windows and Server teams were housed. The Kernel Platform Group (KPG) team had been hard at work on the port to ARM for months—calling it a port is too small, as every major subsystem of Windows required deep architectural innovations—it was a major refactoring of the Windows code base, much of which began under the guise of the previously mentioned MinWin. One week before the iPad announcement, Rich and the team asked me to stop by their hallway for a look at what they had been up to.
These buildings were much larger and a different design than the WEX buildings—the traditional Northwest wood construction had been replaced by exposed and painted metal beams and glass in these more recent buildings. I made my way up to a conference-room-turned-lab, where at least six members of the team waited to anxiously show off the progress. They were anxious because the progress was hard to believe. And frankly, we just hadn’t had that many interactions as I had only been their official manager for a short time and in the Windows culture, executives visiting offices was not at all typical.
They showed me Windows 7 running natively on an ARM-based phone that was designed for Windows Mobile. Actual Windows 7. All of Windows 7. Windows Mobile at the time was built on a subset of the ancient 16-bit and 32-bit Windows code. They were running the modern Windows NT code base on a phone with an ARM chipset. It was nuts. It wasn’t an old-school demo of the kernel or a command line, but the task manager, solitaire, even the on-screen keyboard used for touch, and a command window (this was still the core OS team after all.)

I was speechless. I was incredibly impressed with the team and the work they had accomplished so early in the product cycle—we had not even completed the vision. It was a huge boost to the confidence in our plans. While I insisted we remain opaque and secretive about the work as the full vision came together, this visit made it clear we were on our way.