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