 I actually do that. Do you ever do that if it's a quiet tube? Yeah, you just you try to surf it and try to like Act in the curves ski stance Yeah Tech in general but web devs specifically Suffers a lot from people creating acronyms and throwing them out there And then they just develop a life their own and suddenly everyone is using Ajax and nobody knows what it actually stands for Yes serverless or you know all these things like wait serverless this PWA Whoop It is a buzzword it is a buzzword it is a buzzword and honestly we never had a good definition of PWA So people kind of don't know what they're supposed to do if they want to be a PWA But another thing I've heard recently and I'm not sure if netlify people came up with it Or if they are just pushing it, but there's a buzzword around the jam stack Right and it's a word I've heard and I couldn't actually tell you what it means I've Phil Hawkesworth who works at netlify I've seen him speak about it and I feel Exactly I've heard should be offended that I don't know what it stands for I heard about Kevin as well and he talked about it and it was like So basically what you're saying is common sense And and now I looked into the actual website and I felt really interesting because it's a good pitch But I actually don't agree with it in That absolute way as it is presented also like like Ajax then Kind of yeah, so I just I copied the the definitions that they give and the explanation that they give And I hope you could just talk about them because it's actually because we have built things In the recent past. Yes, and we might have opinions. Okay, so for context netlify if you haven't used it is is a Given understatement it's a static site hoster Like it hosts a static site, but it integrates really well into your github And it has like tools for supporting forms and all these little things and we're big fans Like it integrates really well. Yeah, not sponsored. Not sponsored. I'll be nice. Yeah, I do actually have a netlify hoodie So, you know, I miss a hundred counts as being dodgy So let's talk about the basics. I guess the jam stack. What does it stand for? So that's basically an actual j a and m and that's your stack and j stands for javascript It's a price and basically they're saying is j and ajax good any dynamic programming During the request response cycle is handled by javascript running entirely on the clients This could be any front-end framework library or even vanilla javascript. They make it sound so absurd even vanilla javascript That makes sense. You can do that now It's absurd, isn't it? And I'm only like Any dynamic programming doing the request response cycle. Oh, so you could stand for not javascript. Is that what we're saying? No, but no it has to be handled by javascript. I'm like, what's the alternative? How can you handle any dynamic programming? Oh, I see. I see right. So it's a bit Okay, cool. So the one part of the stack is using javascript cool Then they're saying the a stands for apis Meaning that all service lines for an acronym good all services processes or database actions are abstract into reusable apis access over hdps Good with javascript. Yeah, and these can be custom built or leverage third-party services Okay, sure. So you use apis. That's something that has been around for a while. I mean the someone thought of jam And then thought of what words maybe these things gets done. Anyway, okay I'll try not to be a cynical am stands for markup and basically templated markup should be pre-built at deploy time Usually using a side generator for content science or a build tool for web apps. So a cynical as I am about Like the acronym. It's nice that template markup pre-built at deploy time. That sounds like a really good thing Especially if you're going to have a server render The javascript is good apis. They're definitely a thing. It's it seems okay Exactly. So I thought it interesting because the next section on the website is when is something not jam And that's I think a really interesting way to feel like where do we draw the line? And so for example a site build with a server site cms like wordpress droople or jumler or square space is not jam So basically what they're saying is is that because they're live generating I guess it feels like now that jam is strictly opposed to server-side rendering Well, that's a shame which I Which I don't necessarily agree with because it's such a big performance primitive primitive for the first visit And it's it's nice that we're doing static deploy. Yeah, but that's not always possible. Not always. No, for example There's this image compressor we're building um Which is completely static, but there and we have I think a pretty good Static site, but sometimes we will do I mean So how what they're saying is in the network sense. It's like instead of Building it on the fly They should they kick off their static site generation process every time the data changes so for a blog instead of For work per se they generate it on the fly with php, right? Request comes in php hits database gets the most written blog posts gives you a list of blog posts They say whenever you publish a new blog post you kick off your build process and generate a new static site scalability issues there, so That's why for example for hawkworth builds a website with a clock that gets pre-built A rebuild every second and I feel like I get it but also But I hang on what was his point with that? I mean because it he said like it scales You can build inside every second and our infrastructure will handle that and there they have some advantages We're going to talk about but I feel like I get it and probably lots of cases will benefit from it, but it shouldn't be I guess what we should be saying is The jam stack might not always be the right choice. It's a very popular choice right now, especially because it's so well supported Because you can just drop your stuff in a gcs bucket or some storage thing and it will just work Yeah, I built a few projects recently that that fit into this this into this definition very easily The second example they give for something that's not a jam stack website A single page app that uses isomorphic rendering to build views on the server at runtime Which they get an extension of the first thing. It seems very much like They're very they're very much against the things that don't run on netlify stack It's call me sinning ironic Um and the third example is a monolithic server on web app relies on ruby node or another backup language So basically they're saying it's the jam stack and I have to say they're not Saying that the jam stack is the solution everything I'm going to be using jam stack But I guess they're saying that is not jam and that's fair to say and the jam stack I guess has advantages where like okay if you have No dynamically generated websites in your backend, but it's all static at build time You have an easier time with caching because you can just deploy it to a bucket get it to all the edge servers right away Yes, and no request will ever have to go back to your backend and it can be a massive speed up Yes, and if I my blog right now is not a jam stack interesting a python jango set up and It's on my list of things that I'll never get around to but it would be to rebuild it as Something more closely resembling a jam stack like something that would just be built from github And then it's sort of deployed because I don't think I'll ever hit the scalability problem Matt about because my blog I've only posted a couple this year And it it feels I don't want to my server goes down. So my server goes down. I never know why It I turn it off and on again and sometimes that works sometimes it doesn't sometimes it's just used up all the disk space Use it with so for the time so it doesn't need anymore and it's the kind of stuff I just don't want to have to deal with I know right So you have cloudflare in front and if it sort of goes down people can still read yourself Um for a little bit it's it's not long But yes the cloudflare is in front and that handles like if a if an article I write does become popular Yeah cloudflare is taken care of So just to get I'm a big fan of the jam stack. I feel like it is it's a good pattern um I just I guess what I wanted to see is like it's an alternative like not just saying this is not jam But like when is it good to be not jam because sometimes it's I think it is appropriate I think it must be in that scaling point, right? Maybe yeah um I mean would they I guess what they're trying to prove is like even a website that publishes multiple news articles Are they like a big newspaper? I think it'll bbc, right? It could still technically be a jam stack We're just rebuilds every time a new thing gets published. You would have to I mean if you made a change that was going to impact every page Like you changed the header your build system must be really fast Yeah, and that probably isn't possible at yeah, not for the not fully amount of articles Yeah, the bbc turns out a week. I imagine that's going to be you know a tough Thing for them to do. So I think that's the case where you want I guess I guess is the when does the number of visits or number of articles you have Changed I don't try and figure out my words here There must be an affection point in the build time versus how often you deploy with like at this point It is not feasible to stay on a jam thing and I need right server site rendering on and I think there's There's a possibility that for things like the Guardian bbc They might have articles that are not going to be might not be accessed Between deploys. Yeah, because like really old stuff or will be accessed like much later So you could optimize your bold pipeline to get To delay the inflection point of staying on jam I think we want is a gradual build process that is triggered by visits to the website Which is the up this not jam right? It's the server build time There it is But yeah, the one thing that we like about this is it pushes if people it's you know the jam stack and we make it a thing We can just be like you should be using a jam stack. We will get more web apps That have an api by default because one thing I hate and it's something that actually our google products are also not good at Is providing an api for third-party apps to just build something against it and Use the data or just give a better UI show that it could be done differently All these things I sometimes miss and this would enforce that there is an api that you can use because that What it prescribes pretty much? Absolutely Excuse me. So I need you to stand there. Just wait a minute. I need to face myself. I know you have to go but like Need your help. Who's the prettiest of them all? So this quandary what you do