Igalia's Brian Kardell and Microsoft's Patrick Brosset continue our History of the Web series with a panel discussion at BlinkOn 21 with people who witnessed the transition from IE to the modern Chromium-based Edge era
Patrick Brosset: My name is Patrick. I'm on the Edge team, I'm a product manager on the Edge team, and I actually joined Microsoft six years ago. And funny thing there was that I was actually six years ago, almost to this day, I was interviewing, I was on campus to get hired for the job. And that was right about when we were shipping Edge 80 or 81 or something like that, which was some of the very first versions of Edge that were built on Chromium. So, it's special to be here today, A, because this is my first BlinkOn in person, and B, because it's happening at Microsoft on campus, which is, I think, a really good testament to this community, like all of you, building Chromium together. So, I think altogether we're building, we're continuing to build the web of tomorrow, but we do these based on the web of what came before, all of the successes, all of the mistakes, all the failures that happened, all of the good stories that are useful to us as we build the web of tomorrow. And I think Brian here has been running this history of the web series at BlinkOn in the past, and we wanted to do this here as well today, because those are all of the stories that need to be heard and remembered. So, Brian, do you want to introduce?
Brian Kardell: I'm Brian Kardell. I'm a developer advocate at Igalia and like Patrick said, we have been doing this, began with actually Chris Wilson, started it and reached out to me about carrying it on series of interviews every time we have a BlinkOn. We talk with people who helped build the web that we have today. Not all of us will be involved in the same way forever. We like to record this stuff for history and tell you all this stuff that you won't know about otherwise. This is really interesting, I love history. So, we thought that since we were here in Microsoft today at BlinkOn about Chromium, that it was a great time to get this group of people together to talk about a very specific era in web history going from basically this time of IE6. Chris talked about a little bit yesterday when sort of won the browser wars and then disbanded the team and then leading through to when you eventually get to Edge being Chromium based. So yeah, we'll talk about that. So, we have these guests here today, ask you to just introduce yourself and maybe something about the role that you played and the years, the time that it was relevant.
Michael Champion: Hi, I'm Michael Champion. I'm currently retired, although I ended my career on the Edge team at Microsoft in 2020. I've been involved in web stuff since about 1996. I was in the XML world, and as we got absorbed into the web, and of course, XML became marginalized, I got more and more involved in the web standards world.
Greg Whitworth: I'm Greg Whitworth. I am currently senior director of product over at Salesforce on app foundations. I run everything like UI, run a team over there. From an Edge perspective from 2013 to 2020, was here. I was here for the end of IE11 up through the glorious discussions we're having now. Yeah, that's a little bit about me. We'll dig in later, I'm sure.
Adrian Bateman: Hi, I'm Ade Bateman. I was on the browser team from 2008 to 2018. Did a little bit of work on IE7 before that. My first experience with the web was thanks to Chris Wilson using Mosaic and the CERN http server, that was back in '94. And so, I was a web developer first and then worked on browsers later.
Brian Kardell: Can I ask, since you brought that up, because I ask in every single one of these, it would be a shame to break the streak. Just very quickly, I think this generation of people have never lived without the web, but some of us did. And so, how did you learn about the web without the web? What was your first experience with the web?
Michael Champion: Well, in the '90s, I think I got the thing that people now do with the web I did with CompuServe. So, it was like, yes, dial in over a modem. And it was like forums, it was topic-based forums. And I remember in late 1995, the web was really taking off. The Netscape IPO had made the web the hot topic on everybody's mind. And I made a New Year's resolution to find a job in some company that was working on the web. So, I ended up at a place called Arbortext, which was a SGML editor, and they were helped driving the evolution to XML. And so, I was doing on the XML focused web stuff for 10 years or so, and then it just morphed into the rest of the web, the real web.
Adrian Bateman: So, I'd used the pre-web internet in college, which is like news groups and FTP sites, not really anything graphical. And I knew about this concept of hypertext and there were like console-based hypertext applications that I'd used. And I remember a friend from college said to me that he was working on building this website and I was like, 'I'd like heard of the web, but didn't really understand what it was.' And that was the thing which prompted me to move from reading about this thing that was the web to actually trying to build something. And so, then I had to figure out, well, what's a browser? What kind of server do I need? How do I set that up? And then like this HTML thing, what even is that? And how do I do that? It was very much you find a website and then look at the source code and then try and reverse engineer out, what are all these angle brackets? And so, that was how I started and it was dialing up using a 14K modem. And so, I was like, 'I don't get it. It's so slow. I have to wait in eternity for these images to show up and then like everything shows up at the same time after waiting for minutes. I don't think this is going to catch on. It's just impractical.' And so, that was my first experience with the web.
Greg Whitworth: So, I'm going to kind of ... Ironically, you guys have dated yourselves too, but I'm going to date myself a little bit. But does anybody here know the show The Munsters. Okay. Well, you guys are supposed to raise your hands, I saw a bunch of yups, but there you go that's how crowds work. All right. So yeah, so basically what happened is my oldest brother had made a website over FTP in like '95, '96, he loved The Munsters, dedicated to The Munsters, which was obviously it's Pricely the only site that's dedicated to The Munsters. Anyways, so he made this whole site, I was literally not allowed to make websites. Just so you're clear, my parents were like, 'You're not allowed on the internet. The internet's bad. You're not allowed to make websites.' But I was super intrigued at what my brother was doing and all of a sudden, a package arrives at my parents' house to my brother from somebody we don't know. And basically, my brother was like, 'Oh no, that's from me. It's a guy that sent it to me.' And they're like, 'Wait, you gave out our address to some random person on the internet?' And he's like, 'Yeah.' Anyways, sure enough, we open it up. It's from Eddie Munster. It's all these signed memorabilia from Eddie Munster. And so, I'm like, 'I don't care what my parents say, I'm making websites about everything I like.' And so, what I find hilarious is like at that time, all of my HTML was all uppercase because I loved that look. And so, it's so funny now because I remember arguments where Tab would be like, 'You still finish your paragraph tags.' And so, it's so funny looking because I thought that code looks so clean and stuff, I never got free stuff. So, my brother was an influencer before influencers, but anyway, so yeah, that's how I got started.
Patrick Brosset: What was the state of the way when you joined the industry? What was a regular website back then? What a normal website look like?
Adrian Bateman: So, shortly after I started working on just building a website for myself, with a couple of friends, we launched a web agency in the UK trying to build websites for bigger companies. And we were trying to sell this idea of like this future web where everybody would have access to it. And this was like '95, '96, like nobody had access to it. It was like 10% of people even knew what the internet was and we were like, 'No, no, in the future, there'll be trucks driving down the street and they'll have web addresses on them.' And people were like, 'Don't be ridiculous.' You'll go on the tube in London and the billboards, there'll be web addresses, you need to get on the web. And people just didn't believe that that was a future reality, and I'm not sure we necessarily believed it either. And so, sites were static, they were just pages linked together. There was no very little dynamic behavior. I'd build server-side things in Pearl, I don't know why everybody used Pearl, but they did. It was horrible, but like everywhere you went and you read about how to build a website, it said you should use Pearl. And there were alternatives, but nobody used them. And so, we were like hacking out these Pearl things which were truly like write once, read never, because you could never figure out what you'd written and make it work again. And so, for me, the web was like very static. And then we were just starting to get new features that Netscape was releasing like tables and then you'd be able to use tables to lay out things. And then I remember, and then I'll let somebody else have a go. I remember like this transition between Netscape 2 and Netscape 3. Netscape 2 supported the ability to change the font color and Netscape 3 allowed you to change the background color of table cells. So, it meant you could now like have a cell with a different colored background and text that you could read over it if you were in Netscape 3, but people that were in Netscape 2. When you gave them the white text on the black background, they didn't see the black background and then the whole thing disappeared. And we'd be like, 'Do you think enough people are using Netscape 3 yet that we can get away with this?' And so, that was how the web was.
Michael Champion: Very much what Ade said, the early web was over dial-up modem, so it was very slow. I think the killer feature was hyperlinks as far as I was concerned. So, I think I learned a lot of my hands-on web coding skills by building just a static homepage on my own computer that let me go off and go to my favorite websites on daily or weekly or whatever. And yeah, and since it was so slow, it was much more textual than graphic. And both what Ada and Greg said, people learned by reverse engineering the website. This was like when open source was anathema in this campus, but the web was open source because you could do a view source on a webpage and you could see how they pulled off the magic. And back in the day, it was like within the realm of reason for an intelligent person to reverse engineer. 'Okay, I see there's tables within tables, within tables with tables,' that's how they do this layout. But yeah, it was very much a collective learning experience in the late '90s where before the big money really got involved.
Greg Whitworth: I'll say a little bit of a different thing. I had the blink tag at least and animated GIFs, so the wonderful Space Jam '98 site, totally. We all had, I'm sure, the under caution on our homepages at some point, right? But yeah, so my world is a little bit less. It's still static to today's standards, but thank you whoever invented Border Radius. I'm sure they're in this room, but having to go back and change images to change the Border Radius by two pixels. So, thank you.
Brian Kardell: So, we go from this world where Netscape is what a lot of people use and then Microsoft gets involved and eventually Internet Explorer 6 is by far the dominant, like just in ways that probably we'll never approach again because there was not a lot of choice. And then effectively that team is disbanded. It takes a while, but we come back together and you get IE7, 8, 9, 10, 11. Somewhere in there, we switched, do you want to talk about that a little bit, like how we go from you're on top of the world to we need to throw away the engine and rewrite it? Like why?
Adrian Bateman: Which throwaway engine?
Brian Kardell: Try that. Try that. So what? Yeah.
Adrian Bateman: So, I think there were a few chapters to this story arc. In the beginning part, when everybody was using IE6 and the team was started back up again, go try fix some security things and then start working on IE7 and new features, started small and then built. And the goal really was just to get back in the browser business and build a good browser and deal with ... People were already using IE6, especially in enterprises, which was Microsoft's core customer base. And so, we wanted to not break them, but give them new features. And so, IE7 was an incremental change and then work on IE8. I came into the team full time towards the end of IE8 and it was really just like trying to figure out how do you both keep the corporate web working, which was largely dependent on IE, while at the same time evolving the browser to be competitive and to include the new features that Firefox was shipping and that Safari was beginning to ship. And so, like this whole chapter was just building on top of that, trying to build a better browser. And it was impossible after that gap of not investing. I think we were just so far behind that we just kept trying hard, but just not quite doing it. And it was disappointing sometimes, I remember when we shipped IE8 and we'd worked so hard, but at least for me personally, I was disappointed with IE8 the day we shipped it. It just wasn't good enough. We'd invested so much and we'd worked really hard, but it wasn't great. And then IE9, I think we did a much better job there and we made some real progress in places. And I think I felt good about, that was probably the only version that I felt good about when we shipped it. But it was demoralizing that we couldn't quite get there. And so, that was like this first part. And then the second part was, okay, let's forget about the compatibility thing and then just try and make a browser that works. And so, as we moved into Edge and we used ... We were building Edge HTML, then the focus was, 'I just want sites to work.' We'd have this myriad of feedback, like some VP in a different part of Microsoft couldn't use IE because his school's website didn't do a certain thing in a particular way and it didn't work for us, go fix that. And it was just never ending. There was just like this list of things where, and they were just like corner cases, nothing that was in a spec, just behaviors that were slightly different and they worked differently in different browsers. And we had teams going, trawling, looking for these issues and we had a never-ending list of bugs to try fix and to try and make the browser work compatibly with other things. And we tried really hard again, like we invested year after year, seeing share go down because the site didn't work and like switching a browser is like a one-time thing. You've got a user and then the site that they really need doesn't work and they switch and they never come back. And so that was the challenge, and so I think it became clear, painful and clear, maybe painfully clear that we had to do something different. And so, that was when the conversation started around like, maybe Chromium, maybe WebKit, something different, like a new start, just because we're engineers, we wanted to work on exciting new things, not just trying to make the old things work slightly better so that our website would work. We had ideas that we wanted to share, we had new things we wanted to go build and we needed a platform on which to do that. And so, that was really the catalyst for starting the investigation and eventually the decision to move to Chromium.
Brian Kardell: You have this period where you rebooted the engine internally to write Edge HTML after Trident, and parts of that were really, really good. And I think that maybe Greg, you could talk a little bit about that.
Greg Whitworth: Sure. And this is more giving props too, I know Kevin's in the room and I've seen Ian somewhere. This is giving props to a bunch of other folks, but also Rosen who's not in the room. But yeah, the teams have gone through so much of implementing layout a billion times, they know layout really, really well. And going back to what Ade said with regards to, just to hit on it, with regards to specs, like the amount of table bugs we would hit. And so, that's when we, at one of the CSS working group meetings, we had David Barron's, one from Microsoft, and basically there's three table specs. And so, we did the typical, I forget what comic book strip that is. We created the actual table spec, which converged all three. So, to be clear, this is awesome, but it was one of those things that blew my mind that it was like 2015. And shout out to Francois Remy, who's not here, I think he still even works on that spec, but we actually had a table spec. I think that's one of those things people don't realize. So, like when we lost that dominant market share and people were just opening either Firefox or Chrome, it didn't matter that there was no table spec, IE was wrong, Edge was wrong. And so, it was like it was irrelevant. So, we started picking up these things that candidly, none of you actually want to sign up for. Working on a table spec was the last thing I ever wanted to work on, but the thing that was great is somebody had come up with the premise of, 'We don't want to build any CSS features ever again.' So, it was like, there was a proposal for CSS Houdini, I don't know how many people know about that. And it was one of those things that it was like, 'All right, how serious are we going to take this?' I know you had mentioned initially it wasn't taken too seriously, but effectively what ended happened, we had a meeting here at Microsoft and Rosen went over because they had built a layout engine three times. And Kevin, feel free to just shake your head and go, 'Nope, that's wrong.' But I'm trying to remember, three times. And so, that third time, they were really, really good at it, like really, really good at it. It was super performant, all that other stuff. In the room, he wasn't the lead of the layout engine at the time, but Ian was there. Basically, what set into path the new layout engine, I forget what it's layout NG, I believe, basically is born from that. And the reason for it was, hey, it set the stage for us to be able to have APIs in CSS Houdini for JS to where like the ... Sorry, Francois, I'm shutting your name out like 90 times. But he was able to do masonry layout in 30 lines of JavaScript to produce basically a polyfill that hooked into the style and layout engines. And so, it's one of those things that that AG HTML work was actually powerful. And by the way, since we have layout energy, all of a sudden, regions are on the table. We can start having those conversations, something that you couldn't do in the WebKit based, no offense to the WebKit team if they're still that way. But anyway, it's in the WebKit based layout engine, so it's a massive uplift to rewrite a layout engine anybody that's done it, but that was also a very powerful time in that migration to Edge HTML doing that work.
Patrick Brosset: I was wondering if maybe some of you could talk about features that you maybe had started to work on and really didn't make it because of other priorities and maybe they deserve a comeback or any particularly-
Greg Whitworth: I have a list, I have a massive list. So, thank you Ade for the mic and feel free to jump in with your own, but oh my gosh. So, I actually told them this, we all know how interviewing for jobs goes and it's like one of those things that it's like I was stoked. I was like an outsider that ironically, I thought I was getting trolled to join Microsoft by a colleague, but anyways, ended up getting a job. And so, I was like, 'Dude, here's all the APIs I want to land.' And so, I want container queries, I want regions, I want all of these different things. And real quick, I hit what Ade was talking about, which was, 'Yeah, we don't need to introduce features that we haven't even implemented the features from three years ago.' And so, it was one of those things that it's like, so we were able to land resize observer because the ROI was enough there because it's important to remember Office and others are moving onto the internet and they're like, 'Hey, our native capability, when you resize the window, we can hide icons.' We can't do that on the web, all you have is the viewport. And so, that's like where Resize Observer was born and hats off to David Barron and CSS working groups for the contain property and stuff, which really set the table for container queries. But there's such a litany because I miss Flash, man. Like goodness gracious, the cool things we could do with Flash and we're finally getting there with CSS and HTML and JavaScript. And so, there is a plethora of animation things that we wanted to do that when we would ... Patrick Ketner and I would commonly talk about people, they reach for tools to get by basically CSS and JS to get away from specificity dealing with that. So now that we have, is it where or is? I think it's both. Yeah, where has no specificity. And so, it's like just some awesome things that, man, I can't imagine if we had five years to source styling, the form controls. Imagine if we had those five or six years versus fixing Flexbox.
Brian Kardell: I think you had something that you worked on with the DOM that you had mentioned that you thought was really interesting.
Michael Champion: Well, this is a few years earlier. This is about the turn of the century. So yeah, well, Chris Wilson and Johnny Stinbeck and I, and I don't know how many old DOM people are in the room, but we hammered this thing out in the late '90s. And at the time, the vision was Dynamic HTML. So, it was like not exactly what's now single page apps, but you could do stuff without totally reloading the page. So, at least the Microsoft term of art at the time was Dynamic HTML, but that once the DOM really got traction, it became essentially an app platform. So, things like the social media apps that are ... Yeah, I guess you could kind of squint and say, 'Oh yes, that's dynamic HTML.' But no, it's really an app that happens to be running in the browser context. So, that, at least that's not what I was thinking back when I was an XML geek, just trying to maintain compatibility with the HTML browser world, but it's things like the DOM, it's definitely a design by committee type spec, but it's had an immense amount of power once people said, 'Okay, it sucks, but I got to use it anyway, and let's just go with it.'
Brian Kardell: So, that gets us to creating Edge HTML, which in the process it lays out all these effectively like R&D that other browsers were able to capitalize on. But somewhere along there, there's a part that we haven't talked about, which is also that like the early web and early web standards, like we didn't provide like a test platform, a common test platform or anything. And so, even once you have the common tests, how many of those aren't handled, like all these examples that you're talking about, this really long tail. And I'm curious, somewhere in there, you've given up on the Trident. Which really quickly, anecdotally, I want to say I reached out to Ade a few times because there were these quirks in the browser that would check your operating system to put you in like naughty mode compatibility if you belong to certain domains. And the company that I worked for was on the naughty list, and so you could go and pull up this webpage on your computer and work great and then you put it on the domain and it just doesn't work. And like the APIs don't work, and I was like, 'Ade, I don't understand. I'm going absolutely crazy.' And he helped me figure it out, so thanks for that. But somewhere along the way, you get off this like the compatibility thing isn't going to work we have to create edge HTML and you invest a lot in that. And honestly, it was good, a lot of this stuff was really good. I don't think you ever caught up and I'm just wondering how, what you can say was the conversation at Microsoft at the time about like, why give up on that and switch to Chromium? And what was the discussion? How controversial was it?
Adrian Bateman: So first, you have to understand the way that the compatibility landscape was. This wasn't all about whether or not the browser itself worked correctly. Oftentimes there were websites that would try to adapt their behavior for what they thought the browser would do. And so, a website would say, 'Oh, well this is Internet Explorer visiting. It's Trident, therefore nothing works therefore, I'm going to give you this completely different version of the web.' And then we'd be like, 'No, if you just give us the same HTML that you give to everybody else, it would work.' But they didn't. And so, that's how we ended up having to create these lists of, 'Oh, well, if you go to this site, pretend that you're Chrome or pretend that you're a Firefox, because then you'll get the right HTML that actually works.' And so, some of it was, yeah, there's edge case bugs, which may or may not be covered by platform tests and we need to go fix those and maybe give feedback to the specs and have those things improved and then contribute tests, and there was a lot of that. But then there's also trying to advocate to web developers to go actually try their site in the browser itself. We had a team who would send emails out to well-known companies and just try and find somebody that worked there to say, 'Hey, could you just fix your website so that you send us the same content you send to everybody else and then it'll just work?' And so, that was the landscape that we were living in. And the challenge is the longer you're in this situation with websites not working, the fewer people actually try using your browser. And the fewer people that are using your browser, the fewer web developers care about making their site even work in your browser. And so, you're in this spiral downwards. And so, we worked so hard, we had all these outreach efforts, we were focusing on trawling through the top thousand websites, trying to find all of the issues and making them all work. And it was working, we were getting slowly better, but the long tail is so long and you can't talk to everybody. And so, that was like the conversation was always, 'Are we ever going to get to the end of this? How do you actually fix this in the end?' And this was over several years of just trying and trying to advocate. We spent more and more time trying to talk to the web developer community and have them realize that we were there, we were listening, we wanted to help, but we needed their help too. And it was just a big challenge.
Greg Whitworth: I do want to add on to the, with regards to the, was it like everybody Chromium. I wouldn't say that at all, there was quite a few folks that understandably so were super passionate about having numerous implementations. And then I have a vivid memory of telling, I won't name names, somebody, because this was like a skunk works project that happened to figure out which engine to move to, if at all, that it was like, 'Yup, we probably would be moving.' And they were not thrilled at all, they were very irritated. But at the same time, it was one of those things that felt like I saw the writing on the wall that it's like Edge HTML is basically this Frankenstein Chromium-ish thing. And so, it's like, why not just pull the band aid and like go build the thing and all of a sudden, your WebCompat is perfect outside of maybe Safari on mobile, for example. And so, all of a sudden that frees you up from a business for all that branding I did earlier with the features, all of a sudden that frees you up to go after the things the business wants to do versus just treading water. So yeah, there were quite a few folks that weren't necessarily thrilled and I get it. Again, you've heard Ade talk about the amount of effort and energy put into some things. We had independent rendering before anybody else, it didn't really matter. Most people probably wouldn't notice, but there was a lot of cool tech that was done inside of that. So, it's super cool to see layout NG move forward and land because again, those things live on. But at the same time, it wasn't this utopia from everybody and I'm sure there's many folks in the room that could probably get into more details on that than I could.
Brian Kardell: I remember having a conversation with you on Twitter back when it was called that and everybody used it. That was like one of the problems that I see with the Edge when the pre-Chromium was like, 'Well, I'm not on Windows, so I can't even help you. Even if I wanted to become your user, I'm not going to run a VM just to run your browser.' And I think that's a really positive thing. So, I am on a Mac and I do use Edge. So yeah, I think it's really cool. You can use it wherever you are kind of. And I think that is also a really good story that comes from this because you don't have to focus on it alone. And I think there's lower levels than that even, there's cooperation on things like Skia that I think are ... We work together so that nobody has to do it alone because too much to do alone.
Patrick Brosset: So, we switched to Chromium and one thing that we'd love to get your thoughts on is how have things played out compared to your expectations at the time maybe?
Michael Champion: I was not exactly on the inner circle of this, but from the periphery, I think we assumed that if we went to Chromium, it was only a matter of time before Apple would, and who knows if Mozilla would even survive. So, I'm very pleasantly surprised that Apple has ... Yeah, I know the people in the Chromium world are not real geeked about how Apple's web story, but they're still around. And that's better than I think a lot of us assumed in 2017, 2018 when we were talking about this stuff. And yeah, Mozilla has at least managed to survive, but that's good for the ecosystem because having multiple browsers is ... Yeah, if Chrome was the literal standard rather than just the standard people test again against. Yeah, the world would be a smaller place, I think. And it's good to have this diversity of the browser ecosystem. It's exciting to see stuff like Servo coming along. I have no idea if they will ever get that last 10% of the functionality that requires 99% of the work, but it's good that we still have a diverse ecosystem.
Brian Kardell: Every browser engine that comes along has a little bit of a boost in not having to learn all the same lessons again, having a better test suite, having better specs because the other engines have gone through the pain of taking a few years to rewrite the table spec, all that kind of stuff. But it's interesting that even Servo is filing a lot of bugs and creating new tests because they still are finding new things. So, I think that's really interesting. And I'll just say real quick, shameless plug for this, our podcast, Igalia Chats, has a whole series that was launched by exactly this event called Web Ecosystem Health, where we talked about all different aspects of this. And the one thing I think we can all agree on is that it's great that they're all open source, right?
Adrian Bateman: So, there's one thing that I wanted to just say maybe to wrap this up. As Greg talked about, and I mentioned this move for Edge to run on Chromium, it was a big deal, not everybody was supportive. I felt it was the right thing to do, but there was a lot of angst, especially around Microsoft about this change, this change to use an engine which was perceived as dominated by Google, who was a organization that at the macro level is a big competitor to Microsoft, that we're in this competitive landscape and what would it mean to bet on Chromium? Would we be accepted? Would the process change because we were part of it? How would people try and make it hard for Microsoft to participate? And there were a lot of people worried about that. And so, I think it's a testimony to this community that BlinkOn is here at Microsoft this year, and that this is ongoing community which welcomed Microsoft and others to build the web together. I think it's the thing which attracted me to working on the web in the first place was this collaboration amongst people that both compete and work together. And so, thank you to everybody that participates.
Brian Kardell: Excellent. I think we're at time, so to our panel, I think you're excellent guests and nobody's going to top the Eddie Munster story, so thanks.