Monday, August 16, 2021

Working on Internet Explorer 3 and Google Chrome

Hadi Partovi:

25 years ago Microsoft released Internet Explorer 3.0, its first real salvo in the “Browser Wars”. This launch taught taught me how a giant corporation could move at the speed of a startup.

[…]

To motivate us more, I plastered the hallways with quotes from Netscape’s founder, Marc Andreessen: “Netscape will soon reduce Windows to a poorly debugged set of device drivers.” It reminded us that this new startup threatened to destroy all of Microsoft.

[…]

The Internet Explorer team was the hardest-working team I’ve ever been on. And I’ve worked at multiple start-ups. It was a sprint, not a marathon. We ate every meal at the office. We often held foosball tournaments at 2 am, just to get the team energy back up to continue working!

Sadly, there were divorces and broken families and bad things that came out of that. But I also learned that even at a 20,000-person company, you can get a team of 100 people to work like their lives depend on it.

[…]

This wasn’t a toxic pressure cooker of working against one’s will. The leadership worked hardest of all. Most of us were in our early twenties and it was a launch point for many careers.

Every member of this team considered it a highlight of their career.

Aaron Boodman:

Chrome was delivered without any sprints at all. The team came in at 9 and left at 5 (figuratively, people actually kept their own ~8h schedules) every workday for a couple years like clockwork. No drama. No broken marriages, no broken families.

[…]

How did chrome-team manage to deliver high quality software without death marches?

Funny you ask... Turns out that software projects actually benefit strongly from having senior technical leadership deeply involved.

[…]

Software engineering is engineering. Like other kinds of engineering, it’s a skill you develop over a lifetime, not a decade.

When I joined chrome-team I was in my early 30s. And I was on the junior side.

Most of the core team had already worked on one or two browsers before!

Having strong technical leadership has lots of advantages, but one of them is it naturally leads to a healthier cadence. These folks typically have to be home for dinner, and they’re old enough to know that death marches don’t work.

Update (2021-08-18): See also: Hacker News.

4 Comments RSS · Twitter

When Chrome was released, it was using WebKit, which had years of development from Apple at that point. It’s hard to imagine that there would be much of a need to pull off what the IE team did at Microsoft in the context of getting Chrome released and competitive.

Kevin Schumacher

@Ben Did Microsoft not have years of work on IE prior to v3? Even given the list of things they added over v2, it was still not created out of whole cloth.

And regardless, there was no deadline that had not been created by a manager somewhere to get either product shipped, so the ridiculous crunch (noted for causing divorces and broken families, which is immediately dismissed in favor of it being neat that a hundred-person team would work "like their life depended on it") was completely unnecessary, as demonstrated by Chrome's release.

The context of IE 3 was the browser wars of the 90’s. It was a highly competitive period.

When Chrome was released in 2008, HTML 4 was left for dead and the W3C was off-track working on the XHTML spec that eventually got scrapped. HTML 5 was still considered experimental and unsafe. Apple contributed to HTML5 via the WHATWG and used their informed position to build newer capabilities into WebKit that just weren’t possible with Firefox or IE of similar vintage.

I remember writing html 4 transitional doctypes in 2008, still. That’s how frozen things were in the environment that Chrome was released.

So yes, I stand by my assertion that Chrome was born in an entirely different environment and didn’t have the pressures that IE or Netscape developers did.

While I don’t support ruining peoples lives or overworking people, and that people working on Chrome didn’t have solid experience, lets not pretend that Chrome didn’t stand on the shoulders of Apple and didn’t have the benefit of coming to fruition during a period of stagnation on the web.

I'm a bit disappointed by the discourse (not here, but on Twitter, e.g.) that "IE 3 wasn't even a good browser". Sure it was. For its time, adding stuff like CSS was quite innovative. We can criticize Hadi's downplaying of a problematic workplace situation, and Microsoft's role in the browser market (especially a few years later, especially with versions 4 and 5), and still acknowledge that, engineering-wise, it was a pretty good browser and in some ways better than Netscape.

@ Ben: Chrome was released with some major changes compared to WebKit, such as the V8 JS engine. But yes, we don't know how much time they had to develop that in peace, whereas Microsoft had little time to compete against Netscape.

Still, whether Aaron is right or not in the implication that it would've been possible to ship IE 3 without "crunch", we shouldn't encourage such behavior.

@ Kevin: IE 3 was quite a leap, though. It added a plug-in API (ActiveX, like Netscape's NPAPI), CSS, and Java applets. (And more.) It also replaced the existing JavaScript implementation with JScript. IE 2, by comparison, really wasn't a serious contender yet.

Leave a Comment