See full event listing

Frontend's Lost Decade & The Market for Lemons

Microsoft is on parallel journeys: our flagship applications are moving to the web, in whole or in part. At the same time, our internal stacks have been evolving, starting with in-house tools, through Angular, to React. This trajectory mirrors the larger frontend ecosystem’s acceptance of SPA technologies, appropriate or not, over the past decade. The bad news is that none of this has gone well for users. But why? How did our community gain huge funding and put on an endless parade of self-congratulatory conferences if the results haven’t stacked up?

This talk is a look into how Microsoft is beginning to turn a very large ship, and how lessons from a decade of consulting with teams building on the web can help you avoid the now-common pratfalls of an ecosystem that’s only just starting to step into the stark sunlight of P&L accountability.

Alex Russell is a Microsoft Partner PM on the Edge team and Blink API OWNER. It is his professional mission to build a web that works for everyone.

From 2008-2021, Alex was a software engineer at Google working on Chrome, Blink, and the web platform. He served as the first Web Standards Tech Lead for Chrome (2015-2021) and was a three-time elected member of the W3C Technical Architecture Group (2013-2019) and a representative to TC39 for a decade.


Alex Russell 0:00
I’m a product manager on the edge team. And as part of that work, I spend a good chunk of my time, probably about half of my time, going around the company and consulting with other teams to try to help understand kind of how it’s going. Because we want to do as platform makers, we want to do intentional learning, we want to help teams who are having difficulties using the web and the platform, learn what’s possible and use the latest and greatest that we have put into the browser. But but not just because we want to make their products better, although that is front and foremost for the company. But also, because by doing that work and partnering with them, we get a chance to sit with them, and peer over their shoulders and see what actually hurts rather than the good kind of game of telephone that you might get where a lot of folks kind of come to you and tell you oh, this is this is what’s happening. So that’s a that’s kind of an intentional learning effort that I do now on the edge team. And I did for many years when I was part of the Chrome team, working with the business development and developer relations teams, to sit with teams, we’re building progressive web apps, since 2015. And so I’ve talked to hundreds of teams at this point, I’ve worked with hundreds of teams to help them touch up or analyzing and deeply reconsider some of their technology choices all the way through the stack in order to build great experiences on all kinds of form factors and devices. And so that has given me a real tour as in in bed with many folks who are having good times, building for the web. And as often is not it turns out bad times. So I want to talk about I think I think we all need to talk about because my my TLDR is that it’s not going as well as maybe, maybe some conferences will tell you this. So in 1970 George Akerlof published his most famous paper called The market for lemons. And in this paper, he introduced economists to the fundamental idea of information asymmetry, using the idea of bad cars, Lenin’s in the resale market, as an example. And this example is pretty trenchant because it depends on the idea that buyers know a lot less about the quality of the goods for sale than the sellers do. That is to say, if you are in the car business, and you buy cars from people and sell them on to people, you might have a lot more information about the quality of that car than either the person selling it to you, or the person that you then sell it on to good middlemen are worth their weight in gold. But good middlemen require a fluid market, you have to have a lot of information and a lot of trust. And so in markets where information is about quality is not easy to come by, it’s possible for markets to wind up moving through, a lot of lemons. And lemons are bad not just for the people who get less money than they could for the things that they sell on to the middlemen and pay more than they should for the people who sell them on to them. But also for anyone who wants to participate in the market, whether or not they have a good quality good or that they’d like to sell a lot of or something low quality, it’s going to be mispriced. And that means that good quality stuff eventually kind of moves out of the market. And so, Akerlof used the idea of the market for lemons as a way to illustrate the information asymmetry problem in a lot of different kinds of markets. And he says, there’s an incentive for sellers to market poor quality merchandise, since the returns for good quality accrue mainly to the entire group whose statistic is affected rather than the individual seller. And I postulate that this is what’s going on with front end tools, we have not had a good way to price the externalities, of many of the goods and services that are being marketed quite heavily to developers. And as a result, we may have a market full of lemons today. So let’s look at how it’s going. What what do we know. And to do that, I think it’s important to do a couple of explicit exercises, interning the subtext of our assumptions about how the device and network and market landscape that we are building goods and services for building websites that we want to deliver to people for how that’s actually going and what that market looks like. So we want to turn our subtext into text and make our assumptions explicit. One assumption that I have heard on a loop for most of the last decade is that CPUs are fast now, and that may have been true in 2013. When we started down what I have come to call the Great branch mispredict but About the same time, most most browsing went mobile, that is to say, phones are now where most browsing happens. And that has remained true, that’s not going to be a temporary feature of the world. Now, maybe some new form factor will take a bite out of this, and it’ll become more contested. But until something replaces the phone, the phone is where browsing happens to a first approximation, and so it kind of doesn’t matter whether or not you think you’re building a website for desktop, you’re building a website for desktop and people who are on phones too. And that means that we have to pay attention to those devices, and the actual market for those devices, what they look like, who’s using them what situations they’re in, because the market for desktop computing used to rely on Moore’s Law and relatively fixed latency, wired networks, and none of that’s true anymore. And obviously, I can’t see you all, but I wish I could. So if you could put virtually put your hand up, if you carry an iPhone, that’d be helpful. And if you carry an iPhone that’s less than 18 months old, that would also be helpful. And great. Because if you do, globally, that makes you kind of a weirdo. And I don’t think that that isn’t, that reality has percolated into our conversation in ways that are that are particularly well understood. It has not been true that Apple sells more than half of phones since something like 2012. In most years, it’ll be something like 15 to 20%. Now, you may see news stories that say Apple sold the most, you know, devices of any manufacturer, and that two things can be simultaneously true. On the one hand, Apple has relatively few skews, that is to say, a very, very small product range. And there is a huge number of Android devices in the world. And those devices are split up among many manufacturers across many price points across many subdivided, skews. And so by concentrating on a small number of products, and product lines, in a single manufacturer, you can sell the most of any, and still only account for 15 to 20% of the market. And that is that is the world that the global world for smartphones, the data here, you could extend this this chart on forever and still be pretty true. average selling prices are a little bit more contended. And I will say there’s a lot of nuance to all of this data, there’s a lot of texture, the surface, you know, thing I’m giving you is not the whole story. And it won’t be the story necessarily in your market either. In some wealthy markets, you’ll see a much higher proportion of iPhones to Android devices. In almost no markets however, will you see more than 50% of devices being sold being iPhones not use and again, to give you a sense of the texture, usage and sales are different device lifetimes have an impact but also wealth in terms of access to networks and data as well as the the correlated impact of affluence and value of online services. So but the average selling price globally for smartphones probably isn’t what you paid for yours, especially if you had your hand up earlier. If you take the data series back to about 2016 in castella terms, it was near 300 and it poked up above 320 21. But the average selling price for androids where most of the market is again is much lower. And if we look at more recent data, things go a little bit wobbly because pandemics do extremely strange things to economies. Prices. As you know from news articles about inflation, have done strange things we had in many jurist in many geographies, we had pandemic era support for home budgets, which created outsize demand for electronics of all sorts including phones. And that was followed by increases in prices due to supply chain bottlenecks. And then other impacts related to inflation including what you might hear referred to as green inflation, which reportedly in the US accounts for about half of the total price increase so people taking profits which means that you may get less for your dollar this year than you did last year even in constant dollar terms. And that is that it’s global but it also has a local texture to it as well so So note that this is weird, but we’re going to talk in broad strokes.

Alex Russell 9:36
But if we look at more up to date data of the middle of this chart is right now, the right hand side is projection the left hand side is is a separate estimate of average selling prices. So this data is like there are so many people who make phones and there are so many different phones made and how those get into the channel and how they leave the channel is all it was all kind of a you know squint kind of game but IDC is different view onto this data suggests The average selling price was north of 300, you know, looking at 330, back in 2019, and has bumped up by a third up to three 400 and close to $440. But you’ll know that the average selling price for androids in the same chart has not done the same thing. It’s still sub $300. Even with inflation, and all these other effects, what’s going on? Well, the rich people who continue to buy iPhones at a relatively constant rate are paying a lot more for their phones. Now, the average selling price for an iOS device this year, went north of $1,000 for the very first time, that is an unbelievable amount of money for a consumer electronic device that is a effectively a consumable for most people around the world. So we’re seeing a delamination, the mid and low end are kind of not not fixed, but they’re where they were in terms of price. And so the thing that’s going to determine what reality looks like for our customers for our median, and further out in the distribution customers is not the $1,000 phone in our pockets, it is something else. And that’s something else is relative related to forces that we see in the high end, but not nearly as directly as at the low end. So what are we talking about? Well, this is a chart of Geekbench, five scores. This is a data series that I’ve been collecting for the last call it eight years now, where we look at what the single and multi core performance of devices is at the very highest end in the iOS ecosystem, the very highest end in that year, that the first half year announced in the Android ecosystem, a median price device, which is to say somewhere in that, you know, somewhere 300 To 300 to $400 range, and then a low end device, something in the 100 to $150 range. And again, the thing to understand is that almost all of the volume in these markets is not at the high end, right? The high end is wealthy people, and wealthy people are considered wealthy, because they’re weird. They’re unusual in the world, right? If everybody was wealthy, then we wouldn’t have that term. So the people paying $1,000 for a phone are not like most people in the world. And that is to say they are not like most people using your websites, unless you’re selling Prada handbags, in which case that’s different. But for those of us who aren’t, the fact that multi core and single core scores at the, at the middle and down in the distribution have not kept up. And even at the high end, in Android land. If you spend 800 $900 on a pixel, you will still receive a CPU that is two years behind an iOS device. If all you’re testing on is an iOS device. I got news for you. That’s not real life. So what should you take away from this? Well, there are no fast Androids, either no slow life, and the world is mostly androids. If that is not something that you’re sitting with, or testing with, if you don’t have cheap devices surrounding you at your desk, you may not be building something for the people who are going to be trying to use your services, which means that your services may experience hysteresis people may try to use it and bounce off and you won’t see them in your data. Okay. And this matters because the set of people in the world who are only on smartphones, correlates heavily with folks who cannot afford $1,000 phones. That is to say, the more dependent you are on your phone, the less likely you are to have bought a fast phone. So the people who need services on devices like this the most are the people who can least afford the best version of this is a constant across the world. Okay, let’s look at desktop. Again, virtual hand up if you have a Mac. And it’s less than three years old. I’m not going to call you a weirdo again. But I will just know that Apple has not made something more than like 8% 9% of all desktop computers that includes tablets as well as desktop and laptop form factor PCs. In something like 10 years, 15 years, that’s just a constant. So this is a niche product for wealthy people. If that is the device that you’re building and testing on. That means that you are building in a niche and may only have built something that is acceptable to people in a niche. And so it’s worth I think looking at what the rest of the market looks like we talked about the average selling price of PCs. We will talk a little bit more about this but I would like to introduce you to a device that my company Microsoft sells to schools today. This is the flat surface S E it sports a two gigahertz Celeron N 4020 which is a two core device. No hyper threading. It has four gigabytes of RAM 64 gigabyte Let’s have flash. But that is not fast. I don’t know if you know the difference between eMMC and like the various different kinds, but like, if there’s a slow version, it’s that means it’s cheap. And the cheap one is what’s in here, because it’s cost $250. And it’s encased in plastic, which is to say that it’s thermal performance is the performance of polyurethane, I don’t think you’re going to be using that as a conductor is more of an insulator. And that means that even those two cores can’t get that fast for very long, because they overheat quickly, which means that they’re thermally throttle a lot of the time. Okay, there is a $330 version. And that is to gigger. Us, that is still two gigahertz. But it goes up to four cores, twice as much RAM twice as much everything, but it’s still encased in plastic. And so it can’t go that fast. And this is important because that device is something that we expect our products to work well on. It is also not the case that most developers at Microsoft have one of those on their desk that they’re testing. Now I do because I’m weird, in the opposite direction to most folks. But it is the kind of device that we need to be keeping in mind because it represents all of the kind of pandemic era Chromebooks that were bought in haste and, and theory in order to do zoom calls for folks who were suddenly finding themselves teaching at home, or schools that had to buy technology in a hurry without really having a considered plan for what to do and almost no budget to do it. That is, those are the devices that are walking around today, that students still depend on all day long. And so the average selling price in the PC market has stayed between 607 $100. Today, new phone, average selling prices has picked up above 350, it may be as high as 450, depending on on various factors, the estimates are wild. And again, pandemics do weird things. So that’s the market. That’s what we’re looking at. So when we talk about what devices our code is going to run on, we’re looking at a device that was sold between two and four years ago, at the average selling price. That is the actual median or p 75. device, right? The age of that device is not we we don’t turn over all of our devices every year, right, we hold them for a while. And that means that those things age and so what is available today for $300 is nice, but that will be the median in two years or four years, if we’re talking about a PC, many of the laptops and PCs are walking around are between six and eight years old. And so this bears out in the data that we see from edge telemetry, something like 40% of the windows fleet that’s observable to us is reporting spinning rods, that is to say it has a hard drive, or it has less than four gigabytes of RAM, or it’s less than four cores. Those devices are not fast. And so what you should take away about the desktop ecosystem is that it’s mostly old, it’s mostly laptops. And it’s mostly and across the world. Almost everything is the commodity OS, Android or Windows, not iOS or macOS. Now, you might say to yourself, but most of our users are on fast devices. And everyone has 5g and this these things are assertions that we can try to falsify with evidence. Now the everyone has a fast devices may be true in the sense that your users can only use your service if they are on fast devices, they you may be experiencing performance hysteresis, you may be in such a bad space with regards to performance that most people bounce off of it early. And you may not see it in your data because you weren’t looking. It’s easy to run ablation experiments, but almost nobody does. But the network stuff is harder to diagnose. And so we have to go look at external data to try to understand it. I’m working on an updated blog post that will go into much a lot more depth about the real network situation. There is good news. There’s good news, actually, both in both the low end of Android hardware and in networks going into 2024.

Alex Russell 19:17
Weirdly, 5g has not necessarily helped anywhere. In the sense of it’s still a weird thing for you to get except in some very high data rate applications, which are not being pulled off of 4g networks was just making 4g networks better. But it’s worth keeping in mind that the technology mix that we see in the world still features 3g heavily. And 4g is going to be the workhorse almost everywhere. And even users who are on 4g wind up being 3g users most of the time, this adage is going to be just as true in the 5g era when that finally arrives and which by the way, won’t be for another five or six years. You may have 5g now but your 4g user saw Probably most of the time, even if you have a 5g device that has to do with mass deployment and infrastructure and backhaul, and all kinds of complicated things that have to do with spectrum deployment and auctions and that sort of stuff, but like TLDR, you’re not going to be living in 5g land now, or soon, and neither will your users. So, as is true all over the world, we’re looking at a 5g world that is 5g in the breach in 2030, not 2024 2025 2026. In five to six years, 5g will still not be the majority of most sessions around the world. Right. So she SMA suggests that in Africa, 5g is only going to overtake 2g in 2026. Right, like, so set your expectations on stone about what networks actually do. And know that this is true about fixed internet as well. Now there is good news. Also, in the US specifically, regulation has a big impact. We’ve seen significant improvements based on subsidies to rural areas, and to folks who are less advantaged with regards to the improvements in performance. And the threat of some regulation has actually caused some of the worst offenders to start to actually improve their network speeds. But if you live in historically redlined areas, you may be paying a lot more per bite to. So a lot of the things that go along with not having historically large amounts of wealth continue to stack in this sense. This is the redlining I was talking about. And it’s it’s it’s gutting to see it on the map. It’s getting to see where folks who are disadvantaged from buying houses are now disadvantaged from getting a reasonable internet drop. That’s that is how that is how the compounding effects of disadvantage work. Now, you made me think of yourself, okay, okay. Okay. That that’s all rough, but we’re doing okay. Our team has some luck, we just rebuilt on the news that we did the thing that everyone says is going to be super fast every we were told that this new thing is performance. Well, okay, so I’m probably older than I, older than I look. But I started working to build ecommerce websites on the internet in 1999. As an, we had a search box, we had a configurator, we had a product detail page, we had a cart we had did checkout, and we did it over 14 4k links to web TVs, and to Netscape four. And so I kind of understand when folks tell me that their that their Wizzy, you know, document editor needs, you know, a megabyte of JavaScript, but I’m not sure I was convinced when someone comes to me with their e commerce website. And some folks in the world have been learning this lesson and continue to pass it down into their teams. But as a whole, I’m not sure our culture has done that Amazon, they don’t allow, I mean, go look at their pages, like you might get some jQuery, but you’re definitely not not going to get the new shiny. And that means that their performance is good. But there are other top 10 retailers. And these are US centric, but you can find these examples in most geographies. Now, where between desktop and mobile, we’re looking at a sea of yellow if not red, relative to their users. So the corporate vitals dataset comes not from some bench idea of what that user is, these are the real devices reporting back with anonymized histograms. And when you get enough of that data, you can correlate it to the origin in an anonymous way and say something meaningful about that statistic. And so what we’re seeing is that, even with the extremely low bar for all the core vitals targets, and again, I cannot stress enough the core vitals targets are good core vitals are like getting to good core vitals should not be a celebratory moment, that should be the starting point for your team. If your yellow or red in these in these metrics, people are having a bad time, because he’s reported p 75. That means one in four visits is a bad time, right? If you’re if you’re not green. Maybe the second largest e commerce website in the world is a sea of red. And the commonality between these sites and these experiences, doing poorly even though we have 20 years of building ecommerce websites, which again, I cannot stress our landing pages for marketing, search boxes, search results pages, product detail pages, carts, and checkout flows. That’s what they are. They have been that for 20 to 25 years, there is no Wizzy new thing in any of these pages that is fundamentally different than they were 20 years ago, right? The devices have gotten 10 times faster or more. The networks have gotten more More than 10 times faster, and yet, and yet, here we are. I will assert that this is a lack of a statistic that allows us to correctly price the externalities of the tools that have been sold into the developer ecosystem with theory and with certainty, and with some derision for the old guard, who told us that we that we couldn’t afford all this new shiny stuff. And it turns out that we were just missing a statistic to price it. And I want to thank the Chrome team for for developing the interaction to Next paint metric, because for reasons that I won’t go into the first image delay metric had been sandbagged to make bad sites look good, again, asked me some other time and some other way how that happened. But imp is going to replace that. And it’s going to do a better job of capturing more interactions in sessions. And what we can see is, roughly, this is a bit of an eye chart, but like if you’re building for things that build in the old style for most websites, and on most websites, you send HTML first, you’re gonna do a lot better than if you are dependent fundamentally on JavaScript for interactivity, because JavaScript is extremely expensive, it scales in the properties of the local device, and the network that it’s attached to. Which means that if you send HTML, which is simpler, which browsers process a lot faster, and which we can construct a renderable, DOM and CSS tree out of much sooner than waiting for your JavaScript to collect its thoughts, finally, generate some Dom, put it on the page and do stuff, then you end up in a situation where by sending something that is fundamentally simpler to the runtime, we can optimize significantly better on your behalf. And you may think, Oh, well, browser should get just get smarter. And I’m here to tell you not as an apologist for browser engineering, as I think we could be a lot better in a lot of ways. But that’s not what’s going on. What’s going on here is that we have decided that we are going to bring on board a lot of complexity into our stacks. And that complexity has costs. And today, we have just been externalizing, those costs, those costs have been put onto the user and IMP is going to price those costs, such that those effects are now things that we have to pay for instead of our own teams. And that pricing function has been missing from the conversation. When we price these things, it’s going to turn out that the wind in your hair feeling of the developer experience getting better, may have actually just been you rolling coal in someone else’s face. Okay. And that’s what it looks like. That’s what the average citizen was like, what you’d like to see, in a world where the median and low end CPUs are not getting a lot faster, because process nodes have been stuck in the same place for a long time. And people are costing down their fabs. And we have been doing spread of technology, as Moore’s Law plays out every year where we get another doubling of transistor count for the same dollar. Instead of making faster device, we just make more of them. And we sell them at a lower price to more people, because that’s what’s happening as we replace feature phones and dumb phones with smartphones worldwide. That is incompatible with doing a good job. If this is the amount of script that we’re going to send every year. If this line stayed flat for a couple of years, we might be okay, silicon and network progress might Eclipse it right, we might climb back into a place where we’re healthy. But today, we’re not healthy because of this. And I think that this has added up to what I’ve started to refer to as the last decade, collectively as a front end community, we have mispriced the costs associated with the technologies that we’ve been enthusiastic about. And I don’t blame engineers. By the way, I just want to make it very clear that I think that this is a management failure. The job of managers is to manage. It is not the engineers job at Target or

Alex Russell 29:02
WalMart, who did you know, functionally a terrible thing to their users, and probably to the business as well, that they were allowed to ship something which regressed a bunch of metrics, presumably, it’s management’s job to manage. So we all have our enthusiasm. I love a lot of that technology or technologies that will never take off for probably good reasons. And it’s management’s job to keep that in line and our product management classes fails. So what I’m seeing in this incidental consulting that we’re doing is, you know, industry wide failure, we see lots of scrub countdowns people getting to the end of a prototyping or development process and realizing they can’t launch something so they have to scrub the whole gosh darn thing. After years of development in some cases, more often, though, we see launch directly in the ground, where something gets off the pad nominally, and then it finds itself exploding in the field. Some teams can get them delves into, far enough off the pad that it’s a surprise when the metrics come back, the rapid unplanned disassemblies from bad performance tend to correlate with systems that have situated user bases that eventually then grow. Right. So you something starts something out in the test population, and then you deploy it to a much larger population, that population looks different. Its characteristics are less like the wealthy people who developed it and more like everyone else. And there, there you go. And then in probably the majority of cases, today, we don’t see success, we see things that actually limp into orbit, and then find out that they can’t complete the mission. This is the worst thing. This is what I think of as the developer experience of modern front end, I was sorry, I shouldn’t say modern front of modern implies good, modern implies taste, I should say contemporary front end, contemporary is contested and can, contemporary front end ends up with a lot of these suborbital sub optimal insertions, because they are extremely expensive to re litigate, you can’t service it easily. Once it’s out of the atmosphere. It’s hard to send a team up to go fix it. But you have to do it anyway, if you want to, if you have any hope at all of salvaging it. And in many cases, it may be easier to write it off, but no one wants to do it. So teams get themselves into this situation. And those teams find themselves with months and months and months of remediation work in front of them. And these are the teams that I’m sitting with. And I want this to end, these teams are in pain, they’re in trouble, it hurts, no one wants to be doing a bad job for their users. So when someone tells you that the developer experience is the reason to adopt some technology. Imagine your future self sitting in that meeting where you were told Congratulations, you’ve launched the thing except the tanked all our metrics, now we’ve got to spend six months shipping, no new features. Instead, going back and figuring out why it doesn’t work for most of our users. We do this Google. Sorry, we do this as a continuation of work. I did a Google inner project in the edge team. We call it project sidecar where we go around and we help all these teams try to do it, most of them find themselves in one or more of these situations. That’s a bad time, it’s bad time for those teams, it’s a bad time for our users, I would like for you to have a better time. We have done this recently, without what we shipped something brand new version of Outlook, where everything that’s in that red is now web technology. This is, basically, and what we call a WebView. To that is the new version of Outlook. So we’re making more of our stuff out of web stuff, the new version of teams Same deal. We make almost all of our desktop stuff out of web stuff. And so it matters a lot that our website is good. But the tools and technologies that have been sold into our teams are not compatible with doing a good job for most of our users. Most of the time, we’re and we have the same thing in Edge. This is our browser essentials tool, which tells you basically how your how your session is going and the stuff that we’ve been doing to make it good for you. This is web content, you can go to it at a URL, Edge colon slash slash price reductions on essentials. And that means that we can put it on the bench as part of an internal hosted version of the performance analysts webpage is at Oracle, the performance analyst analysis service inside of Microsoft. And pas is basically a system that lets us you know, emulate a low end device and a low end network and figure out what’s going on. Obviously, the network isn’t involved here. So when the device and the disk. But when we rewrote systems that were built in react on the left hand side here, to something that was built in modern web technology, contemporary to modern, we ended up going almost twice as fast more than twice as fast on the bench. And for real world users across the entire distribution. We’ve doubled the speed. So we play the skin in slow motion, you see we paint faster, we’re done faster. This is rolling out to our users right now. And this is going to turn into many more services in edge. I think collections and downloads are next. So I think it’s important for us to take on to take off the glasses we’ve been wearing what we’ve been looking at contemporary front end and try to get a little bit more modern about things we need to make our product managers and our engineering managers use devices to represent the real world and hopefully their real world networks to it. The good news is that these devices are cheap. It’s not it’s not an expensive thing to go live like the other half. It’s straightforward. It just involves going to Amazon and getting something delivered that isn’t very expensive. It’s probably under your expensive budget limit before you have to declare things. And we’ve been doing this inside of Microsoft to where our development tools are starting to emulate a baseline device and network. If you are a Microsoft developer, whenever you open edge dev tools, we start to throttle you automatically so that you get a sense for what it’s like to have one of those low end devices on your desk to how we need to change our thinking. We need to move from thinking about our data models being Always local and always building for fast iterations on local state to thinking about things that are much more like what real users sites are most of the time where we have shallow sessions, where users interact relatively few times. And those interactions count against the very low denominator. And then I’d like to assert that we should all be managing for minimum client complexity. What you should take away from this is that if you unless you are deeply in touch with the population of networks and devices in in the world of the users that you’re serving, it’s extremely likely that you’re going to be wrong if you assume that they’re good. And that means that everything is much more expensive. And that means that complexity costs more on the client. And so you should try to centralize your complexity on the server rather than the client. I think we’re out of time here. But I’ve got some questions that you should send to your managers and or if your manager you should take them on board or read. Helen Elliott, McRae’s excellent questions for new technology post. Anyway, hire people to solve problems with HTML and CSS not to make them with JavaScript. That’s my that’s my plea to you at the end. And thanks, I guess we’ve got a little bit of time for questions.

Brian Rinaldi 36:19
Thanks, Alex, that was great. I, you know, I think this is, I really want you to talk because I think this is a super important message. And I’m going to throw out maybe I don’t know if it’s spicy opinion or not, but like, you know, the argument you made that, like we buy that we bought into these for developer experience, and then paid for it at the end, like the end users are paying for that choice. But I also feel like, I mean, if you look at developers now, I mean, I see so many posts about how complex things have gotten that, uh, did we really end up with a better developer experience? I’m not so certain. Anybody want in the bargain? Personally, this is just my, again, spicy opinion on it. The

Speaker 1 37:04
way I the way I try to ground myself about that, I mean, I share the same. I share the same intuition. But I’m skeptical of my own intuitions, right? So I want to I want to ground my I want to ground my beliefs in the same way that that I would I would run an analysis about, you know, like, I don’t want I don’t wanna spend time on performance, right? If networks and devices were fast enough, and I didn’t have to care, I wouldn’t care. That’d be great. Yeah. So the way I grabbed my intuition about this is to ask, okay, where’s the evidence, and at this point, given how much the absolute tidal wave of marketing that has, has washed over developers over and over and over again, about how dx is so important, and it leads to better user experiences, I would expect there to be just a towering pile of research that that justifies this in a way that’s not only correlated that is act that like, like, bleeds into causality. I’ve seen none of it. If you’ve seen it, or if anyone else has seen it, please send it to me, I’m easy to get a hold of. Let’s see, yeah, you can get a hold of me here. But, you know, like, why are we not awash in evidence? Right, like, where is it? It’s kind of it’s kind of the Fermi paradox, but for developer experience, right?

Brian Rinaldi 38:22
Yep. For sure. Um, I do have a couple audience questions, too. I know we’re running out of time. But I do definitely want to get to them. Savannah asks, not making assumptions about end users, consumers access is often overlooked. I saw it as far back as high school and college assuming people had reliable internet access, when maybe 50% did what tools or advice do you have? For those that want to build their sites and apps inclusively?

Alex Russell 38:48
Again, get cheap devices, get us build on build with cheap devices like us a quote unquote slow phone or quote unquote, slow computer is so much faster than we then like, the developer machines we built most of the internet with, like, I just, it’s mind boggling to me just how fast monitor devices are. And I mean, I mean phones too, right? Like, my phone, not only has eight cores, it’s got it’s got more L to cash than, than most of the computers I had in college. Right. Like, like, we can make fast websites now. It is a question of will. And, and grounding. And so, you know, the wheel comes often from the grounding. And I would just suggest that, you know, if you if your team doesn’t have the support to go to it, it’s important to try to like build a story because people are story motivated, right? We’re narrative creatures. And so helping people understand the situation from their own experiences is great. And if you can tell a narrative that includes specific individuals, unlike unlike everything I did here today, if you can include specific individuals and how their situation was better to work, or made worse by us specific interventions, then that has a lot of power.

Brian Rinaldi 40:03
Yeah. And and my first websites were built on 386. I think it was. And most, I think most people in the honestly like, what the extra 386? Yeah, it’s that old, really, really old and really not powerful. And then Sergey asked with the cost of measurement, being very high both in tooling and expertise, what is the message we can deliver to management for them to start caring for users who are not rich, quote, unquote, weirdos, as you call it?

Alex Russell 40:36
The good news is, again, there’s the missing statistic of imp is extremely clarifying, because it does a couple of things for us, it helps us set a new price, not in our internal evaluation, but a global price that feeds into the SEO calculation, because Google takes the site speed rankings that are based on the current vitals inputs and uses those to wait. But to some degree, to wait search results. And so slow pages are going to do worse. And we have a lot of experience of the web ecosystem responding well to what I say I want to say, well, responding to changes in ranking behavior by search engines. And so as that comes online in March that that for many classes of sites, and not all of them, of course, but for many classes of sites, including retailers, ecommerce, you know, most of the folks who make their money on the web, not behind a login, get his session, those folks are going to have an incentive that they understand. And I hope that will be clarified.

Brian Rinaldi 41:40
Okay, that’s great. Oh, there’s let’s see, we’ve got I think I got a minute left or something. So, uh, one last question here from Brian, I see tools in your chart that can ship static pre rendered pages without JS but do not default to that mode seems to be less about the tool and more about the default use of it. Do you think there is more to it than that’s?

Alex Russell 42:02
It’s an extremely, it’s an extremely thoughtful insight. I love this question. Yes, there’s more to it than this. It’s cultural. The front end, the contemporary culture of front end, has not valued users at the margins, and therefore it has valued other things. And those other things create their own incentives. Those incentives may have nothing to do with your product success or failure, right, those incentives may be more local, they may be making you feel good, they may be making, you know, validating you as a special and important person who knows things inside of an organization, right? Like we’ve all worked in teams where there’s some poor sod who lives in a closet, you know, making the Webpack still work and hoping it doesn’t all fall over someday. And that person is now indispensable, right? There are real things about our positions that we fear, I think, today, because contemporary front end has devalued the user so we cannot win in our organizations, small game Game of Thrones, necessarily by appealing to us your values, we’re going to fix that one product at a time and one team at a time, it will not get fixed all at once. There are big things like imp that will help. But this is a this is the challenge right now, for front end is to heal our culture. Our culture has to stop saying that whatever, Facebook excretes next week is going to be the future of web development. And it’ll be great because it’s the future, we have to start asking, is it good? And for who and why? And it’s good for us? Yeah. And I think we

Brian Rinaldi 43:46
have to accept that there’s the process can be painful, like, but I think this part of the thing is we default to these tools, because that’s how we know that they’re easy. We’ve been using them for years since

Alex Russell 43:57
like fundamentals will never go wrong. I right. If you learn how a browser processes a web page, that is knowledge that will last as long as you care to be a web developer. Absolutely. And it will trump anything else it will it will superlative, as in terms of efficiency of action and your ability to make small cuts for big impact. As soon as you learn those pieces. As soon as you learn how the system is a couple of layers below you actually function and stop relying on the userland abstraction to suss out what’s going to happen next. When you look at the webpage that you’re loading. It will make you a more effective engineer and that effectiveness will play out over time to your benefit. So don’t stress the small stuff. Stress the fundamentals and you’ll be okay.

More Awesome Sessions