Amal sits down for a one-on-one with Alex Russell, Microsoft Partner on the Edge team, and former Web Standards Tech Lead for Chrome, whose recent post, The Market for Lemons, stirred up a BIG conversation in the web development community.
Have we really lost a decade in potential progress? What happened? Where do we go from here?
Alex Russell: Sure. So my name is Alex Russell. Iâm a product manager, I guess, now, on the Edge team at Microsoft, and Iâve been working on browsers for 14 years, something like that. I joined the Chrome team before 1.0. But prior to that, Iâd spent something like a decade building extremely large JavaScript applications, often for folks who had real problems. So I was the lead for the Dojo toolkit project, which was the conglomeration of a bunch of other sort of proto DHTML libraries back in the early 2000s⌠And that became kind of the corporate standard for IBM. We used those tools to build things like business intelligence dashboards, Ajax business intelligence dashboards for folks like Informatica; we built entire PIM suites out of it, helped Sun build stuff⌠I think some of those systems are still running. For a bunch of years, they were â the AOL email client was based on our technology, calendaring, chat, email, the whole thing.
So around the same time, a lot of my friends in the early kind of proto JavaScript days had been getting hired by Google, and eventually they pulled me in, and so then I spent the next 14 years or so working on browsers, but specifically the web platform. So I helped lead projects that developed various aspects of ES6, things like arrow functions and classes, promises, async and await⌠We developed at the same time what became web components⌠Weâve prototyped a bunch of new things in CSS that unfortunately had to wait a much longer time to make it into the world⌠And then from there, develop PWAâs and service workers, and helped lead the team that did push notifications, and then we did project Fugu, where weâve been expanding the power of the platform to do things like serial, and HID, and USB, and Bluetooth, and NFC, and access to low-level camera stuff, web transports, web codecs⌠Oh, and I spent about a decade on TC39 in the middle there, and then ran standards for the Chrome team.
So these days, I spend about half my time working directly with Microsoftâs largest web products. And before that, since 2015 or so, Iâve spent a ton of time doing this kind of incidental consulting with people who are building PWAs. Not because I want to care about performance. In fact, I actually kind of donât want to think about it; itâs just that whenever we sit down to work with teams, trying to figure out what hurts, thatâs always at the very front of the list, whether or not the team knows it. And thatâs been extremely depressing, kind of Groundhog Day thing, since about 2015.
I remember weâd sit down before every Google I/O, or for every Chrome Dev Summit, with a set of teams that we wanted to highlight their incredible work on a product, working with these incredibly smart engineers, and they will have built it out of the new hotness in JavaScript land, and it will perform like absolute dog***t. Just not okay. Just absolutely not okay. And so then it turns into this remediation process.
[08:07] These are - and I cannot stress this enough; these are not bad engineers. These are people whose houses that theyâve constructed are extremely flammable, not because they didnât know how to join the corners, and put up joists, but because the materials that they were sold were not fit for purpose. So a lot of things ended up in their handsâŚ
And so then we would sit down⌠And a lot of this work turned into sort of more incidental consulting. And again, I canât stress enough - performance is just the first thing on the way to getting to where we really wanted to go, which is to say, âOkay, have you tried out these cool, new APIs weâre trying to make the web more powerful with? We want to like help you learn about what you need, and then identify the next set of problems.â Because that kind of consulting, that collaboration is how â if youâre a platform maker, you can go around and like you could give everyone a survey and say, âWhat do you need?â, and youâll probably get a bunch of answers that are just like âPlease make me a faster horse.â And the only way that you really learn about what people actually need for their products is to go sit with them.
So it was an attempt, and itâs a continued attempt to try to learn directly from people building products about whatâs hurting most, so that we can go and like add those things to the platform. But this performance thing is just this constant irritant. Itâs an ankle-biter at every moment. We just canât seem to get past it⌠So here we are. Yet another team at work was extremely let down by a bunch of tools that have been sold to them on scalability, and the only way that those tools scaled was directly downwards, like a lead balloon. And itâs not the teamâs fault. They are extremely strong engineers; extremely strong engineers. I canât stress this enough. I work with great people. Iâve been lucky enough to work with like more than 100 organizations over the last eight years⌠Theyâre filled to the gills with good engineers who have been absolutely let down.