 I can make it happen. Actually, I'm gonna just do this. So I like to pace around, so I'm just gonna hold on to it like this. Maybe I won't. Okay, so, okay, I guess everyone can hear me. Man, so I just wanna address one thing real quick. Oh my God, what's going on here? Okay, well, I guess it's not super bright. No sweat. Was that? Oh, okay, I can't tell. Okay, so basically, yes, my name's Henri, I'm French, and my, sorry, my handle is Henri Avelka, and it's something that I thought was kinda interesting. I had a good ring to it, but I didn't realize that a lot of people believed that it was my real last name. So I'm here to basically say it's absolutely not my real last name, and nah, it just felt weird. I thought I was having this Obama birther movement. People are like, oh man, it's not your real last name. I'm so bummed, whatever, people kept asking me. I'm like, I'm sorry. I mean, Santa Claus. So yeah, I just wanted to get that out the way, but that is my Twitter handle, so you can hit me up all day. Anyhow, yes, I'm from Toronto. I do run, I enjoy that quite a lot, and in fact, today's Tuesday, so if I was back in Toronto, I'd probably be running with my running club tonight. So in an ode to that and my coach, she likes to do this thing, because it's actually pretty cold in here too, I want to do this. So if I could get everyone to join me in a bit of a hand clapping situation, that's what I'm talking about. So we're gonna have some fun. I'm here to talk about, whoa, what's going on here? Oh, there's Kanye, there he is. I couldn't tell if he was around or not. Kanye approves. So I'm also gonna do this. I'm gonna give away some books later on today. I'm a big fan of books, I love reading them. So if you want to sort of take this down, you could take a screenshot of it, whatever, or a picture. You want to tweet that, later on during lunch or something like that, I'll be giving away these books and I'll just hit you up like, yo, come check me out, I got a book for you. And obviously it's related to all this. Anyhow, let's get cracking. So normally around this time, this talk, I used to kind of show this video, but especially today since I'm a little short of time, I'm not gonna get into it. But it's basically a very well-known developer was being asked about like, hey man, what's going on with the web? How are things going? And then he just went into this rant like actually the web needs to change. And in fact, this gentleman is called Simpson and a very well-known JavaScript developer and this is what he had to say. The web is being built by a group of people that take for granted and you can see the rest. And he went on to add something like this. Sorry guys, I'm trying to get comfortable. All right. And then he chimed in some more with something like that. Actually no, that was me. And honestly, this is a reality and I know someone talked about this yesterday but this is actually Tim Cadillac's desk and he's got a great 11-inch MacBook Pro. Oh no, MacBook Air I believe. And he's got that very awesome ultra-wide LG screen. Anyone has one of those? Cause those are kind of sick. I'm trying to get my hands on those. But these are beautiful devices and this is kind of like what we work on, but it's not the reality of the planet, the world. Outside of North America, it's not that gangster. Yeah, and Cal Stimson added with some more details here. And this is absolutely true. The way we are crafting the web, there's quite a few people outside of North America in these emerging markets who are not going to get what we're doing. And in fact, this is part of a blog post that on the Facebook engineering page and they talked about how they went to Africa and they're trying to get a sense of what was going on and the handsets and how they're trying to make their websites faster. So this is a promise that they've made as well. Now getting back to Tim Cadillac, he talked about this. I think right now it's a cultural thing primarily, cultural. And I actually want to talk about that as well. There are two things that I think are very important and one of them is accessibility, one of them is performance as well. And with regards to the performance thing, I also believe that it's cultural. If I have to do one thing and one thing only, I want to make sure that everyone leaves here with the idea that they need to craft the web with performance in mind. Because again, I'm going to get into some examples. Once you get into developing countries, it gets very tough. And we're going to talk about images. And images pretty much are the lowest hanging fruit when it comes to performance. And speaking of fruit, anyone from the West Indies here? Like I'm pretty sure I'm going to see no one, but I'm just, I have to ask. Anyone been to the West Indies? Okay, a couple, let me pare it down. Everyone been to Jamaica? All right, so this is a fruit from the ackee tree. The ackee fruit. And essentially, when not cooked properly, this is actually deadly. And I've compared performance to dieting quite often. And this is pretty much a very good parallel. You mishandle images, bad things will happen. And we're going to get into that. So, like I said, performance, pretty much dieting, and we'll see some parallels. So, I want to welcome everyone to the hateful wait. This, I guess you guys hadn't seen that, right? I thought I'd posted it. But I thought I was going to have some fun, word play, et cetera, et cetera. But we're basically going to explore some of the challenges that images are making, some of the challenges we have with the web and images. So, hateful wait, this is a five-part tragedy. Man, this has got to be a bit better. Act zero, we're going to talk about how we got here and you're going to see it's actually a lot more common than you believe. We're going to get into the implications, UX, the dough, the networking that's involved. You're going to see that as well. The main characters, the villains in this tragedy, and we all know who they are. Then we're going to get into a denouement. And finally, we're going to get into some credits, et cetera, et cetera. Anyways, let's go. How we got here? Man, I don't know, man. Sorry, guys. I'm so not comfortable right now. So, it starts in a place that pretty much is here. And if anyone knows what this is, it takes you pretty much to Buffalo, New York. Right is out Toronto, in fact. And someone by the name of Obama was not there, but the gentleman on the left, does anyone know what that is? That is Steve Sassen, and he basically invented this. This was the very first digital camera ever, about 77, 78, eight pounds, 0.01 megapixels, and photos took like 23 seconds about to transfer to that cassette. Some of you guys might remember how data used to go to cassettes back in the day, back in the day. And this is pretty much how big it was. So imagine putting this in your pocket, if you could. But it progressed about 25 years later to something like this. And now we have something like this. And if you've not seen this, this is seven plus with the two cameras, gets like, God, like 60 some make photos when you do the panoramic. And you could actually ask Mr. Snoke, he's somewhere around here, cause he brought his. Anyhow, but the point is that it's become very cultural to just have your camera with you and snap all day long. And essentially, these photos are finding their way to the web. We love pictures that tell a fantastic story from sad moments to very scintillating ones as well. Now, anyone familiar with photo walks? Yeah, any photographers here? Yeah, so, so. Anyways, photo walks. Basically, it's a group of people that get together and they, man, they just go on walks together and snap photos all day long. And you'll see it's very, you know, somewhat in like the 20, 25, 30 age range kind of. And they're snapping photos and sharing them online. And this is Sweatpants Steve, one of the leaders of this community. But here, this is happening also overseas. And you can see right here people, again, taking photos, same area, and with the goal of sharing them a little later. We share experiences. It is cultural, rest assured. And in fact, Facebook, 105% more comments when the post is associated to a photo. Anyone knows what this means? Yeah, I guess so. This. This. This. Again, this is all cultural. We've become accustomed to sort of sharing our stories with photos all day long. 2012, 500 million photos were shared daily. In 2015, that was 3 billion. All right, and it's not slowing down. Anyone familiar with Unsplash? It's a kind of like a high res photo, stock image site. They're out of Montreal, actually. Great resource if you want to get some stuff. Anyhow, each month, one billion images are viewed, five and a half million photos downloaded. And again, this is all about the sharing process. And since the web is a great sharing medium, we end up with heavy pages. But it's not you, it's cultural, like I said. Anyhow, let's get into some details. So 2012, the average page was 1.1 megs. Today, 2016, it's 2.4. Okay, sort of manageable. 2012, 50 requests, 696 kilobytes of images. All right, got it. 2016, 57 requests, and we're at 1.5. So you'll see, and you can do the math, not that many more requests, but the page weight in images is up. 64% of our pages are just straight images. So you can imagine this is going to be significant weight. Part of the issues as well is things like responsive web design happen. And no matter how you slice it, some complications have come about with that as well. And one of them is retina images. We all know retina images to an extent. It's about three to four times the actual amount of pixels that you need for displaying. And then you have things like this, device fragmentation. Now this is 2015 and every little block there represents a device out on the planet being used. So things are pretty complicated. Hey, 72% of pages send the same content to mobile. Just think about that one. Raise your hand if you're trying to be part of the 28%. People doing their math in the head. They're like, what? What is he talking about? Yes, you want to win. And again, you have situations like this. Now I like to hang out in the network panel quite often. And I don't know if you can see that, but you'll be able to see it when I push the slides out. You have quite often improperly sized images. And in fact, when I was speaking to someone from Akamai and in a conversation, I was like, so what do you think is the kind of most common issue in terms of image management? And he was like, images are being sent down to the wrong container. Here's a tweet from just about a year ago. So again, imagine asking for a tall coffee and being charged for a venti. This is pretty much what's happening right now. And you can tell down there 280 across, but the sent one, that was about 1,000 across. So you basically have an immense amount of useless pixels being sent down the pipe to the client. So again, users, we don't like page weight and we're gonna deal with it. So what are the implications of this? There are some serious implications, in fact. There's user experience involved. There's dough involved and network. And let's look at that. So the web is slowing down. Yeah, kind of, because think about it. The web is very rich. The applications are sent down. The websites, JS, it's like animation, it's page weight, it's render images. Things are slowing down. And what are we really after? Designers, developers, very good or fantastic user experience. And user experience is also for usability because you know when that site comes up and you're kind of seeing stuff happening but you're not sure what's going on, that's an unusable page. And part of the issue is some of the page weight that we're dealing with. Now, in some very recent stats, and this came out last week at Velocity, 53% of visitors will abandon a page when it takes three seconds or more to load. They're saying the sweet spot somewhere around two, two and a half seconds, but at three, customers are gone. Imagine that, three seconds. Here's another stat that was pretty interesting. And he's sort of like blog or media site sort of practitioners here, maybe. This is important for you anyhow. And then we get into some conversions even. Obviously that's gonna be important. That's where you make your money. And this is from a couple years ago. And you can see some of these stats on this website called WPO Stats, which is a site that's being curated by Tim Cadillac and Tammy Everett. It's great performance engineers. And she mentions, well, that sessions that converted had 30% fewer images, fewer images. So let's talk about this money again. Netflix, very common, very well known brand, saw 43% decrease in their bandwidth bill after turning on G-Zipping. G-Zipping is basically some compression. So imagine just turning on some G-Zipping, compressing the data, and you're almost cutting your bill in half. And I'm going back down Splash here. Any people, anyone here sort of host as well as sort of, I mean, host their clients themselves potentially, yeah, kind of? Well, these are things that you wanna think about as well. Now in Splash, that site I was telling you about, 2016 hosting cost in one month. The bandwidth alone was 10 grand. So again, imagine slicing that more or less in half if you could. That's what I'm talking about. But it's not enterprise only. So this is Dave Newton who's actually a senior dev over at Shopify. And this is something that happened to him. And this is actually fairly common. People hit their data cap and they can't do much. And he was so angry, well, then again, he was talking about some sites, but he was so angry, he took it to Twitter and I told him, dude, this is so gold, this is gonna be a slide one day. Well, there it is. And again, this is something else that Facebook commented about. And they realized that it's very important to optimize images, to make sure that your users are not blowing caps just because they're on your site. And this is just a shot of, you know what I mean, I actually keep an eye on my data as well, even though I'm pretty good with it. But just to let you know, the idea that you might blow that data cap is becoming more and more common and people are using these all the time. Now, one of the challenges out there is the fact that the devs, I'm not saying they're not doing their job, but browsers realize that this is a big problem. So now we have these things called, well, these have been called browser interventions where basically they come in and try to save the day. So this is Opera, ye of 250 million users in Europe. They have a suite of apps that are there to basically help you with data savings. And you can see right here as a screenshot, again, doesn't come out super clear, but over on the left hand side, you can see that they'll tell you what they've been saving for you in terms of data. And over on the right, you'll see some extra details like right here. And you're actually able to sort of manage the images that are coming down the pipe because they realize a lot of the times they're not coded properly or optimized properly. And that's just to show you right there. And again, how does Opera Turbo work? It shaves off images, image pixels, because again, they realize the data caps are being blown through images mostly. Google Chrome in fact is thinking about implementing lazy loading within the browser because I can get into greater detail, but again, it goes back to the idea that why load an image if the user is not going to look at it? But right now that's happening as we speak. And again, getting back to the idea that there's also networking element to it, the network from the 4G, 3Gs, 2Gs that are all over the planet, they're not always our friends. This is a shot of, and this is from Facebook as well, this is a shot of connectivity across the world. Now, I don't know if you can see this well, but yellow is 4G, blue is 3G, and 2G is red. Now, it's predominantly yellow in North America and that's really it. And when you have 4G or 3G or 2G, it's never really like 100% 4G, 100% 3G. It's like sort of 3G-ish kind of, two and a half kind of sort of what? But these are things that you need to take into consideration. Now, some happen. So again, they want Facebook to work for everyone no matter the region network condition or mobile device. Now, these are things that you can look at yourself as well and this is a tweet that I had from, I don't know who knows when, but you can actually go in and someone talked about this yesterday, you can actually go into DevTools and network throttle the page so that you can actually test this yourself. You might be at home like, oh man, I got my fiber or whatever, but you go in there and you drop it down and you have a bunch of settings so you can see how the page will load in a browser with limited bandwidth and of course with some latency as well. So those are some of the implications on a UX level, dollar level and also networking, but now let's take a look at the main characters. So again, 2016, 2.4 megs, that's the average site. 57 requests, 1.5 megs. Of those 1.5 megs, 1% are about 1% more or less SVG. Now, by the way, these stats are coming from HTTP Archive where they pretty much get data from the top million sites. 1% are WebP. Anyone here familiar with WebP as an image format? Okay, well, when we leave, it's gonna be all hands. You like that, my man? 24% GIF. We're gonna talk about that in a hot minute. 20% pings or PNGs and obviously 44% JPEG which is JPEG again by far the most common format. Now let's talk about the GIF. The most, well, antiquated format we'll say for sure. Raster format, it's lossless. It was a bit of a fave for quite a while actually, especially because it had an awful channel so you can have some transparency and obviously it's extremely well supported. It's been around the longest. Ironically, fading in popularity. And now I know a lot of people like to use animated GIFs whatnot but quite often these animated GIFs aren't animated GIFs anymore and some of these GIFs sort of like purveyors and merchants they're actually giving you MP4s because they're realizing that quite often as a lossless format, they're too big, they get very heavy and again, they're sort of falling out of preference anyhow. But like I said, it's antiquated and some would actually tell you that it's actually a completely useless format. Now, everything that it does, there's another format that does it better. That's just the bottom line. So my recommendation to you is no dice on the GIF. GIF, GIF, whatever you wanna call it. So now let's look at the ping. Or the PNG, portable network graphic. Now, part of what I'm doing right here, well actually I'll get into that after. So again, 1996, the ping came about after a little bit of a battle with the GIF and became a bit of a better format. Raster format, lossless and there's some lossy compression involved. We can talk about that. Alpha channel, obviously the transparency and to this day, the ping is a bit of a fave for the transparency element. Phenomenal support. You can see right across, it's green. And everyone here is familiar with can I use the website, yeah? So you can just plug in whatever you wanna check and see what the support's like. So it's green all around. Obviously the ping is a great format. You can get some animated pings but here's one thing you have to keep in mind. Actually this format and the JPEG which I'll get into a little later, they both contain exf metadata. Hands up if you're familiar with that as well. Okay, hands up if you're stripping it out of the files. Okay, so let me show you something right here. This is the shot that I took while I was at Starbucks testing a site. And I was like, man, let me see what this metadata is saying. Well, this is what's, in fact, this is only a part of what's embedded in the picture. So you'll get, God, you'll get the device name. You'll get obviously the size of the pic. You'll get things like geolocation, where you were, et cetera, et cetera, et cetera. In fact, you can look this up but crooks have been caught just off the exf data from photos, which is actually totally wild to me. But anyhow, this is the kind of stuff that you have to strip out, because in fact, this could take up about 16 or 17% of your image alone. So if you had like a 100K image that had exf data in it, you're talking about saving potentially 16 or 17Ks. Very important, especially if you're taking this to scale. Now, let's talk about the SVG. Now, I'm gonna race through this real quick, because there's some very, very knowledgeable SVG people in the place here, and I would not feel comfortable just like skipping over details, because you could definitely check with them. You know who you are. Anyhow, the SVG, fantastic format as well. Now, even though it's only 1% of the top million sites, I think this is something that's gonna change. I mean, top million you're talking about, I mean, there's some antiquated sites in there but vector format, very important, because this is something that's gonna be like resolution independent. You're also talking about, it's really good for logos icon, some illustration. Now, as Sarah Swedein mentioned earlier, there's some sort of like decision making when using SVG. If the image is way too detailed, there's a good chance that SVG is not gonna be good for you. It's gonna come out too heavy. But again, these are things that you have to sort of figure out in your meetings. Now, SVG, again, fantastic support. You could look at it right here, green across the board. And again, in terms of sort of like compression, does well with G-Zipping. SVGO is a great tool as well to compress it. And I keep saying it, even though it's at 1%, it's growing in popularity. And you can tell from like conferences you go to, everyone's talking about like, oh man, I gotta put an SVG here, whatever. It's totally working. So you definitely wanna keep the SVG in mind. Now, let's get to the WebP. Sorry guys. Now, dating for 2010, very, very, very recent technology from Google of course. Lossy and Lossy's compression has an alpha channel so you do get some transparency and you can get some animation out of it. Now, one of the challenges, poor support at current. And there aren't the most encoding tools for it. There are a couple that you could use, but I'll get into that a little later as well. But you also, with the WebP, it's like a bit of like a buzz saw. You get like fantastic data savings. Now, I kinda wanna expand on that because the WebP came out and I was like, ah, whatever man. And I'm gonna talk about this, but you know, Firefox, Mozilla, they weren't really stoked about it and they felt that the JPEG still had some room for optimization, which it did. But one thing was for sure that you couldn't deny the WebP. And here's a quick example. Any hockey fans here? All right, does anyone know who this is? Probably not. This is a William Rhee, a Canadian actually. He was the first African American in the NHL, 1957. So I just took a quick screenshot and I was on my phone and this was about like one and a half megs or so. And this is the kind of compression that took place. And I don't know if you could see this real quick, but again, you'll be seeing the slides. The original ping was like about six megs. Now, I went down to a lossless WebP, which was three and a half megs. Like no size differences in terms of dimensions. Then I went down to an 85 quality JPEG and 85 quality from Photoshop. That came out to 1.1 megs, but at 85, the WebP came out to 340 kilobytes. Now, we can get into that. Well, we have to check our quality and the quality thing is a much different conversation. And I mean, I'm gonna talk about it at the end as well, but these are significant savings right here. And what ended up happening is basically we figured out that yes, it's gonna have a promising future even though you have a situation like this where you don't have a lot of support. But that's all gonna change because this happened earlier this year. Now, I'm a big Safari fan. You can boom me all you want, but I still use WebKit all day long. They actually had WebP support in beta for like a week and a half. And then they pulled it. They're like, well, you know, we're just experimenting or whatever. But this is actually very significant because this is likely coming back. Now, I mentioned earlier that Mozilla, Firefox, they're like, well, you know, we're really about the JPEG, et cetera, et cetera, but this happened. The same bug, they essentially reopened the bug for WebP implementation and it looks something like that. So basically what's happening is this, you have the major browsers outside of obviously Chrome who implements it, or should I say Blink Engines, which also includes Vivaldi. Is Molly here? Oh, she's not. Anyhow, so you're going to have in a very near future a lot more support for WebP. And this is something that you wanna keep in mind. Even though I don't have the slide up, if you look at browser share across the planet, Chrome is somewhere around 58 or 59%. So six out of 10 people across the planet are using Chrome. Again, significant savings for your users. Now let's get to the workhorse, the JPEG, yes. We know it very well. Lossy, yes, losses as well. And I can get into those details. Fantastic support. That's, again, without a doubt, that's not being debated. The most common format by far, and as well, this is the format that's coming out of all your cameras. So again, this is something that you wanna keep in mind. Now, best for photographs, obviously, and again, that XF data, you gotta strip out. And when I say it's capable of extreme compression, so without getting into the real heavy computational conversations, but you're able to get even more savings by doing this thing called scan layer optimizations. And what you thought was an optimized JPEG, there's probably still room to go. And I'm gonna have some notes about that little layer. So you're actually drawing blood from a stone, essentially. Now the interesting part about the JPEG is that there are some variants as well that you wanna keep in mind. The JPEG 2000, which was a format, unfortunately, it's WebKit only, or Safari only, or Mac supported only. But again, lossless, greater compression. The same thing happened with the JPEG XR, which was, again, another format that came out of the Microsoft camp, and pretty much the same kind of details, greater compression, lossless, but also an alpha channel. Now when's up happening is this. When you start to serve these images, and depending on the browser, you might be able to serve, say, a JPEG 2000 if you know it's a Safari client, or a JPEG XR if you know it's an IE client. And some of these CDNs out there are doing this as we speak. You may not know it as a user, you don't care. You just wanna make sure the image comes in as fast as possible. So those are the main characters. Let's get into the Denouement. So what does this all mean? So again, what you have is, what I was trying to basically convey by having all these formats and laying their strengths and weaknesses is the decision making that you have to go through with your team. So when you're sitting down with your designers and your developers and UX people and all in between, you can make the proper decision as to which image format is gonna be used for which picture, say. If you have an illustration, chances are you're gonna look at the idea of having an SVG. If you have a very crisp picture, you might be like, okay, maybe this is gonna be a good JPEG or maybe it's gonna be a ping. Who knows? So there is decision making in this whole process. So what I like to say is, always keep performance in mind. This is super, super important. Again, the emerging markets, they're all coming in on mobile phones and mobile phones can't handle what we've been sort of like shipping out at current because again, in America, we're very comfortable. We got the 4G, LTE networks, et cetera, but we have situations like, say, in India, which is the fastest growing market as we speak. And in fact, I'll give you a quick story. I was at Velocity last week. Anyone know what Velocity is? Yeah, it's an orally conference. They talk about DevOps and performance. Ran into a gentleman who said he was having issues with images. I'm like, okay, cool, let's talk about it. Out of nowhere, they actually start to get a bunch of traffic out of India. And they're like, okay, cool. But they also realize some of the issues they were having because some of their users were constantly having problems accessing the content. So Duda was just pulling his hair out and that was actually part of the reason he was at Velocity. So you need to keep performance in mind at all times. Plan your image strategy. Like I said, sit down with your team, figure out what you need to do. Have these conversations. Maybe it's a situation where you might not use a particular image if you think it's gonna give you a hard time. Again, be kind to your users. Understand where they're coming from. Look at your analytics. See how you can improve the user experience in light of their situations. Optimize as much as possible. Obviously that goes without saying. Maybe you wanna offload some of the work. Use a CDN, depending on how big your project is. And of course, use the tools at your disposal. Now, this is, I'm not gonna say this is like super easy but something that I do all the time I literally live in a network panel and Safari, Chrome, Vivaldi, Opera, they all have it and you could always take a look at what's going on at your image management, any site really. And something like this you can see clearly with the, it's kind of like a waterfall chart in a sense. Now, I know I raced through this so this is pretty much the end. I know we were behind schedule so I was trying to accommodate all as much as possible. Now, credits, resources. These are some of the people that I think you should follow again. I'm going to put the slides up. Tammy Everch, she's amazing. She's out of Vancouver. She works at SOSTA. Ilja Gugorek, she's at Google. Steve Souters, man the pontiff of performance really. Then there's some other guy. And a bunch of other people who I think do great work. I'm actually going to give away the two, this one right here. So if you're tweeting me, I'm going to get at you. But these are actually also all available. That one's online, you can read for free. Designing for Performance is a great book as well. You can read that for free. If you want to get really nerdy and get into some compression, there's that book on the far right which came out just maybe a couple months ago. And I also want to talk about this book right here. This actually is on its way out from O'Reilly as well. But it's a joint venture with Akamai. And they talk about some of the issues in much greater details when it comes to images and how to ship and how to deliver, et cetera. And I'll be giving away that book as well. There's some extra readings you'll see. And that's really it. Thank you very much. I thought you lived in Toronto. You said you lived in the network tab. Come, let's have some questions. That was funny. You might have to leave that one over there. Oh man, come on now. Sorry man. Mariam took the wireless one, what can I say? Great talk. Inside of the Actors Studio. Inside the Dev Studio with Anri and MCCS. All right, question, pour toi. What are your techniques to handle images responsibly and responsibly and responsibly? I mean, God, I didn't talk about the picture tag or anything like that, but that's something that you want to definitely keep in mind and source set, et cetera. Again, I just do believe it's beyond. I actually think that people just grab pictures from the net and just throw it in their pages. And I see some head nods, so I'm not calling anyone out, but I'm just saying these are the kind of mistakes that I see, so I do believe it does take a bit more planning outside of just finding a photo you like and going ahead with it. Now, there are some changes taking place, as we speak. I did talk about the picture tag real quick right now and source set tag, but there's something called client hits, client hints that's coming around the corner. It's like a Google implementation right now. It's behind a flag, but they realize that it's gotten a little complicated and they're doing the best to, it's almost like a browser intervention again. They just want to lessen the load for developers and all the sort of decision making they have to do. So yeah. And lastly, do you have any image CDNs that you use or like to recommend? The thing about the CDNs is they all actually have their own qualities. There are some big ones obviously, but even some of the smaller ones, they tend to sort of like have their own sort of little services and whatnot. So these are conversations that you literally have to have with them, depending on what you need, but for the most part, they're out there to help you with some of these issues, especially if you're going to scale. Because again, on a, I don't know, like a small mom and pop shop, you might be able to handle this yourself, but once you're dealing with much bigger companies, I do believe like a CDN is somewhere you want to go to and have the conversations and see what they can do for you in terms of their services and whatnot because they have a lot more under the hood that you do essentially. Great. All right. Well, thank you so much for your talk.