The storm before the launch: inside Microsoft

Part two of our exclusive look at the book that rocked Silicon Valley: 'Barbarians let by Bill Gates'. Windows 95 enjoyed history's slickest software launch, but behind the scenes, total chaos reigned.

From the word go, the next version of Windows after 3.1 was never thought of as anything more than an upgrade path in the transition to NT, a system that was more robust, more stable and more expensive.

Codenamed Chicago, the new operating system would run the old legacy applications, with the advantage that people could also start writing 32-bit applications that would run on it as well as on NT.

In April 1992, after Windows 3.1 had shipped, two plans emerged. The short-term plan included fixing nasty bugs and the user interface, and never fulfilled Gates' original goal for Windows - 'to be like the Mac'.

It was to be nothing more than a pretty shell on top of Windows 3.1, with a shipping date of June 1993, hence the name it would briefly carry in-house - Windows 93.

The long-term plan was tied to Cairo, the nom de guerre for a far-out skunk-works version of NT with an object-oriented shell and file system. Cairo involved rewriting the entire operating system and making it 32-bit. The 32-bit of a 32-bit system referred to how much code the hardware or software could process at once - a 32-bit system should run much faster than the old 16-bit. But 32-bit didn't always mean faster - on the contrary, it was often bigger and slower.

Neither plan was particularly well focused. Six months into the long-term plan, the group realised it did not have time left for the short-term one, the fleeting Windows 93.

Brad Silverberg, the vice president overseeing the project, told David Cole to combine both strategies. Cole, who had been in charge of Windows 93, would now lead the combined Windows effort - Chicago. Many developers said Cole was perfect for the job. He was hands on, process-oriented and ran a tight organisation. One of his first priorities was fixing the new shell.

In the meantime, the Cairo team had been growing and growing, expanding from roughly 30 to 100. Jim Allchin, the vice president who championed Cairo and later took over NT, began recruiting 'smart' people, generally PhD physicist types who were masters at designing architectures but not master hackers, like the so-called dumb developers. Satoshi Nakajima, a Microsoft veteran, had worked in the Cairo group since it was set up in late 1988. He was one of the seven members of Cairo's shell team, the group responsible for designing a new look and feel, or shell interface, for NT.

When the Cairo developers heard what was going on in Windows land - that the Chicago group was also building a new shell - they saw it as an opportunity.

They wanted their shell to become the company standard, to stretch across Chicago - which was slowly evolving into Windows 95 - and NT.

Allchin split the Cairo shell team in half and sent three developers over to Windows, leaving Nakajima behind.

Not long after that, in late 1992, Nakajima's old frustration came back to haunt him. He was told the Cairo group would rewrite the shell from scratch. Tired of rewriting code for a product that would never ship, Nakajima wanted to bail. He took a few days to contemplate a move to the Windows team. He also went to Allchin and complained that he was rewriting too much code that got trashed.

Nakajima told Allchin that Cairo would never ship. 'Oh, we'll ship,' Allchin assured him. 'We'll ship Cairo sometime in 1994, so you should stay.' Allchin promised to jump off a bridge if it didn't. So Nakajima directed him to the Golden Gate and joined the Windows 95 team, taking Cairo ideas with him.

Nakajima started writing the new Windows shell in 16-bit code, so it looked and behaved like Cairo. But with the long-term plan staring them in the face, the Windows 95 developers knew they had to include support for 32-bit applications.

This would not be easy. The group had been thinking about 32-bit support, but the question was how much of the system was going to be 32-bit, if any.

Was the support simply going to be a translator that allowed both 16-bit and 32-bit applications to talk to the kernel? And which 32-bit APIs were going to match Windows 95's big brother, NT? Some developers in the NT group proposed that the Windows 95 team take the 32-bit NT kernel and put the legacy 16-bit kernel layer on top. The NT team viewed any design other than their own as inferior. Naturally, the Windows 95 team proposed the exact opposite.

The developers on the NT team were not impressed. But the idea of making Windows 95 32-bit wasn't on anybody's dance card. What was on the agenda was making sure all the old 16-bit applications, which ran on nearly 90% of the world's PCs, would still be able to run on Windows 95.

Backward compatibility was the reason Microsoft was so successful, yet compatibility continued to plague every version of Windows. As they changed the Windows system or added functionality, the threads linking the old and the new inevitability frayed.

Lin Shaw had worked on previous versions of Windows and eventually became development manager for Windows 95. One of only three female developers on the project, she would be responsible for the 55 developers working on the core, which included the new shell, user interface, graphical device interface (GDI) and kernel. One of the biggest challenges for Shaw and long-time comrade David Weise, a nine-year veteran on Windows in charge of GDI, was to fit the operating system into 4Mb Ram. Microsoft didn't want to tell people that they'd have to buy more memory to run Windows 95, even if it was true.

Then there was Brad Silverberg, a devout product man and hacker at heart who kept the team disciplined by making it work, for the majority of Windows 95 development, on old 386 and 486 PCs. By seeing how slow the software was, Silverberg argued, the developers were not going to become complacent - like Soviet architects forced to live on the top floor of their elevatorless buildings in order to see things from the real world point of view. So Nakajima & Co had to feel the pain of the end-user, which made for development and debugging with full Soviet speed and efficiency. And Silverberg was very hands-on. When he used the product, he could point out countless things that didn't make sense or didn't work.

For Shaw, the acid test was always: would Brad's mum be able to use it?

Silverberg and his internalised 'mom' were the best testers Windows ever had. The Windows 95 team was bigger than any before, with 800 names in the product's eventual credit list. There were strict rules for checking in code and fixing bugs, plus hundreds of compatibility issues.

In spring 1994, Cole called Nakajima. 'In order to make the platform better, we need to develop some real application on top of the Windows system to prove that it's solid and compatible with NT,' he said. 'And you guys should volunteer.'

Nakajima and another developer took on the responsibility for porting the shell from 16-bit to 32-bit. The porting - rewriting the code so that it called the 32-bit APIs correctly and compiled in a 32-bit way - took two weeks. That was the easy part. The troubling detail was that the guts of Windows were not stable. The platform was 32-bit but wasn't compatible at all. Nakajima tested the shell against 32-bit GDI code, but if the shell made any calls to GDI, it was crash city.

It took over two months to get the shell to run on the 32-bit platform, which further delayed the shipping date. But as shell developer Chris Guzak viewed it: 'To the degree that the shell was like the initial application that tested the Windows 32 support on Windows 95, that was what drove the success. But if Windows 95 was a failure as a 32-bit platform, no matter how much it served as a bridge to future NT versions, we would be massively hosed.'

In December 1994, Cole, Shaw and the team went back to Gates to discuss the ever-slipping shipping date - the result of adding features, changing the shell several times, plus hordes of compatibility bugs. Cole levelled with Gates: 'We're not going to ship in February.'

After Gates had calmed down, he asked for the facts. In order to come up with the new shipping date, they took historical data and added some padding. They finally came up with 24 August 1995 - a full seven months away.

Just like politicians issuing bad news from Washington, the team decided Christmas was a good time to announce the date, to minimise press attention about the latest slip. 'I know I'm going to eat dirt, but I'm not going to eat it more than once,' Gates told the team.

After the meeting, the revised goal was to clean up everything for the Windows preview program and have that out by the end of February.

Meanwhile, planning for the Windows 95 launch was well underway. In January 1994, Waggener Edstrom, the Microsoft PR machine, began recruiting 100 key editors, 32 analysts and 150 third-party vendors for the Windows 95 bandwagon. Pam Edstrom had been massaging these relationships for over a decade, sending flowers and cartoons which earned her a reputation as 'Gates' keeper'.

Waggener Edstrom leaked exclusive Windows 95 puff stories to all the important newspapers and publications. It fed the New York Times a story with a marketing twist, the Wall Street Journal received a more technical angle and People magazine was given an exclusive, revealing that NBC's Friends sitcom stars Jennifer Aniston and Matthew Perry would be doing a 25-minute video, educating people on the wonders of Windows 95.

The PR efforts would play another important role. It had been nearly three years since Windows 3.1 had shipped. During fiscal 1994, Microsoft's revenue growth had slowed to 24%, its lowest annual rate since going public. Slower growth was reflected in the stock price, which appreciated only 50% between fiscal 1992 and 1994.

The Windows 95 hype would help change all that. By 1995, Microsoft's installed base of Windows and Dos users had swelled to an estimated 140 million users. As the release date for Windows 95 drew near, Wall Street analysts began to estimate the potential impact of the upgrade on the company's growth.

Estimating that 20% of the installed base upgraded at an average of $90 per copy, Microsoft could receive a potential $2 billion windfall in a very short period of time. The mere promise of the bonanza broke the stock out of its two-year slumber.

Microsoft did sell preview copies, however - $30 a pop to anyone who wanted it, an offer that appealed to 400,000 users. With these unpaid testers, Windows 95 went through more than 75 million hours of testing, the equivalent of a single person sitting down at a computer around the year 6500 BC and testing non-stop until 1995. What the testers found wasn't pretty.

More than 6,000 critical bugs. The team looked for crashing bugs and data-loss bugs. Sometimes they would even fly beta testers' PCs back to Redmond and sometimes they did remote debugging, where they debugged testers' machines over the phone.

In early 1995, with Windows scheduled to ship, another crucial and controversial decision was about to be made. It would fuel the ever-growing fire between Silverberg's Windows 95 group and Allchin's NT team.

Allchin's Cairo shell developers had written a dissertation-like paper, proving their architecture was superior to the Windows 95 architecture.

They had the really 'smart' people architecting everything from scratch and it was well designed. By contrast, the Windows 95 team started from a 16-bit hacked-up piece of code and ported the shell out to 32 bits.

Accordingly, the Windows code was messy and difficult to maintain. It wasn't clean or well designed but it was ready to ship. At this point, Windows 95 had the new shell and NT was still using the old Windows 3.1 interface. At this rate, Windows 95 would be the low-end operating system with the high-end interface, NT would be the high-end operating system with the low-end interface and Microsoft would look very stupid.

In spring 1995, Gates realised that Microsoft had to make it clear which shell was going to be the ongoing strategy for the company. He called both the Cairo and Windows 95 shell teams into the boardroom. The hour-long meeting was like a multi-ethnic family reunion in Sarajevo, the two teams staring each other down as Gates struggled to break the news gently.

All the 'smart' people who had been working on the Cairo shell were forced to move, while the 'dumb' Cairo people would stay and port the Windows 95 shell to NT, getting it ready to ship with NT 4.0 the following year.

But with everyone working in full crunch mode and the shipping date only three months away, Gates had discovered the Internet. On 26 May 1995, he issued a memo to his executive staff, turning 180 deg away from every previous utterance on the subject. Suddenly, Field Marshal Gates was encouraging his generals to use the Internet and unleashing his hordes in a harried race to catch up with his competitors.

He issued a memo, which read: 'The online services business and the Internet have merged. What I mean by this is that every online service has to simply be a place on the Internet with extra value added. The Microsoft Network (MSN) is not competing with the Internet, although we will have to explain to content publishers and users why they should use MSN instead of just setting up their own web server. We don't have a clear enough answer to this question today.'

Gates had spent 10 hours browsing the web and, to his horror, had seen almost no Microsoft file formats. Smelling the scent of blood, he had seen those of a number of his competitors. Gates said:

'A new competitor 'born' on the Internet is Netscape. Their browser is dominant, with 70% usage share, allowing them to determine which network extensions will catch on. I want every product plan to try and go overboard on Internet features. One element that will be critical is co-ordinating our various activities.'

The last words were to prove particularly prophetic. As team leader Lin Shaw put it: 'The Windows 95 team really had no idea what the Internet was.' With only 47 days until Windows was released to manufacturing, they were just trying to ship the product, working 16-hour days trying to fix all the bugs that had surfaced through the preview program.

Gates had long ago scrapped the company's low-bandwidth peer-to-peer Internet effort - in favour of its high-bandwidth interactive TV strategy and MSN, the company's proprietary online service.

After two-and-a-half years of development, MSN still lacked content and any clear-cut advantage over the World Wide Web. Also, while the Windows 95 team kept redesigning the shell, nobody had bothered to tell the MSN developers. Suddenly, they were waking up to the fact that MSN didn't work with Windows 95. The panicked developers called the Windows 95 shell team. 'Oh yeah,' Guzak remembers responding. 'We rewrote that.'

MSN was still the only online card Microsoft was in a position to play.

It was this, not a graphical Web browser, that was bundled with Windows 95. It was the bundling of MSN that prompted the Department of Justice to once again investigate Microsoft's business practices. Microsoft would again dodge the bullet, but the issue of bundling applications into the operating system was just getting going and would not easily go away - it was the technical equivalent of Bill Clinton's 'bimbo eruptions'.

Despite the company's later claims to the contrary, the only Internet technology that made it into the first Windows 95 release was the operating system's ability to establish a dial-up connection to the Internet and run archaic, text-based file transfer and communications with little front-end work. Consumers who signed up for the new service would search through various topics such as travel and news, only to be met with an annoying message informing them that the service was not yet available.

Still, it would take over a month for the software to hit retailers' shelves, because Microsoft wanted to make sure the channel was stuffed with enough inventory before the launch. Internally, the Windows 95 launch was dubbed 'The Sky's the Limit with Windows 95', because of both the rainbow-coloured flag logo with blue sky in the background and its estimated $1 billion marketing campaign - including the money that PC vendors, retailers and others would spend on the software.

But the real question was how to make this PR splash bigger and better than the last ones, which were already the stuff of legend. On 24 August 1995, riding on Microsoft's unprecedented marketing budget, the perpetually delayed operating system rolled out with a bang around the world. The theme was Midnight Madness. In an unusual move, Edstrom's minions had the Empire State Building lit in the Windows 95 colours.

In the UK, free copies of The Times were given away containing a Windows 95 ad supplement. Microsoft even paid for rights to the Rolling Stones' tune Start Me Up, used as the Windows 95 theme song.

As the sun rose in Redmond, Washington, on a luminous 24 August, launch day was already underway in Europe. On its campus, Microsoft set up a pavilion that looked more like a travelling circus and held an all-day celebration hosted by Tonight Show host Jay Leno - and, of course, his merry sidekick, Gates.

It was all a screaming success, one of Edstrom's finest moments. During the 20 months preceding the launch, 240 cover stories and 13,000 news stories had run in various publications. Within the 11 days surrounding the launch, Microsoft nabbed 2,000 TV segments. During the two-day launch itself, 100 syndicated radio spots ran. It all looked like news coverage; in fact, it was free advertising.

Waggener Edstrom claimed that Microsoft received more media attention than the 0J Simpson trial, which was going on at the same time. Ultimately, 19 million copies of Windows 95 would sell in the four months immediately after its release. Nonetheless, many people hammered the software for including both a 16-bit and 32-bit kernel, despite the fact that Microsoft had positioned it as a true 32-bit operating system. The GDI and the user interface were still 16-bit and many of the memory management calls that 16-bit applications used also called the 16-bit kernel.

Even Lin Shaw admitted Windows 95 never reached the performance of Windows 3.1. The team had simply reached the point where they decided they were close enough and just shipped it. Microsoft's huge success, as Shaw and other developers freely pointed out, was due to dumb luck.

The company had covered the table and some bets paid off. Corporate adoption and company-wide deployment of Windows 95 turned out to be a major disappointment.

In an IDC survey of 400 corporate managers, only 23% planned to upgrade their PCs to Windows 95 during the first 12 months the product was on the market.

Consumers didn't seem to have a problem paying $89 and $109 for the Windows 95 upgrade, but many balked at the extra $50 they had to shell out for Microsoft's Plus Pack, a separate CD that included utilities designed to improve the Windows experience. This $50, very un-integrated add-on also contained a web browser. Microsoft had licensed the browser from Spyglass, an application often given away for free on the Internet, and dubbed it Internet Explorer 1.0.

'I think it was a mistake to not just include the browser in Windows 95,' said Shaw in September 1997. When asked if there were any discussions about including a browser in Windows 95, she said: 'No - even at the time when we shipped, we were testing with the Netscape browser and it wasn't even close.'

Despite the hype and the huge marketing budgets, by the time autumn Comdex rolled around in November 1995, Windows 95 was nothing more than a sideshow.

Comdex excitement, always a fickle commodity, had been diverted to Netscape and its Navigator browser.

Thousands of hardware and software vendors had scrambled to show their products were Internet-centric and while most PCs ran Windows 95 under the hood, what people saw on the screen was not Microsoft's icon, but Netscape's big green N. Microsoft's efforts to own the Internet had just begun.

Next week: Internet Explorer and its strange effect on the DoJ ...