~21~

DirectX Media

I put DirectX in IE so that you could do the cool things that HTML5 does now—and you could do them in 1994—and then we finished by putting a 3D XML model together that would let you do way more than you can do in HTML5 now… Hardware accelerated inside IE4.

-Eric Engstrom

After Windows 95 shipped and DirectX became an established product, things began to change. Eisler and Engstrom, now working in Brad Silverberg’s Windows division, were working on Internet media strategies under John Ludwig. They had big plans, but they needed to stay under the radar at first, before they unleashed their next bombshells. And so they appealed to St. John, who was apathetic and dragged down by his personal life, not to self-destruct, but to be their “heat shield” and help distract people from what they were doing. Out of loyalty, and knowing that he could do the job very well, St. John acquiesced. He would create such a distraction that nobody would pay any attention to what Eisler and Engstrom were developing until they were ready to show it.

St. John found the perfect distraction—a growing war over 3D graphics solutions that involved Direct3D, SGI’s OpenGL and an internal project code-named Talisman. All he had to do was to keep escalating that war.

While St. John was busy supporting developers and fighting internal and external battles over OpenGL and Talisman, Eisler and Engstrom were working to integrate DirectX into web technologies. Despite his other activities, St. John started the ball rolling by helping create a prototype browser technology to open people’s eyes.

The technology wasn’t simple. It started with Java—which Microsoft had licensed from Sun Microsystems—and Microsoft’s proprietary implementation: Microsoft Java Virtual Machine (MSJVM). There were technical challenges to working with Java, one of which being that Sun’s original implementation of it wouldn’t support the real-time, extremely high volume of API calls needed to do the heavy multimedia lifting in games that DirectX was designed for. “Microsoft made its own interface in order to do this, called RNI,” says St. John. “So we basically bastardized Java. At Microsoft we took all kinds of liberties with Java, which led to the Sun/Java lawsuit*.”

*Sun Microsystems sued Microsoft for “incompletely implementing the Java 1.1 standard.” Even though Microsoft’s JVM implementation was very fast—even faster than Sun’s—it did not conform to the standard implementation for which they had a license. As St. John put it, they took liberties. Sun was also involved later in the antitrust lawsuit against Microsoft.

Two engineers, Matt Wilson, who was what St. John referred to as a “junior monkey” in DRG at the time, and game industry veteran David Petchey, wrote a Java wrapper for DirectX and the team began demoing web pages using their prototype. To say the least, people were stunned. St. John remembers John Ludwig’s reaction. “Holy shit. Yeah, not only are we glad we put you guys in charge of multimedia, but what else have you got to say?” Once again, the collaboration of Engstrom, Eisler, and St. John was opening eyes, and according to St. John, Ludwig instantly became a big fan of theirs, “even though we drove him nuts because we were immature.”

Ludwig’s positive response was in part due to his own long-term strategy for beating Netscape. “I was always thinking, ‘How are we going to develop a distinct advantage over our competitors, and what could we do that they simply cannot do?’ And it was clear on the internet that we had this deep asset called the operating system team, and one part of that deep asset was this great multimedia graphics capability that Netscape had nothing like. And because they were committed to being as cross-platform as possible, they would probably never have that capability. And so I was always entranced with the idea of how can we make all that rich multimedia stuff that we see in gaming that’s just part of the Windows platform? How can we embed that into the Internet, because if we can do that, a) the end users will like it because they enjoy that kind of rich, beautiful, deep stuff, and b) it will be a competitive problem for Netscape.”

Promotions… Finally!

It was shortly after the Java-fueled demo that Eisler and Engstrom finally got the promotions they both felt they deserved. Eisler was promoted and worked on building the Windows Streaming media server platform. Engstrom was also promoted and given responsibility over the Windows media client and media technologies for the web, specifically DirectX Media, which is what the browser demo ultimately became. According to Ludwig, it was only peripherally because of the DirectX Media demo that had so impressed him. He says that nobody was ever promoted at Microsoft just because of the success of a single event, but that Both Eisler and Engstrom had demonstrated that they could work effectively with these kinds of technologies, and especially in Engstrom’s case, Ludwig reasoned that the extra responsibility would actually improve his behavior. “What’s going to happen? Either he’s going to handle it well, and it will calm him down, and he’ll be productive, or he won’t. In which case we’ll know it’s time to move on and move him out of that job.” He adds, “I definitely think they did not learn good manners, but eventually, they did fine.”

Managerial Styles

Clearly Ludwig’s success with Eisler and Engstrom had to do with his managerial style and his overall patience with them and their respect for his deep technical knowledge of networking overall, but there was more to it. He contrasts his style with that of another highly successful manager with whom he had worked, David Cole:

“David is really good at running large teams and at communicating well in teams, getting them organized and getting everybody to step in line and working against the same goals. I see David as a great army general. I mean, when you’re doing a really big effort, you need supply lines and chain of command, and plans, and David is really good at that stuff. He enjoyed doing it and he made people feel good about it. He was good at inspiring people.

“I suck at all that. I viewed myself as much more like the Marines, which is you send us in to an area—like the Internet—where we have nothing going on. It’s a disaster. And damn it, we have to get a beachhead somehow. We really don’t care about the cost. We just need the beachhead. And that’s what I was good at doing. And I think that was just mentally better attuned with guys like Eric and Craig. Let’s just go in, make trouble, shake things up, find a way—any way—to become relevant and gain a beachhead, and then we’ll clean it up later.”

And so Engstrom was offered a promotion to a general manager position where he would lead a team of 250 engineers, which from Engstrom’s point of view was a good step toward his ultimate goal of becoming a Microsoft vice president. “It looked like there was every chance we were going to make the ‘destroy Netscape super browser’ according to plan,” observed St. John, “and that became a big Microsoft initiative.” But there was a catch. According to St. John, Engstrom was told by Brad Silverberg that he could be promoted to general manager of the internet media division, but only if he removed the Java binding to DirectX and embraced the work of Microsoft Research (MSR) rather than use the Java solution.

In commenting on St. John’s assertion Silverberg said, “…there was a LOT of pressure from Bill and Nathan <Myhrvold> to use technology from Research, and it’s possible that I asked Craig and Eric to play ball on this to make life a little easier and get Bill and Nathan off our collective backs, all the while expecting that research technology to fail and use theirs in the end.” Ludwig adds, “I think the Research guys had some really grand ideas, and I suspected that when you actually tried to implement them in a product, that they would grind apart and fail. But sometimes you had to agree to try in order to move ahead.”

Engstrom accepted the deal despite the fact that he knew it would have an adverse effect on the technology. Working with Jim Kajiya and a team from Microsoft Research, they axed the Java wrapper and added MSR’s own API, DirectAnimation. According to St. John, it was cool technology, but utterly useless. He describes it as “just animation scripting for no clear purpose… which it carried on being useless for well into the modern Silverlight incarnation. Six generations of irrelevant Microsoft technology searching for a purpose. And it was no use for making games.”

Although Kajiya was not the author of DirectAnimation, he does defend it, at the same time defending the point of view expressed by Engstrom and St. John. “I think DirectAnimation had a different objective than they wanted. They were looking for a small set of widgets that you could put on pages that would spice up a web page a little bit, and DirectAnimation was, at the time, like VRML a few years later… very much in that vein, which was a general system for making 3D web pages. So, it had a very different objective from what they wanted. I think their assessment that it slowed their project down and really didn’t help them with their limited objectives is probably quite accurate.”

At this point, the DirectX Java Wrapper prototype officially morphed into DirectX Media, a combination of the original low-level DirectX APIs with higher level media services, like DirectShow and DirectAnimation, that offered tools and cross platform DirectX support for creating all kinds of content in web applications. In a white paper from March, 1997, it’s described as “Media Integration and Streaming Services for the Active Platform,” However, according to St. John, the layers of technology they added to DirectX Media prevented the full implementation of the DirectX APIs.

Ludwig explains further: “The ongoing discussion between the core DirectX guys and the everybody else in the company was that a lot of people wanted to slap the Direct blah name on their technology, and because it had some success in the marketplace, but most of that technology was not philosophically the same as DirectX at all.” DirectAnimation was an example of a technology not truly suited for the “Direct” brand. “They were about exposing a whole new rich API set to do a whole new class of behaviors. But was very different philosophically from what DirectX was about…”

Meanwhile, the goal of creating a super browser was still percolating.

Compensation Stories

When Eisler and Engstrom were transferred and given new responsibilities, they also received a considerable boost in their compensation packages. Not so, St. John, whose division was not in a position to raise his package. This is a story that even St. John probably never knew. Cameron Myhrvold tells it:

“It got to the point where Craig Eisler and Eric Engstrom left my group, left DRG and went over to work for Brad Silverberg, and I remember Brad calling me up and saying, ’Cam. What are we going to do for these guys during the review cycle?’ I’m like, ‘What do you mean?’ And he goes, ‘Well, obviously we should collude on how we compensate these people, or there’s going to be dissentions within the three of them.’ I’m like, ‘Jesus, Brad. Well, thank you. I had not thought about that.’ So we sat and we colluded, and Brad actually transferred me some of his budget to compensate Alex because he felt that he really had to go a long ways to compensate Eric and Craig, and I didn’t have the budget to do something commensurate for Alex. I don’t think I was out of dollars. I think I was out of shares. And he transferred me shares from his model so I could give them to Alex and put the guys on an even footing.”

Meanwhile, Engstrom had his own issue with compensation—not his own, but that of the team he was building. St. John had agreed to keep people busy internally while Eisler and Engstrom worked on their grand plan. “We absolutely had an agreement,” says Engstrom. “I was busy consolidating all of the multimedia technologies under one roof. At the time, everybody thought they should start a little piece of multimedia tech that was half-baked, all across the company. So I would systematically merge them into the DirectX group. And so at one point we had 300 people working for me.” The problem was paying all 300 people. At the time, Microsoft paid on a curve, which meant that he wouldn’t have the budget to pay some of his best people what they were worth. Engstrom knew his way around Microsoft’s rules, however, and he came up with a solution.

“Because Microsoft has this curve, to try to build a superstar team you’re going to have problems because a lot of your superstars just ended up being underpaid. So I solved that problem by hiring very highly paid, but useless people who were just worried they’d get fired, because partners contributed 85%… their budget was 85% of that number, and it was a bigger number. Whereas people who weren’t partners, it was 65% and of course it was a smaller number. I would tell them, I’m never going to give you any more money, but I will make sure you don’t get fired. And you have so many stock options from your original hiring, and that all you really want is to keep getting those.

“And so I collected four or five of those people who were industry pundits, people and had been hired because they talked well or looked good, or whatever. And I would give them the worst mark I could and still keep them employed. That was my deal with them. I was very upfront. And I took the 85% of their larger budget and I spread across all the people who were really making DirectX sing, and that’s why we had a better team. We could afford better developers than anybody else in the company. I had a very highly paid—disproportionately well-paid—team at Microsoft as a result of that… Turns out when I came back to Microsoft after time away, I found that they’d made all kinds of rules to stop people like me from doing things like that. I thought that was a silly thing.”

The War is Over

The story of DirectX, from the point of view of Eisler, Engstrom, and St. John, was the story of a war fought in the trenches of Microsoft. As they saw it, they battled their way to success. St. John says, “We had become highly combative, accustomed to having to do everything ourselves, relatively ruthless in dealing with opposition and used to having to shout our message to be heard.” Now, riding a wave of success, the three were sought out, invited to senior strategy meetings and actually urged to share their ideas and feedback, which was quite unsettling. St. John even relates how he would become argumentative out of habit, even when everyone in the room was already agreeing with him.

“Now we’re big shots and we’re famous, and we have lots of allies and lots of enemies and we’ve been given lots of stock options, so jumping to that point in time, we’re now BFDs at Microsoft. Feared and respected, you know? And so Craig and Eric are not guys down in the plumbing. We’re all surfaced. We can’t do sneaky, unnoticed stuff. Everybody watches everything we say and do now because they realize that we’ve become very dangerous and powerful… I really liked it much better when I got my way without people knowing what was happening. I didn’t like having everybody listen to me and take notes and try to do what I wanted. I didn’t enjoy being in charge at all. So I was getting called to these senior meetings… Nobody argued with me. They’re ‘Oh, what does the genius say? OK, that’s our plan then. Let’s go do that.’ So I weirdly didn’t enjoy that. It’s funny in retrospect.”

In contrast, Engstrom and Eisler were elated about their new positions. They had been promoted and were running teams of their own. They had stock options and respect and notoriety at Microsoft. And they wanted to keep the pressure on as they worked to position IE against Netscape. But St. John didn’t share their enthusiasm. He only saw his responsibility to the software developers he had been working for and with. But he did continue to run interference for them. “I’ll go interfere with all these guys on Torborg’s team that you’re going to have to contend with over multimedia. I’ll just go make their lives hell until somebody finally gets sick of me and fires me.”

The Stress of Success

Almost from the moment he left Alaska, Alex St. John had been pushing envelopes and trampling on sacred cows. None of it really came easy, because easy wasn’t his way of doing things. He’d had his victories and his failures. In a risk averse culture, he had thrived on risk, but not without paying a price.

One price he paid was his marriage and family. The long hours and arguably maniacal focus on his professional goals had cost him dearly. And he was tired. “I was burned out. It had succeeded. It worked. And everything is changed, and I didn’t care at that point.”

And according to many who knew and worked with him, St. John really was waiting for someone to fire him because he couldn’t stop on his own. Whatever his unspoken wishes, however, he was not done at Microsoft… not yet.

Chrome

Chrome was to DX Media what the XBOX was to DirectX.

-Alex St. John

Chrome was meant to be the Netscape killer—a super browser that would add speed and functionality that nobody had seen before. The simplest way to describe Chrome is that it put DirectX into the browser with a 3D XML model added, allowing all kinds of multimedia that had previously not been possible in browsers. “The ability to deliver Quake via the browser was the initial vision for Chrome,” said St. John.

The idea of the super browser was at the center of a strategy to dominate the browser market and push Netscape out of their top position, if not out of business. Getting DirectX Media approved was a step in that direction, flaws and all. The next step was Chrome, a full-on multimedia enabled browser.

Development of Chrome began in some ways the moment Eisler, Engstrom, and St. John took on the Internet, but it wasn’t made public internally until May 14, 1997 when St. John dropped a little hint about it in a long email response to one of Bill Gates’ emails about Talisman.

He wrote: “So there is a huge barrier to entry for what I call ‘Fat multimedia’ adoption by absolutely anybody… let alone a company with no experience in this area what-so-ever like Sun. Set JavaMedia aside for a second, and consider the possibility that the real challenge is not to compete directly with JavaMedia, but to be the first ones to successfully deliver ‘Fat multimedia’ to the market, particularly the net. Delivering ‘Fat Multimedia’ is what the Chrome browser project is about. (For Chrome strategy see JohnLu)” Later that morning, John Ludwig (JohnLu) replied saying that Engstrom and Bob Heddle had sent a tape and a memo to Bill Gates about Chrome.

Ultimately, the Chrome project got greenlit with Engstrom leading. For legal reasons, they changed its name to Chromeffects (or ChromeFX), believing that the word Chrome would be hard to trademark (something apparently Google didn’t have a problem with).

Chromeffects was previewed on CNET in April, 1998, before the name change, but even if it was still called Chrome, it was no longer the super browser that Engstrom, Eisler, and St. John had envisioned from the start. It was, however, A very powerful technology, far ahead of its time, that allowed developers to use DirectX APIs, including Direct3D, to create 3D images and features in a browser. Project manager Bob Heddle is quoted in the article saying, “It is going to propel the industry. We’re moving DirectX from programmers to artists.”

Another issue that hadn’t been decided as of April was how the technology would be shipped and what the business model would be. St. John says, “Eric had the idea that Chromeffects could be a premium OS up-sell to Windows. His ambitions were boundless and he wanted to create a new profit center.” St. John disagreed with this approach, suggesting that if it were to be a Netscape killer, it should be distributed for free, which is more or less what happened. In August 1998, Microsoft offered a free download of an early version of Chromeffects to its developers. Direct3D capabilities were still expected to be added when the product was officially released.

Chromeffects was definitely ahead of its time in many ways, but, like DirectX Media, it was hampered by layers of technology, such as DirectAnimation, which prevented it from fully implementing DirectX APIs in a browser. In its final form, it enabled developers to add full-3D images and features in web pages, but it was still to unable to support browser-based games, which St. John points out was the major reason for having 3D in a browser.

The Ultimate Chrome Strategy

To ensure victory first place yourself beyond defeat.

-Sun Tzu

We had a very unusual mentality trained into us. Plamondon taught that a good plan is one that has many ways to succeed and few to fail. When you embrace that way of thinking, to an external viewer it often appears as though you had a weird way of controlling the future, in practice all you’ve done is chosen a path that maximizes for positive potential outcomes. It just looks deliberate in retrospect.

-Alex St. John

Although Engstrom had acquiesced to internal pressure in allowing MSR technologies into DirectX Media and into Chromeffects in order to keep the project moving and lead it, St. John states that the prototype Java code written by Wilson and Petchey was secretly added into IE. “Because of the uncertainty and conflict over ownership and control, I recall that shortly after producing this prototype Eric and I sat down with Craig and we said, ‘Look. We think we’re going to get the charter to build this new super multimedia browser, but given the nature of politics and the battles that will go on here, like the ones we’ve had with the OpenGL group, we expect to be competed with and subverted at every angle. So, in case we lose… in case we need a way to win out of desperation because we lose the primary battlefront, we need a fallback. Let’s secretly ship that prototype David Petchey and Matt Wilson made as part of IE4. We’ll just slip it in as it’s going out the door. Undocumented, untested, insecure.’”

This secret prototype was just another of perhaps thousands of security holes that Microsoft had left in its software, but it was definitely a bad idea in its way. “The history of Windows XP tells you how little concern Microsoft gave to the scale of the security problems that would end up presenting on the Internet.”

Although St. John speaks of their slipping the technology in secretly, Ludwig replies, “They didn’t insert anything into IE surreptitiously. There were a lot of excellent developers working on IE. I think we knew exactly what was going on, and we certainly knew they were trying to slip in the underpinnings of this Chrome idea. I don’t think that was particularly controversial or mysterious.” And as for security holes, he says, “Oh well. We had lots of those. We were running as hard as we could, as fast as we could to beat Netscape.”

Ludwig tells a story about one of his early experiences with IE. “I remember—it was probably early ’96 or very late in ’95—Chris Jones and I had a group of web developers come in and meet with us and we gave them a preview of our next version of IE. And we just got our asses kicked by this group of developers. They basically just told us, ‘Nobody gives a shit what you have to say. Nobody cares what Microsoft wants to make. Why don’t you just support Java? That’s what people are using. Why don’t you just support JavaScript?’ I mean, we got savaged. And we left the room, both of us, realizing, ‘God none of these guys give a shit about us. We are not relevant.’” And so the mandate was to become relevant, and it didn’t much matter at the time, how they did it. “We’re going to move fast, and maybe everything’s not going to be fully buttoned up, but damn it, at the end of the day, we are going to be relevant.”

According to St. John, they knew that Chrome had the built-in capability to be the powerhouse Netscape-killing browser that Microsoft really wanted, and they believed that they had options regarding its fate. “At any time that Microsoft’s politics obstructed us from shipping that capability, I could simply leak its existence to the press and FORCE it into existence and FORCE Microsoft to support it even if we lost the battle to build it formally.” But St. John also knew that his time at Microsoft could end abruptly at any moment, and it’s fair to say that he secretly wanted that to happen. He needed time to deal with his personal life and divorce. “Since I was probably going to leave in a ball of fire, the plan was for me to carry away the emergency plan.” That “emergency plan” led to another major chapter in St. John’s life and a radical technological breakthrough, but that came later. He still had more Microsoft battles ahead.