React'ing to Why Kent C. Dodds Won't Use Next.js
Have you not met trash in person? No. I bet you're feeling some some FOMO right now.
Speaker 2:From meeting trash in person? Who cares cares about that? Man, dude. I just the X logo, I just I just don't like it.
Speaker 1:To I need to find the right way to
Speaker 2:articulate it. It it conveys a certain vibe to me that's very familiar and, you know, it reminds me of like, high school era maybe. I feel like stuff looked like that during like The February? Yeah. The first Yeah.
Speaker 1:Yeah. The first decade.
Speaker 2:Yeah. And I'm like, just something about it feels off.
Speaker 1:I've heard people complain about it and I I guess I don't have any feelings about it. I I do miss the bird and the colors. I like, I miss Twitter being kind of, like, symbolically and physically light. Yeah. And it does feel a little heavy with the x and the black and the monochrome.
Speaker 1:So I I don't like that part of it but I guess I don't like think the x itself is good or bad logo.
Speaker 2:I think to me, it's the x plus that like grungy background that the icon has and that reminds me of like t shirts we made in high school or something or like
Speaker 1:Okay. I do know what you're talking about.
Speaker 2:Yeah. Or it kinda feels like what like luxury or like premium stuff looked like back I don't know. Something about it just feels outdated or like corny almost.
Speaker 1:Yeah. No, I know I know what you mean on that. Where where does that show up though? Is it actually on the icon or is it just is it twitter.com that I
Speaker 2:sent that? It's on the icon. I just saw it when I opened up the broadcast thing. It was like stream on x and it had that like that does also they also do this like kind of gold ish kind of background in a few places and that also reminds me of the two thousands. Yeah.
Speaker 2:Yeah. But like we've talked about before, all this stuff is just so subjective. I'm sure like, given enough time, I might, like, be into that aesthetic again if it, like if I'm conditioned in the right way.
Speaker 1:Yeah. It's interesting. I just saw, I think, Levels tweeted about Stripe. It was like he was saying that it's a bad sign. Like, it's a red flag.
Speaker 1:I think he said it on a podcast actually, but it came up on Twitter. It's a bad sign if your MVP is, like, polished and looks nice. And somebody was like, uh-oh. And they, like, linked a screenshot of Stripe because I had gradients. He said something about gradients.
Speaker 1:Like, if you have all these nice gradients. Anyway, he quote tweeted that and was like, yeah. Exactly. Look at Stripe's MVP, and it's like this awful looking nineteen nineties website because it was probably made in the nineties. And then it it hit me this conversation we've had before, which is like, is it actually awful looking or is it just that design continues to evolve?
Speaker 1:So everything from ten years ago is going to look bad to us. And ten years from now, everything now is gonna look bad. Like, is there any real truth when it comes to design? Had this conversation. We don't have
Speaker 2:to have to get it. Yeah. I it's a classic spiral thing. Like, we're definitely, like, getting we're to go upward spiral or whatever. Like, we're growing in objective dimensions, but we're also circling back to, like, ideas at the same time.
Speaker 2:Mhmm. Yeah. Did you see okay. Speaking of design, did you see the linear thing that I quote tweeted?
Speaker 1:So he physically poured oil on an iPad and they filmed it with a camera?
Speaker 2:Yeah. So for context, Linear launched a new feature yesterday and they had this cool, like, animation for it. It was the logo and it had like this warping, like, refraction effect going over it. I didn't think too much of it. Actually, when I saw it, I, like, wasn't actually that impressed by it.
Speaker 2:I was like, okay, this looks cool but I thought it looked a little bit different from the other stuff. I I don't know, it didn't stick out. Then I see a tweet from the guy that made it and he was like, oh yeah, this was made by I just filmed myself pouring canola oil on my daughter's iPad.
Speaker 1:Just blows my mind.
Speaker 2:Yeah. And I'm like, that is and he he was told like yeah. He was told like two days ago that they needed this. So he came up with this like on the spot too.
Speaker 1:So I guess I'm trying to understand, like filming with a good camera, how do they then take that into the digital realm in like a high fidelity way? So it was a an iPad image of their logo and he poured oil across it.
Speaker 2:I've seen a few people do this now. Do you see the Vercel preview of their new website?
Speaker 1:Is it the one where you can do the up down up down right left BA thing?
Speaker 2:I didn't know that was a thing.
Speaker 1:Yeah yeah. I saw Guillermo
Speaker 2:tweeted that.
Speaker 1:And it unlocks like you can change colors and stuff. You can do all kinds of weird changes to the site.
Speaker 2:Oh, that is cool. I gotta try it. I gotta disable my Vimeum first because that always triggers I
Speaker 1:do too. Yeah.
Speaker 2:I do it.
Speaker 1:I was like, it doesn't work. I about tweeted something like, I can't get it to work and I realized, oh, that's the Vimeum command bar coming up.
Speaker 2:Okay. So, you know, I was working on a command k bar, like the one for a console. Yeah. And I kept hitting escape and it wouldn't close. I had to hit escape twice.
Speaker 2:I spent so long debugging this and it was a good Vimeo thing. The Vimeo thing. But anyway
Speaker 1:Yeah. So you just just don't use Vimeo anymore is
Speaker 2:the No. No. No. Definitely use Vimeo.
Speaker 1:But Just disable it for things that
Speaker 2:Yeah.
Speaker 1:It's probably Vimeo. It's something that goes wrong. It's like DNS. It's probably Vimeo. Yeah.
Speaker 1:Can we go back to the style thing before we get into the the topic of today? Yeah. Yeah. Do you how do what pants. Do you wear pants that are, like, tight on your ankle or, like, baggy?
Speaker 2:Yes. I do. I wear, like, jogger type pants and I've been doing that for a long time.
Speaker 1:Me too. Came around, I don't know, five, ten years ago. You know, like when we were in high school, I'm a little older than you, but sometime growing up, you remember when like the flared out seventies look like the bootleg pants was a thing?
Speaker 2:Mean, stuff was just baggy back then in general.
Speaker 1:Yeah. But there was like the extreme, like, bell bottom, like yeah.
Speaker 2:Yeah. I I I was never into that. I I've seen I remember seeing that, but I always found
Speaker 1:kinda weird. That was like my high school, like, formative years. That's what everybody wore.
Speaker 2:Okay.
Speaker 1:And then whenever the tight around the ankle came out and became, like, the thing everybody did, I have stuck with that, and I will never change ever ever. Like, it feels so much better to me to have, like, a a, I don't know, tight, clean pants against my shoe situation.
Speaker 2:Yep. Me too. And
Speaker 1:I I I think, like, that's how I know I perceive my dad. It's like, why is his fashion 30 years old all the time? Yeah. It's because you find the thing you like, and then you're never gonna change again. And I saw we went to like a Gap Kids to get some stuff for the boys.
Speaker 1:And the style now is like these giant baggy pants. Have you seen this?
Speaker 2:No. Is
Speaker 1:it Oh my I'm not going back. I'm stuck with find
Speaker 2:you're if you're like, do you find yourself being annoyed if you see your kids wearing it?
Speaker 1:Well, they don't. I mean, we didn't get them any baggy pants.
Speaker 2:But like theoretically
Speaker 1:But they did?
Speaker 2:Yeah. I would find that annoying,
Speaker 1:I think. I would be like, ugh, that looks so bad. Yeah. I think I just I've decided what objectively looks good now forever and I know style is constantly changing. Fashion is changing.
Speaker 1:So yeah, guess it will be annoying.
Speaker 2:AJ told me that there was some research showing that people's music tastes like really codify at a certain age and just kind of freeze
Speaker 1:I believe that.
Speaker 2:The rest of their life. Yeah. Yeah. And I wonder if that just applies to things more broadly. It explains everything.
Speaker 2:Everything. Like, always wonder, like, sometimes you hear older people listening to certain music. I'm like, how do you enjoy that? Like, that just seems so It doesn't even seem like music to me but
Speaker 1:How did a lot of people like the Eagles? I don't get it. I just don't I don't.
Speaker 2:Yeah. But I guess that's gonna be us. But it's funny to imagine it with the music that I grew up listening to, like, it's funny to imagine the music music we listen to being like classics. Yeah. Like, you become a classic channel and it's like Kanye, like, what the that really gonna happen?
Speaker 1:Oldies. Yeah. Oldies. That's funny.
Speaker 2:Okay. Let's jump in. Sorry about that.
Speaker 1:We're gonna talk about the Next. Js stuff. Right? I gotta say before we get into it, I I know I said this a few episodes ago. This was how we started.
Speaker 1:Our first very first episode of this podcast was Next. Js Conf Recap. Right? So it's been one year.
Speaker 2:Wow. And Next. Js Conf is today.
Speaker 1:I know. That's what I'm saying. Yeah. Oh, yeah. Just saw these tweets where people asked if we're gonna, like, react to Next.
Speaker 1:Js Conf. When is NextJessConf? I know it's today, what time?
Speaker 2:I think it's
Speaker 1:Is it like
Speaker 2:I think it's ten Pacific, I think.
Speaker 1:Oh, is it five hours long?
Speaker 2:Okay. Here's the thing. I don't I think it's I personally am not a big talks person. I know you aren't either. So I don't think it's gonna be that interesting.
Speaker 2:Like, I don't wanna react to it for five hours. Okay. But if there's like a keynote or like whatever their the from Vercel
Speaker 1:messages Like the Guillermo keynote. That's probably the first thing.
Speaker 2:Yeah. I would enjoy roasting that probably.
Speaker 1:That would be fun. I don't know if I can schedule not like I just I had something Casey needed from me today, so I may not be able to. But it's it saddens me because of all of the things we just mentioned.
Speaker 2:Yeah.
Speaker 1:It's it's this is like one year in the making. Look at us. I wish we would have made it to a 100 episodes in a year. How many would that be? That'd be like two a week.
Speaker 1:But we did we do Yeah. We took a break.
Speaker 2:We do two a week but we didn't start that till Yeah. Yeah. More recently. It's been pretty
Speaker 1:recently. Yeah. Don't know. One year, 100 episodes. That just sounds cool.
Speaker 2:Two years, 100 episodes will sound cool. 68? We're one off? Are you kidding me?
Speaker 1:Oh, I just put 38 as the title. Oops. That's we've done more
Speaker 2:than that.
Speaker 1:Over one off is that what you said?
Speaker 2:Despite being 68 episodes in, you're putting in the wrong title. I still haven't gotten your audio right.
Speaker 1:Yeah. We'll never figure it out.
Speaker 2:Probably better than last year because last year was when you kept putting our faces over the video.
Speaker 1:I was a little Turk say something about that.
Speaker 2:It's true. Classic.
Speaker 1:That was, that was good. I think Tidj came on with us too, he didn't know anything about Next. Js. Right? That's funny.
Speaker 1:Okay. So we're gonna we're gonna read Kent's article.
Speaker 2:Yes. So yesterday
Speaker 1:The episode. Right?
Speaker 2:Kent released an article called Why I Won't Use Next. Js, the spiciest possible title that could ever use. No, I'm just kidding. He he so obviously in the position that he's in, teaching people how to build web applications. A question he gets a lot is, why is your stuff not built around Next.
Speaker 2:Js given you do anything in web, you're gonna come across Next. Fairly quickly. Imagine he gets this question a lot and he wrote it up so he could just point to it. It's kind of like how I get the question of help me use Prisma in serverless. Like I get that's like my equivalent.
Speaker 2:I should probably write an article like this. Why I
Speaker 1:would use Prisma? And you shouldn't either.
Speaker 2:My article will be way angrier than Kent's.
Speaker 1:So No. This is a really good article. I actually did read it.
Speaker 2:Did you read it? Nice.
Speaker 1:Yeah. I I think I saw I didn't see him announce or, like, post it on Twitter. I think I saw your quote tweet was how I saw it. And you said nice things.
Speaker 2:Yeah. I read it. A reasonable article and I think it resonated
Speaker 1:those same nice things. Yeah. So are we gonna how do you wanna do this? You wanna just kinda like go through point by point? Yeah.
Speaker 1:This is a first for us. This is new. Like
Speaker 2:I know. We've never done this before. Yeah. It feels good.
Speaker 1:I mean, we just got started but I I like it already. Okay. Just if it is intro, you got a new project to work on
Speaker 2:or existing project you motivated to upgrade. There are a lot of modern frameworks to choose from, even if you're not chasing the choice right now, you may be trying to decide which frameworks to invest in the future to make yourself more marketable and productive in the future. This is actually something that from someone that builds dev tools, it's kind of interesting because, the traditional startup thinks about things in terms of sales cycles, like going from someone hearing about your product to them paying for your product. How long does that take? Mhmm.
Speaker 2:I think there's like a similar thing in DevTools where someone hears about your framework, when do they first try it and when do they first put into production. These are super long sales cycles, right? Like Yeah. The average person unless they're like, you know, a gung ho junior engineer isn't gonna like rewrite their whole app just because they heard about a framework once. You probably have to have someone hear about it, then like in six months you get a chance to try it, then maybe a year later they move to a different job and they're starting a new project, then they might actually use but yeah, as a good DevTools person, that's very tricky because you kinda have to constantly be in the air so that eventually they give it a shot.
Speaker 1:Yeah. Can I just say that it's so hard for me to think or understand any of this context that you guys deal with because I do the consumer stuff? And we get people that do one query and then they sign up for STEMI's bus.
Speaker 2:So not that long of a sales cycle. Sounds nice.
Speaker 1:Cool. Okay. But it's not very much money either.
Speaker 2:But like even there, like they probably have to hear about StatsMi's a few times before they went and tried it. Right?
Speaker 1:Yeah. Maybe. Maybe they have to see a few tweets and then they're finally like, what is this thing? And then they end up on the website. Yeah, probably.
Speaker 2:It's definitely tighter.
Speaker 1:Still faster than, yeah, what you're describing. But it makes sense. Like when I think of from a dev perspective, like we don't just jump into new things all the time. Like it's only every yeah. Like you said, it might be six months before we introduce some new tool into our our world.
Speaker 1:So
Speaker 2:Yeah. I think this is something that people like I think dev tool companies and their understanding more but it's very different than it's almost like selling a product that's a complete commodity. It's like purely based off of brand. Like all those companies that do like brand advertising and they constantly have billboards up and they constantly have commercials and you're like, what is this commercial even for? Like car Yeah, companies, things like it's very similar.
Speaker 2:So Kent mentions he's been using remakes since 2020. He loved it so much, he joined the team for ten months. And I think we all remember this when, Remix with its own company before they got acquired. Kent joined and was working on it. It's a full stack web framework.
Speaker 2:Think people are familiar with it. And Kent is using it as like the cornerstone of his new course epicweb.dev.
Speaker 1:Which Kent, if you're still here, I I still so badly want to dig in. There's, there's like a queue of things that I wanna dig into and I've just been in this, like, months long rewrite that has meant not touching anything new. But I still do wanna play with Epic Web stuff or the Epic Stack, I guess. And maybe I wanna take your course too. Maybe I will.
Speaker 1:I buy a lot of courses. I don't take them all. I do buy them.
Speaker 2:I wanna buy, like, one section from it. I like, I'm very curious about the auth section because it looks very thorough and in-depth and a few people have, been like a few people that have worked in auth have been like, this is very comprehensive and I wanna round out my knowledge. I But don't wanna buy the whole thing. Can can I buy it in piecemeal? I get just the odd section a la carte.
Speaker 1:Maybe I'll gift the whole thing to you, we'll see. We'll see how
Speaker 2:this episode goes. So he phrased this in an interesting way, which I I thought was funny. He says, as Next. Js is a very popular alternative to remakes, which is an interesting way
Speaker 1:to Oh, phrase nice. Yeah. I didn't catch that. I didn't interpret it that way. You might interpret things in the worst possible way knowing you.
Speaker 1:But
Speaker 2:No. I see. I like it because you can frame it in either direction and
Speaker 1:Yeah. It's kind of a power move if you interpret it a certain way. Yeah.
Speaker 2:Yeah. I appreciate that. So he has to like load this with a bunch of disclaimers because people get very upset with any kind of opinionated article like this. Just if it is, whatever you use is probably fine. By the way, what was also really funny was when Kent posted this, there were so many replies, like, immediately with, like, gotchas that were just he addressed in the article.
Speaker 2:Like, people added themselves They didn't read it? They didn't read it. They were like, your site is built on Next. Js. Gotcha.
Speaker 2:And he, like, he literally talks about it a bunch of times in
Speaker 1:saw here. It. I saw it. Yeah.
Speaker 2:Yeah. Because he he hired a team to maintain his website and I think that there was a company
Speaker 1:the way. Kent, if you're here. I know Kent was here. I love that you hired somebody to make your website because of course you did because that's just smart. Yeah.
Speaker 2:You don't got time to make
Speaker 1:the website. You gotta make the stuff. Sorry. Go ahead.
Speaker 2:And they're the most competent and actually that's what they have the most experience in. So yeah, it makes it makes sense to do and that's his point here. Your skill at using the tool to accomplish the outcome is more important than the tool itself. So obviously, million disclaimers.
Speaker 1:So the the whatever you use is probably fine. Bolded there. That that line and just I stopped and thought for a bit and realized, like, I'm trying to build stuff with technology that I don't know very well. Not not the Astro stuff. Like, we're we're loving Astro.
Speaker 1:But, like, I've thought, I'm gonna just start using Solid because you use Solid.
Speaker 2:You're so
Speaker 1:good at Solid. You know what you're doing. And I realized, like, if I'm starting a new project, there's some ideas I had for a new project we've talked about. And I thought like, should I actually just make it with Next. Js?
Speaker 1:Because I actually know how to do stuff with React and I don't know what I'm doing with Solid. Wait. But do you know Next. Js anymore?
Speaker 2:Like the newest version of Next. Js?
Speaker 1:I mean, probably not because it changes like crazy. Yeah. But I this this line did make me feel like I've been chasing something and, like, losing all of my skill or, like, abandoning all the things I understand really well. React, next 12 or whatever it was when I used the list. Yeah.
Speaker 2:What are
Speaker 1:they on now? 15? I don't know. Yeah. Okay.
Speaker 1:Now you're making me second guess again. I just gotta learn Solid, I guess. Whatever.
Speaker 2:No. No. Okay. That's it's definitely a valid thing because I was thinking about this yesterday. So I've been doing Solid for two years.
Speaker 2:You might have seen that thread I posted. Mhmm. I finally got to a place where I'm like, okay, I it's it feels very complete. All the libraries I I need are there. It all works together, clicks together.
Speaker 2:It's great. And I had a thought, oh, this is probably what this is probably the feeling that people that use like, Araville or something Yeah. Feel. Because it just all the stuff is just there and it works nicely together. And like, we finally gotten there the beginning of that with Solid and that's after me like, you know, spending years understanding it well.
Speaker 2:Yeah. And it feels great to be there and I'm unlikely to move at this point because I'm at a point in my career where I'm like Yeah. Not absorbing a bunch of stuff.
Speaker 1:You're never going back to bell bottoms. You're you're stuck with the tight jeans. Yeah.
Speaker 2:Exactly. So yeah, like I'm like, okay, this is what as someone that's always been adopting whatever, like an early adopter, I never get that feeling of Yeah. Wow, my tools do everything I need them to do and I'm finally starting to get that. Yep. I can appreciate that.
Speaker 1:Can't believe you haven't been using Solid for ten years. Everything you've done in your career has been for ten years. Nailed
Speaker 2:it What's in the max? I think Solid's maybe like seven years old now, six or seven years old, believe it or not.
Speaker 1:Oh, is it really? Oh, I figured you were Yeah.
Speaker 2:Mean, terms of like the first command when Ryan first started working on it.
Speaker 1:Yeah. Wow.
Speaker 2:So again, disclaimers, which unfortunately, we all have to stack stuff with disclaimers, no any no matter how many disclaimers we put, we're still gonna get a reply
Speaker 1:that's annoying. Yeah.
Speaker 2:Yep. Anyway, the web platform. So a big thing that, Remix and Kent and all those people are about is taking advantage of the web platform as much as possible. Using standards, learning them well, and building things that help you use them better. Mhmm.
Speaker 2:Main reason is, if you learn those things well, they transfer, you know, the browser is gonna be the browser, whatever frameworks change, certain things that are standards are gonna continue to exist. They're all gonna be backwards compatible, all kinds of stuff. And he brings up the example of of Enzyme Mhmm. Which is a, a testing library, if I remember. It it is a wrapper over a bunch of
Speaker 1:This is one of my favorite parts in the whole article. A bunch of overly helpful
Speaker 2:dangerous Yeah. Would say that instead of wrapping platform APIs, testing library exposed platform APIs. Yeah, exactly. So he talks about like building abstractions that prevent you from using or learning the platform APIs directly, and how that that's not like a great long term approach because things shift, stuff isn't transferable. I totally agree with this and the big thing that I say all the time with SST is we're not trying to save you from learning AWS.
Speaker 2:Right. Our goal isn't to be like, you never need to learn it, we're gonna protect you from it. Our goal is we want to expose it to you in a way that's not overwhelming and over time, I genuinely want you to be an expert at AWS. Yep. And this is kind of the exact same idea.
Speaker 1:I'm tracking. Did you want me to say something? I don't know. Did you
Speaker 2:did you have a reaction?
Speaker 1:Oh, no. This feels like school or something all of a sudden.
Speaker 2:Yeah, Adam. What did you
Speaker 1:think I was of drifting off just a little bit. You called me
Speaker 2:out. What did you think of this?
Speaker 1:No. I thought it was great. I never use I don't do tests so much.
Speaker 2:Me neither. I'm a big test like I'm tester.
Speaker 1:So so the specific example kind of went over my head. But the idea, I get the idea. Yeah. And I think it like, I kinda like know the differences there between remakes and next and kind of where he's getting at anyway. Yeah.
Speaker 2:I think this is like a tough thing because you can always make something look shinier and cooler by doing the opposite of this. And when you're like in like a competitive space or the framework space when you're reaching out to people and you're trying to get people excited, yeah, like you're tempted to do those things. They're very short term because long term, like Kent points out, these things are just very brittle. Yep. But it's easy to get sucked into that.
Speaker 2:But Remix is more focused on, like he says, exposing APIs as opposed to wrapping APIs. And you can kind of imagine how like it's it's very easy for me to I think a good thing that I try to look at especially when using tools is, can I imagine how this works under the hood? Like, is it easy for me to understand what's going on? Yeah. If it's not, I get kinda worried.
Speaker 1:Yeah. And there's probably as like a AWS and like generally infrastructure kind of web dev nerd, Next. Js is the thing that gives me the biggest feeling like that where I don't know what it is doing under the hood. Yeah. It's the most it's the furthest I feel away from my infrastructure.
Speaker 1:It's like thinking about a Next. Js deployment. Yeah. And I think he goes into that, like, just the difficulties of deploying Next and the incentives and all of that. Yeah.
Speaker 1:I do I I feel like I should say it's the disclaimers. I've I we just said in the last episode that, like or I said at least, I feel like I've I've been too harsh on Vercel and picked on them for the wrong reasons maybe. I think if there is a right reason to pick on Vercel and Next. Js, it's the deployment model. I think that's the thing.
Speaker 1:It just it it bothers me how many times they've come back and they're like, no. It's easy. And the gaslighting on that is just it's really annoying. Maybe they genuinely believe it's easy, but it's not. So like the rest of the world can can confirm that.
Speaker 1:It's not easy to avoid next year.
Speaker 2:Yeah.
Speaker 1:But all the other things I pick on them for, I feel bad and I take those back.
Speaker 2:No. It's okay. You can do that.
Speaker 1:Okay. It's
Speaker 2:like it's just like a David Glyde situation. It's like
Speaker 1:It's the punching up. It's really easy to punch up Yeah. Because when somebody is huge and and Yeah. There's a lot of things that we've talked about on this episode. Won't go into it more.
Speaker 2:You mean skills that I can use wherever I develop for the web. That's a big thing. Like is your framework Are you getting better at general skills by using your framework? Think that's
Speaker 1:It's like Tailwind and CSS. Like Tailwind makes you better at CSS. Oh, you don't use Tailwind, never mind.
Speaker 2:No, I agree. Did you not see my tweet yesterday? I was like, I don't use Tailwind but they're like in the top three companies I admire the most.
Speaker 1:Oh yeah. Tailwind Labs as a company? Sure. But you understand like enough about Tailwind to know that like Yeah.
Speaker 2:No. I don't think it's enough for
Speaker 1:My developer experience using Tailwind has taught me a lot about CSS. Yeah.
Speaker 2:And that's how I
Speaker 1:think any framework should
Speaker 2:be. Yeah. Yeah, exactly. Like you you pick up on things that you didn't know CSS could do because just because Uh-huh. Tailwind docs are so good and you discover things in there.
Speaker 2:Yep. Okay. Next part, independent. So this was great. This is a great little surprise because Kent had a whole section about OpenText which is our project.
Speaker 1:To be honest, when I saw this, I got to this section and I saw OpenText, I like, oh, that's why Daqs tweeted.
Speaker 2:No. That's right. Well well, it's okay. Here's a funny thing. I saw the article.
Speaker 2:I posted it in my team chat without even reading it. That was like, this is probably relevant. And I started reading it and I was like, oh, look, like, there's a section on us. Oh. But I didn't
Speaker 1:see it. Pleasant surprise.
Speaker 2:Yeah. But yes, this is why I retweeted it because it mentioned OpenNets. So this is a I joked in our team chat that this is this point is, like Vercel's greatest fear. I mean, I'm being dramatic but when, when we released OpenNEXT, they were fairly upset with us for calling it OpenNEXT
Speaker 1:Yeah.
Speaker 2:Because of what the name implies. And the point he's making is exactly this, like people point to the existence of OpenNEXT to argue that, the framework is not very independent. Because if it was, why does OpenNEXT exist and why isn't there Open Remix or Open Astro or Open whatever? Yep. So just kind of the context, so the project OpenNEXT, it's run by our community.
Speaker 2:They work on figuring out how best to deploy Vercel to a serverless environment. So taking wait, did I say? Vercel, no, the best deploy Next. Js. Yeah.
Speaker 2:Next. Js, yes. There it's not public info on how best to deploy this stuff. You have to have a really deep understanding of both infrastructure, so like understanding what's possible
Speaker 1:Mhmm.
Speaker 2:And also how Next. Js works under the hood, all little features, all little details to like match these two things together. What infrastructure do we actually need? This isn't public information. It's not documented.
Speaker 2:It's not shared. It's not an open effort. It's not collaborative. This is like a reverse engineering effort where with every release, they look to see how it works and figure out what we need to change on our end. Very tedious work.
Speaker 1:Yep.
Speaker 2:Amazing that the community, like, spends the time to do that. They've built up tools. They've done all this stuff. We figured that out. Ultimately, we don't think it should exist as a prod product project.
Speaker 2:Yeah. We don't have like Kent points out, we don't have this anywhere else. And the reality is, like you said, it is very difficult to deploy this on anywhere but Purcell and get all the all the features that that work out of the box. Anyone denying that is just flat out wrong. Like they're not Yeah.
Speaker 2:Either they're like doing a very simplified deployment of Next. Js or they work at Vercel and they just continue to say this even though it's not true. We have thousands of deployments on this for that reason, like, hard to deny that. Yep. But this this is like, you you don't you can't really this is a situation, I think Kent also makes his point there.
Speaker 2:This isn't like a moral criticism, it's just an accurate analysis of the structure. They are a host and they have a public open source framework. They can solve a lot of problems that people run into by adding features in their hosting platform. So they tend to build features in the Next. Js that are like dependent on features of their hosting platform.
Speaker 2:That's just the incentive. That's just the structure. Yep. If I was in their situation, I would be doing the exact same thing. Most people would.
Speaker 2:It is just the way it works. And it's there's a lot of benefits to that and that when you use these two things together, it is very beautiful and it comes together nicely. But there is a downside which if you can't use these things together, you don't want to use them together, it's a much worse experience than any of the other frameworks.
Speaker 1:I it never the the Apple parallel here never hit me that it's like Apple being the like integrated hardware and software. It's like you need
Speaker 2:Yeah.
Speaker 1:One with the other. It's kinda it's that too. Right? Like, they they have the Apple like, Apple events, and they draw a lot of, like, Apple comparisons when they do, like, today, Next. Js Conf.
Speaker 1:And their style their their brand guidelines, all that stuff, this is very Apple like. But this is like a very Apple thing too, which is like, if you're gonna have our phone, you're also gonna run our software. You're also gonna use our cloud services. Like, it's all integrated, and it's a nice experience. But, yeah, don't try to take your phone and run something else on it or your Mac and run something else.
Speaker 2:Like Yeah.
Speaker 1:That's it's all very similar. Sorry.
Speaker 2:Yeah. Which is true to
Speaker 1:me.
Speaker 2:Which is like, I think that makes a lot of sense in a consumer product where you can really narrow the use case and the scope. For developer product, where like people have all kinds of configurations, all kinds of situations like, it needs to integrate with a million other things. Yeah. That setup, I don't think really makes sense. And I I would even say that I'd I acknowledge it comes together pretty well.
Speaker 2:I don't think it comes together as well as an Apple product.
Speaker 1:No, right. I don't
Speaker 2:I think it's a high It comes together okay but it's not worth it doesn't come together well enough where I'm like, okay, it's worth these other trade offs.
Speaker 1:About those trade offs? What if what if Vercel is a consumer product? I was just thinking
Speaker 2:In in some ways.
Speaker 1:Yeah. Well, I was just thinking how, like, I'm gonna redo my personal site, and I'll probably just put it on Vercel. And that's like the use case where I'm like, that makes sense on Vercel. I don't really need to, like, tinker with it. It's just like a simple page, and I don't wanna think about, like, analytics and all that.
Speaker 1:Can just use Vercel analytics. Like, there are use cases where it just makes sense for me, but it's the, like, consumer use cases of mine where I'm just like a person not like representing a company. Does that make sense?
Speaker 2:Yeah. No. I mean, think that is like an unparalleled use case. Like, I can't argue that you should use anything else in that case.
Speaker 1:But like a startup and like the idea of deploying my startup software on Vercel is just laughable. Like I would never and there's just so many reasons why.
Speaker 2:Yeah. I would say like philosophically, like the type of company I'm trying to build is in a lot of ways like the opposite of the way that Vercel operates. So there's a lot of like for me, when I see them doing certain things, I'm like, I would try to do the exact opposite. Granted, the way they're building stuff is the way that every successful enterprise SaaS company has been ever built in the last couple years. But they're not doing anything like obviously wrong.
Speaker 2:But when I see like their sales approach, their sales teams, like the emails that people show us from like what they get from Vercel, I'm just like, this to me, this is not the point of being a tech company. Like very traditional and like salesy and, just high touch. Like, god, that's not the type of company I wanna build. So and I don't think that makes people happy. I don't think it makes your customers customers happy.
Speaker 1:Yeah. I think a lot of developers that talk about Vercel on Twitter and elsewhere never get to that point. Like, they never have to approach the enterprise sales part. They just use it for free. And like, Vercel's great.
Speaker 2:Yeah. Exactly.
Speaker 1:I don't know what the funnel looks like, how those those convert into these big enterprise deals but
Speaker 2:I mean, know what happens. Yeah. No, I mean, we we we we get messages from people all the time being like, oh yeah, we're paying like their, standard or their public pricing is based off of seats. They're like, oh yeah, we have like, you know, five developers that work on this, 20 receipt, we're paying a $100 a month. Yeah.
Speaker 2:And then we got an email saying, oh, actually, we're we need to be bumped up to like 6,000 a month. It's like oh, it's like crazy jumps because like they go past some kind of threshold where Vercel is like, okay, you're out of our, like, generous bandwidth and, like, compute tier.
Speaker 1:Mhmm.
Speaker 2:And the actual cost when you when you when you add those up, it's crazy expensive. It's little it's I think on the bandwidth, it's like a 10 x markup.
Speaker 1:Yeah. I've seen these numbers before.
Speaker 2:Yeah. Think five to 10 x across the board on on all the raw resources which I'm not fundamentally opposed to. If something is delivering a lot of value, I'm so happy to pay for it. I think most people are like overly conservative and trying to like cut costs here and there and like they lose a bunch of other things. So But when it's just hosting and it's just like a small portion of your product, yeah, it's just I don't know.
Speaker 2:I like I don't have a lot of faith in that setup. I think hosting is like
Speaker 1:a shitty business to be in.
Speaker 2:Yeah. And I think Kent points out that he, he's also worried about the fact that they're not profitable and you should worry about those things. And Yeah. The one thing other thing I want to say is, what I liked about this article is there's actually no technical details in there, really. They're not just not comparing like direct APIs with capabilities or anything.
Speaker 2:No, right. But this is the stuff that you really need to consider when you're like in a more leadership position on like, whether you're starting a company or you're making a bigger decision. You're picking your vendor, you're picking the things you wanna bet on. And you need to understand like their business model, their culture, how they operate. Like, I don't want a vendor that like is building a giant sales team because I know how that gets used on me and I don't like those relationships.
Speaker 2:I like avoid companies like that. Yeah. So you need to think about a lot of stuff outside of just the literal framework or the code that you have to write.
Speaker 1:Yeah. I think, yeah, all of that stuff's probably more important. Yeah. The pricing thing is interesting that, like, you don't hear a lot of people complain about Vercel pricing in our circles.
Speaker 2:Really? Like I hear about it all the time.
Speaker 1:Oh, you hear it all the time? Okay. Maybe. Well, yeah, I guess your customers like people who I come to
Speaker 2:get like I get like private conversations about those that yeah.
Speaker 1:Yeah. I feel like the public discourse around Vercel is not that it's expensive.
Speaker 2:And like You in you get in trouble if you say if you put any of that stuff publicly.
Speaker 1:Oh, maybe that's what it
Speaker 2:is. Yeah.
Speaker 1:But like people say like, AWS is expensive. It's just funny Yeah. They're like, Vercel doesn't have that. Yeah. Because AWS They're not gonna
Speaker 2:become like AWS has like a zero engagement policy with with everyone saying anything publicly, I've taken advantage of a lot.
Speaker 1:Yes, you have.
Speaker 2:I will say.
Speaker 1:It's almost your whole persona at this point. Yeah.
Speaker 2:But Vercel is not like that. They like you if you like say any of this stuff publicly, like you it creates a problem for you so Yeah. I really only hear about it in private. Okay, next one. So Next.
Speaker 2:Js is eating React. So the gist of this is, you know, with, a lot of the React team leaving meta and joining Vercel, there's like more influence than ever on Vercel's goals and React's goals. Kent says even when they were part of meta, he wasn't a big fan of it. I think his for him, the ideal model would be like a foundation model. I agree with the foundation model for things that end up being low level open source tools.
Speaker 2:So I think React at this point, it's a low level tool, a lot of stuff gets built on top of it. Programming languages, things like Terraform, like I believe that those make sense as a foundation model, where there's like an open foundation with a bunch of different companies that might compete with each other supporting it. I think that's like the healthiest setup. So he mentions that here and he is worried that they're kind going the opposite direction. The benefit of them being at meta is meta and this is like there's pros and cons here.
Speaker 2:It was a side project for meta at the end of the day. They used it internally, they built all their stuff on it, which is good because they're tied to it, they're committed to it. But they don't need it to be anything besides a tool that solves their problems and a bigger ecosystem that they can hire out of. Yep. They don't need to like build a direct business off of React.
Speaker 2:And I think there's pros and cons there. But obviously moving into Vercel, which is an unprofitable startup that's in hyper growth phase, raise a lot of money, you're in a very different environment than you were in Meta if you're someone working on React. Like, you now have stuff like deadlines, you need to, like, coordinate lunches, you need to, like, do all this stuff, need to line up with the company's vision. Like, is a very different situation and I wouldn't be surprised if honestly the team doesn't isn't necessarily adapting super well to that. It is a new constraint that they haven't had since the beginning.
Speaker 2:Yep. So yeah, think Ken mentioned that this does worry him a little bit. He also mentions that, he feels like collaboration has gone down. I think he quotes, yeah, Ryan Florence has mentioned this. It seems like he's like debugging issues and like posting stuff not in like a negative in a positive way publicly, more like it feels like he's running into stuff that given someone like him building a framework on top of React with his level of Yeah.
Speaker 2:Reach and influence, he should have like more direct lines
Speaker 1:Mhmm.
Speaker 2:Of communication, like understand a lot of this stuff ahead of time. I definitely feel that. The thing I met someone asked me earlier today, you know, where do you see like the lack of collaboration? Like what does that mean? Like where do you guys see that?
Speaker 2:With every other framework, we have direct lines to the people that are, building it. We can't We have influence over, hey, here are some good features you can add that would help deployment, and they've been implemented and added. We get told ahead of time of features that they're gonna release so that we can prep our stuff. It's a very standard open source collaboration. We obviously don't have that with Next.
Speaker 2:Js at all. It's a complete reverse engineering effort every single So again, quite different from everything else that's like more open source.
Speaker 1:Yeah. I guess are there any other companies with associated with these frameworks that have similar incentives or models and they just work around it? Or is Vercel unique with their their business model?
Speaker 2:I think they're unique in that they're successful. I think everyone else that's tried this has not been as successful. Right. Is my so like, yeah, a lot of their issues are like, they're uniquely successful. We have to give them credit for.
Speaker 2:Yeah. Yeah. I'm trying to think like who else does the open source framework but paid I mean, you've had failures, right? Like Gatsby was a big one.
Speaker 1:Yeah. So they were so that brings up Netlify which Mhmm. Doesn't have a framework. But they kind of have the same model business model as Vercel, right?
Speaker 2:Yeah. I mean, Netlify is also I mean, I don't really understand Netlify that well. They have to be a Next. Js host because Next. Js is hugely successful but it's it's always always gonna be an uphill battle for them.
Speaker 2:Yeah. They have to like build so much around it that's unrelated to Next. Js for people to be into Netlify.
Speaker 1:To give you a reason. Yeah.
Speaker 2:It's it's it's tough and they and Ryan Carniato works there but they haven't taken this like direct head to head battle of trying to I feel like he's working there technically but you never it's not like a big part of their brand at all Yeah. Or their efforts. You look at Next. Js and Vercel, like Next. Js and Vercel are like one thing.
Speaker 2:Uh-huh. And they unify everything and they like really push both those things forward together. Netify doesn't seem to be doing that for whatever reason. Yeah, Gatsby's other example but they never figured out the business part of things and and they ended up, you know, getting acquired by Netlify.
Speaker 1:Yep. I
Speaker 2:don't remember too many others but yeah. I mean, it's possible this model just doesn't work or entirely make sense.
Speaker 1:I mean, I guess Remix got acquired. Same thing. Like they didn't ever have to get to the point of having a hosting business. Yeah.
Speaker 2:And I think Ryan talks about all the time how he's in such a better headspace being able to really think about super long term goals for Remix without he was saying, like, if they didn't get acquired right now, they would be working on a paid product as opposed to working on Remix. Which I I feel because we're in that same situation. We have an open source framework and a paid product and that split is is difficult. We're okay with it. Like we're like, we're not I think our team I think certain people are like true open source people at heart.
Speaker 2:I don't think our team is necessarily that. Like our community runs our projects better than we do. Like it's not really our our forte.
Speaker 1:I wasn't gonna say anything but No.
Speaker 2:And that's not even I'm not even exaggerating. The other day, I went to the OpenText homepage and I was like, wait, when did this get so good? Like, they, like, deployed a whole new docs thing that's, like, so well run, like, they have
Speaker 1:That's awesome.
Speaker 2:They're so on top of all the issues, like they got all the integrations going. Like it's a it's a well run like Jay was saying that today, why do we need to learn something from Yeah. From our community. So like we're more like, you know, traditional like startup y, like build a product people. But for someone like Ryan who's like very good at open source, like, I think that's a much better setup.
Speaker 1:Yeah. Alright. Experimenting on my users.
Speaker 2:Yeah. So this is another thing. Again, this is this is definitely like a to me, I feel like this is a it's such a good judgment thing. It's hard to articulate like, this is exactly what you should do. And for Kent's level of expectation of the amount of stability a framework should give you, he feels that Next.
Speaker 2:Js is not meeting that. Next. Js will push back and say, no, everything we're doing is a 100% backwards compatible. It's true. Like, I think Guillermo tweeted the other day that the first screenshot that they put up of Next.
Speaker 2:Js, like that code literally still works. So backwards compatibility, you can't really argue they are there doing that but there is a lot of change and the change represents innovation like things that they're trying to innovate and push forward. Yeah. And it does get marketed very in a way where people feel like they needed to jump to it right away. And they'll try to jump to it, things won't work, things will kind of be broken.
Speaker 2:We see it with every single patch update change, a bunch of stuff breaks and we have to trace it down. Again, that's just a fact like you can draw whatever opinion you want from that but the fact is it does break a lot more than than other stuff. The opinion you can draw from that is it's worth it because you like the direction they're pushing in and you do need to break things to get there. Otherwise, you get stuck. I think we definitely are more on the side of breaking stuff just because we're a little bit earlier on than, than like, you know, kind of more stable frameworks.
Speaker 2:So I understand that but I also understand that like for as big as they are for how many companies built on top of them, this is just like a pain.
Speaker 1:And he talks doesn't he talk in this section about the, just all the React features that have been used in the last few releases of Next. Js that aren't stable?
Speaker 2:Yeah. There's a whole debate around that canary thing where like React has a canary version but their definition of canary means it's ready for frameworks to adopt. It's a very kind of confusing situation. I don't to me, it's not I don't like wanna get into like those details. For me, it's really about what's it feel?
Speaker 2:Like, what do people feel like? Does it feel like it's glitchy? Does it feel like it's buggy? Does it feel like it's slow? I mean, a lot of people do say that.
Speaker 1:Oh, for sure on the RSC side, like, the app directory stuff that people when the first version that made that available, everyone started using it and was like, the dev server is atrocious.
Speaker 2:And they've improved it a lot but I still see people talking about how slow and painful it is.
Speaker 1:So How much of this is like Next. Js Conf and, like, for self conf or whatever? They have, like, all these big tent pole, you know, conference things, and it feels like stuff's gonna be shipped on that date regardless of where it's at. It's like Turbo Pak. The first announcement of Turbo Pak was like, you knew they just had to announce it, but it was like, it's alpha.
Speaker 1:Actually, you can't use it. Actually, don't use it, please. But there's kind of this like marketing driven development. Mhmm. I guess that just comes with the success.
Speaker 1:They've got a huge following. They have these huge marketing events that just comes with it, guess.
Speaker 2:As I was saying earlier, like it's a very different environment for people that were at meta to now be in this environment where they need to like do all this coordination and get stuff out on time and and all that. Liz has been reading the Tailwind comp what's their Refactoring UI, I think. Have you read that?
Speaker 1:I own it. I've read some of it.
Speaker 2:It's in your deep collection of I think you own any everything. You probably own all the
Speaker 1:I mostly own all of the things. Yeah. All of the things people make. If you, like, are considering making a course, you should just make it really expensive because I'm at least gonna buy it. And and you'll at least make that sale and then you can kinda go from there.
Speaker 2:Just make it look really good. Yeah.
Speaker 1:It's funny. And you
Speaker 2:probably even tweet like, this is great.
Speaker 1:Yeah. Yeah. Probably. I mean, re refactoring UI, the bits I read were really
Speaker 2:good. Yeah.
Speaker 1:I think I even use it to like reference, like look up specific things.
Speaker 2:It's a great book that it's like it's hard to remember all the concepts in it so something you have to constantly reference Yeah. Every like year or so. But yeah, she's been reading it and one of her big takeaways was she spends a lot of time she's reflecting on her own way of doing things. She spent a lot of time figuring out how to get work done. Like what is a process to get work done?
Speaker 2:But she never really looked at it as how do I get quality work done? It was more around like we there's all this stuff to do, what process do I have to make sure it all gets done? But like never thought about like, okay, but what's the process to actually make sure that that stuff turns out well? And oftentimes, these two things are entirely in conflict. Like the thing that makes you the most productive and predictable and and you can estimate and you can deliver on time is very different from what you need to do to deliver quality work.
Speaker 2:Think that's kind of what is going on there, like, they are now in an environment where they need to make sure work gets done. Very different than they can't make the decision that, you know what, we need another year on this before we Yes. Tell anyone. Before you even know this this Turbo Pack is a viable thing. Of course not.
Speaker 2:You can't do that. Like, a stage you're in. Impossible. Yep. So that experimenting is not a good point.
Speaker 2:So too much magic. Okay.
Speaker 1:Too much magic. I think we're all gonna resonate.
Speaker 2:This is another thing. Again, it's like a sense of judgment and, you know, Kent is very experienced. He's seen a lot of code bases work with a lot of people. So you kind of have to acknowledge his level of judgment here. He's not someone that's just like, he's doing this for a couple years.
Speaker 2:When people say too much magic and they have a lot of experience, I think it does come with, like, a lot of weight. We all like some amount of magic. We all like not having to do tedious work. But there's some like invisible magical threshold that'll cross over where we'll be like, okay, now it's too much. Now I'm scared of it.
Speaker 2:Now I'm worried what can happen. Yep. And he points to the fetch API where they patched, they do a global patch in the fetch API. And I think to a lot of people this feels like focusing on some technicality of like, oh, why are you like obsessing over this? Like one thing that they did just because it's technically weird.
Speaker 2:I acknowledge a lot of things that are technically weird can actually be fine in practice but the philosophy around it feels off. Yeah. Right? It feels like, is this feature so so compelling that it's worth crossing this line here? Yeah.
Speaker 2:And that's just there to add automatic caching which again, guess where automatic caching works best in in Versailles. For sure. It doesn't work too great anywhere else unless you like really engineer for it. Yeah. Like, so how do you feel like that with like some of the magic stuff?
Speaker 2:Like, you like the magic? Like, kinda does it make you feel weird?
Speaker 1:I guess there's probably parts of it that I I like and I don't realize, oh yeah, that is that is a lot of magic.
Speaker 2:I think
Speaker 1:it it ties into that point earlier that we talked about, like, not understanding how it work. It bothers me when I don't understand how this stuff is even deployed. Like, what does the infrastructure look like? Like, if I can't understand how all these features are actually implemented, then I feel bad using it. So I think that's the magic stuff for me.
Speaker 1:Yeah. There's probably like I I I wouldn't have even thought of the global fetch as a magical thing. I think of that as like a, yeah, a philosophical thing that bothers me that they would think that's a good idea. I'm sure that if we pulled up specific features of Next. Js and Vercel, I could I could probably better articulate the magic I don't like.
Speaker 2:Yeah. And and I I definitely will acknowledge that this is a lot of it is emotional, but I don't think that discounts it. Like, it feels weird. It's just like a feeling, like you don't if it feels like you don't really get what's going on, that just is a gut feel. I can't rationally say that as good or bad, but you gotta listen to those things because, there's like some wisdom there that is maybe not super easy to articulate.
Speaker 1:Do do you think they view though the magic as like, that's a feature? I mean, like, look at all this that is done for you. Is that a philosophy that some people embrace and as developers, they like it?
Speaker 2:Yeah. I think as someone building, I think I can relate to their point of view a little bit because there's some I see problems all the time and I see, like, people making the same mistakes or I see people doing tedious things and I want to solve it for them and sometimes I can, like
Speaker 1:Yeah.
Speaker 2:Lean towards, like, doing really aggressive kind of crazy things to make it so someone never runs into this issue. Yep. So that pushes there because that's what the innovation is, like you try to solve those problems. Yep. I think with this ex specific case, I'll actually give you an example of why this is emotional but it should still matter.
Speaker 2:So as someone like, I I was using app router like a few weeks ago. I don't know Next. Js that well. I'm still like, I would be consider someone's new to it. Everything is so aggressively cached by default.
Speaker 2:They're like very very, aggressive about guessing that you probably want this to be pre rendered. And I find that really weird. Like you build an endpoint, API endpoint, request, you like return some static response because you're just testing. And it took me a while to realize like why it wasn't actually deploying properly because Next. Js looked at my code and they were like, oh, you don't touch the request object.
Speaker 2:Therefore your code's probably entirely deterministic, therefore we can probably just build it at Mhmm. Generate that build time. Yeah. And then like, you know, exactly. And that's like a very performing way to do that but it's like so unexpected and it gives you like a really jarring feeling initially.
Speaker 2:Someone I saw someone reply mentioning this being like, they returned something from their database without touching the request object and then all of a sudden their build was trying to talk to their database which is like in a VPC and you can't access it. Yep. And when stuff that's unexpected happens, like, it's just a bad experience. It doesn't matter whether the thing, the feature makes sense. If you catch people off guard, there's gonna be a negative thing there and you're worried that you're being dragged into like a complexity hell.
Speaker 1:Yeah. Yep. A 100%. Can I can I point out a magic thing that I thought of that I do like?
Speaker 2:Oh, yes. Tell me.
Speaker 1:I I think I think this is under the umbrella of magic things. Like NextFont. Mhmm. So NextFont, you just, like, import Google Fonts and it gets rid of Layout Shift because they, like, inspect the font files and calculate for a fallback font, they calculate all the different whatever measurements so that when they swap whatever, the Lato, your custom Google font in for, like, Arial, there's no layout shift. That I guess that's kinda magic.
Speaker 1:Like, all that's going on, just import that font and use it in your style sheet. But I do I do like that magic. It's like stuff I understand. I understand what's happening under the hood, and I just like that they took care of it all for me. Maybe that's not magic because I actually understand what's going on.
Speaker 2:You understand what's going on and it's something you would do every single time. There's like no reason to ever not have that turned on.
Speaker 1:Yeah. Exactly. It's just boilerplate. It's removing all that. Yeah.
Speaker 2:Yeah. It's not like trying to guess and sometimes it's wrong or
Speaker 1:sometimes Yeah. So maybe that's not magic. I don't think that's what we're talking about. That's just
Speaker 2:It is mad but with this stuff, it's like we can't boil it into a bunch of simple rules. Like there's a few Yeah. You know it when it feels off, you know it when it feels good. Yep. The other thing in this section that I found super fascinating is this Moodools thing because I didn't know about this.
Speaker 1:I think I've heard of
Speaker 2:So Kent points out that, in the Mood Tools days, the Mood Tools was like, I I think I remember it was like, similar to jQuery, expanded what JavaScript could do. But the way it worked is it would override your, like the string prototype. So it add functions to strings that weren't actually there, kinda be injected by the by the library. And they added a, dot contains feature to a string. So like, figure out whether a string contains a substring.
Speaker 2:Super useful. Obviously, it should just be in a native thing. Yep. They added it because, you know, everyone needs it. And then when, they went to implement dot contains natively in the browser, obviously, dot contains makes sense.
Speaker 2:It's like what you think of, like string contains, I think that's like what you would wanna name it. But they couldn't name it that because the implementation was slightly different and it would break all of the existing And off the new tool sites out there. And there were so many of them that this was actually a factor to consider. And that's why it's called dot includes. And this is mind blowing to me that like, they have to consider this.
Speaker 2:It is it is crazy that you have to consider this. Like, I never thought of that and I can't believe that's what Yeah. That that's the reason. I got I thought they just picked includes because they were like, was like, oh yeah, that makes more sense for some reason. I thought it was like a weird decision but Yeah.
Speaker 2:They were forced into it. And then the the the GitHub issue he links, it's funny because, Sebastian who works on Next. Js now used to work on Mood Tools and he's like in that thread talking about Oh, this issue like ten years ago.
Speaker 1:That's awesome. I didn't I didn't catch that. Okay. So that's magic. Complexity?
Speaker 2:Yeah. So complexity, getting overly complex. Yeah. So this so you mentions the server actions, all the weird side effects that they have to solve now, the taint API, which we talked about in our last episode.
Speaker 1:Totally a real thing.
Speaker 2:Yeah. And I think this I get this also. I get like, I totally feel this as well. It is so complicated and for a specific use case like a like a e commerce site or like a marketing site, like a very specific use case, all the defaults and next and all the complexity is great because these are all things that those projects should be doing but probably didn't have the like they don't just have the energy to like cover all these little things. Yep.
Speaker 2:So I can see exactly what they're optimized for. But the moment you're not on that path, it's just you're just waiting through all these features that you're turning off or working around. Yep. It is a lot.
Speaker 1:Yeah. No, it's been a couple of couple of major versions since I used Next. Js, but I was feeling it then even. And this was before RSC.
Speaker 2:When was the last version that you like I remember you used to consistently build stuff in Next.
Speaker 1:Yeah, I did. I mean, was right before for like two years, I think. It was right before the RSC release. So was that 13?
Speaker 2:13. Okay. Wait, no. RSCs was 13.
Speaker 1:I might have used 13. RSCs were released in '13.
Speaker 2:Did you use app router? Did you use all those
Speaker 1:like No. That's what I'm saying. Like, I never I never got into the app router. Everything was pages directory when I Maybe last
Speaker 2:you were just on 12, I guess.
Speaker 1:Yeah. I think so.
Speaker 2:And you said you felt it even then that it was kinda getting a little complex?
Speaker 1:I thought so. I mean, I know like it's it's been taken to another level with Yeah. All the recent stuff. But I mean, I feel like ten, eleven, 12, there were, like, pretty big features introduced in every release. Maybe there were, like, more things that we just take for granted now or just fundamental things, image optimization and all that stuff.
Speaker 1:Maybe it's just like you need that stuff. But I mean, I still feel like having just gotten into Astro in the last year and built something pretty large with Astro, I I feel like this it's a lot simpler Simpler. Than Next. Js. I don't know.
Speaker 1:It's younger, so I guess that makes sense but
Speaker 2:Yeah. And I think every it's it's so hard to prevent something from getting big and bloated because you're always trying to innovate, you're always trying to push stuff, you're always working around being backwards compatible. Yeah. I am surprised how complicated it is because I I really don't feel like I need a lot of those things. Like I've never needed it.
Speaker 2:I still build stuff without it. I see people building stuff in other frameworks Mhmm. Without a lot of those things and they still come out great. So again, a little bit of a judgment call here. I think for some people, they see all these features and they're like, yes, like these are things that I need turned on.
Speaker 2:I I would have to build them manually otherwise. But to me, it has to be like a narrow somewhat of a narrow set of people. Yeah. Yeah. And he compares to Remix saying like the goal for Remix is to reduce API footprint as opposed to increase.
Speaker 2:Like they're very they're lot more conservative with with adding functionality and features. Wait, what the hell is stability? Did you mention stability twice? Oh, experimenting on my users, I guess that's different. So he mentions Yeah.
Speaker 1:It's a little different.
Speaker 2:Yeah. He has another section on stability here.
Speaker 1:I think we kinda talked about this stuff as part of the even if he didn't as part of the
Speaker 2:No. Yeah. The previous section. Experimenting on the users. Nothing super new here.
Speaker 2:Yeah. I think the main thing here is React Router in a lot of ways is kind of like a precursor to Remix and there is a migration path from React Router to Remix and that that migration path will continue to be more and more clear as Remix implements RSCs. I think that's like the most interesting angle I see for Remix where there's a lot of sites using React Router. And Yeah. Pitching switching to Next.
Speaker 2:Js was all with all these heavy features versus switching to remakes which feels like more like an incremental step. Yeah, I I'm skeptical that a lot of people are gonna be choosing Next in that situation. But yeah, we'll see.
Speaker 1:Capability.
Speaker 2:Capability. Yeah. He's talking about like why is this a comparison of features but again, I think people talk about that to death like features and technical things but
Speaker 1:Mhmm. Like you said, these these are the
Speaker 2:type of things that probably don't matter anymore like philosophy and the direction they're going and whether it whether it lines up. Yeah. So he talks about like the e commerce demo and how they were they were able to get a better user experience with less code with remakes. And actually has updated, I think, the invented app router to like copy all those features Yeah. Which is funny, which is fine.
Speaker 2:Like you should copy your competitors features but you also gotta give credits the fact that Remix got there first. Mhmm. So presumably, they might get to the next good idea first as well.
Speaker 1:Oh, out of order streaming, sorry. I just I didn't notice that's the first time I read this article.
Speaker 2:Yeah. So remixes I I think I saw some mention of it. Michael posted today that he feels like all of RSCs, like all the features you get from RSCs could have been implemented in like a much stupider, simpler approach. Like the headline feature that you care about like streaming and out of order streaming and and all those. You like I said, when you're picking stuff to build on, you are making bets.
Speaker 2:It's not any different than investing in a startup. You bet on what they're doing, how they're doing it, the people that are working on it. And I will say that the Remix team, you have to give them a lot of credit for getting to some of these ideas first. Yeah. We'll see where it goes from there.
Speaker 1:Okay. I'm sorry. I I was not listening because the x in the conclusion, that's your prerogative and I welcome you to share your opinions on my take on x, YouTube, Twitch, etcetera. Do you see this?
Speaker 2:Yeah.
Speaker 1:Copy it your clipboard.
Speaker 2:Okay.
Speaker 1:And then paste it like in your browser address bar.
Speaker 2:Okay. But you didn't know this? They they just picked a they just picked a Unicode thing. It's not a custom Are
Speaker 1:that's a Unicode character?
Speaker 2:Yeah. Yeah. Everyone's making fun of them for it. But it's funny because like
Speaker 1:Oh.
Speaker 2:I I commend them for it in some ways because I would never be able to do that. I would never be able to, like, emotionally ship a But Unicode there's something so pragmatic about it that I have to, like
Speaker 1:I didn't know this. Credit
Speaker 2:for it.
Speaker 1:You were just yeah. You were just dogging on this logo and it's a Unicode character. I mean, I get that the grungy thing. I yeah, agree on that.
Speaker 2:But No. Mean, I don't like the way it looks but yeah. Like there is some How did I just learn this? There is like a mindset to shipping a Unicode character as your logo that we can definitely learn from to some degree.
Speaker 1:That's wild. Yeah. And I guess Kent knew. I must be living under a rock. Yeah.
Speaker 1:I just when I pasted it in the address bar, I was like, is this gonna paste an x? Did he somehow, like, make the x render like that?
Speaker 2:Like, what
Speaker 1:is this? I just didn't expect it to like be able to select the text. And then it was the logo and my jaw dropped. I don't know if you saw it but
Speaker 2:Okay. Sorry. Well, I guess that's kind of a cool feature because their their domain can this just be their domain name? Can their domain name just be
Speaker 1:Could it? Can you just use a Unicode character? There's like the emoji domain thing. Have you seen those? Yeah.
Speaker 1:Those are cool.
Speaker 2:But like, can't type this in so I guess it wouldn't be.
Speaker 1:No, I guess not. Yeah.
Speaker 2:Man, what happens if you go to oh, it works.
Speaker 1:It work like that.com works? Oh my god. It works. What? How did it do that?
Speaker 2:Wait. Hang on. We're we're gonna we're gonna dig into this. Let's open up the Yeah. What do
Speaker 1:redirects look like? This is wild.digx.com.
Speaker 2:It resolves DNS curl dash v. Yeah. Three zero two to Twitter, which is then a three zero two to Wow.
Speaker 1:So you can, you can use Unicode Sorry, characters for dot I'm so blown That away is so impressive.
Speaker 2:But are there any are there any of these single Unicode domains that aren't taken? Like it must Probably be all not. The problem is people can't type them in. That's that's a real issue.
Speaker 1:Why can't you type them in? What do you mean like
Speaker 2:Like if if that was
Speaker 1:your only domain for your
Speaker 2:site, how would you How would I type this x in without copying it from somewhere? Oh, yeah.
Speaker 1:You just had to copy it. Can't you like Isn't there like a code like it's like Yeah. Pull down something? I mean, some people probably just how
Speaker 2:to do that. Like, I know there's a way and I don't know if it works on Linux, so yeah.
Speaker 1:I can't get over this.
Speaker 2:Really Google it every time.
Speaker 1:Now I'm heading straight over to Namecheap.
Speaker 2:Oh my god. Whole new set of domains for you to buy.
Speaker 1:Oh, no. Oh, this is bad.
Speaker 2:Let's see, or no. Sorry. I use Domainer. I like domainer.com.
Speaker 1:Domainer?
Speaker 2:They don't sell domains, but their searching thing is so good.
Speaker 1:Do you spell it like it sounds?
Speaker 2:Domain and then an r?
Speaker 1:Yeah. Domainr.com.
Speaker 2:Wait. If I type I wonder if this x just turns into like a normal x.
Speaker 1:I think it does. Because even in my like in my dev tools, I don't see that listed as a request. I just see x.com redirect to Twitter.
Speaker 2:Okay. So maybe somehow it's it reduces to a normal x.
Speaker 1:To an x? That's wild. I'm so confused. Okay. Sorry.
Speaker 1:Back on track.
Speaker 2:Okay. So conclusion time here. Wanted to share why I'm recommending and teaching remakes. Okay. So he concludes they're obviously both capable frameworks.
Speaker 2:He's listed why he's betting on this one and he points out that his class is so useful even if you're still building on Next. Js, which I think lines up with the idea that remix is closer to like web fundamentals and Yeah. And standards. Choosing to teach remix have equipped you to take on any challenge you face in full stack web. It's a I think it's a great article.
Speaker 2:I don't think I saw anyone really have like a negative reaction besides those people that were that didn't read it. Yeah. No, I thought it was I think it articulates pretty much everything, like all my feelings and thoughts around around NeXT and kind of where it's gotten to.
Speaker 1:Yeah. And way better than I could have ever Yeah. Articulated. He helped me realize the things I don't like about Next.
Speaker 2:The question is, what is his image? This this is definitely AI generated.
Speaker 1:Wait, what? What image?
Speaker 2:The title the title of the Why I Want You is this is this like abstract art? Are we supposed to read something into his? Oh. Is is Next the red and remixes of blue?
Speaker 1:Was there something hidden in there? Do you see like a girl in the top right with like headphones on and three eyes and her arm
Speaker 2:cut out? See that. Is she dancing? It looks like those those old iPod commercials kind of. Yeah.
Speaker 1:Oh, yeah. Yeah. Now we gotta know, Kent. If you could let us know if there's something hidden in this abstract right at the top, that'd be helpful.
Speaker 2:I wonder if it is AI generated. I feel like I just assumed it was, but I actually don't think it looks exactly like AI generated stuff. You know how they all have that like feel to them? Yeah. Is not screaming that to me.
Speaker 1:So I'm looking through his other articles like his all his little cover arts. They're kinda yeah, a nice mix of things. A lot of abstract.
Speaker 2:I like, man, everyone that does a space theme, I feel like it always just comes out so cool.
Speaker 1:Like the what does full stack mean for Epic Web, that article?
Speaker 2:I mean, epicweb. Dev is just all space themed, right?
Speaker 1:Oh, it is.
Speaker 2:Yeah. Like, Astro stuff also, like, I feel like you just have so many things you can do when you pick a space theme.
Speaker 1:Uh-huh. Yeah. The Astro one is just the gift that keeps on giving. It seems like they keep discovering new, like
Speaker 2:Yeah.
Speaker 1:Goofy things that they can introduce into their brand that fit.
Speaker 2:Yeah. That that's the thing that I was talking to Liz about. Like when you pick a name for a company, you also kind of want to pick something you can play with in a million ways. Which is kind of what's hard to do but if you do pick that, it makes every single thing you ship a lot easier because your constraints are like a certain theme but it's also very flexible.
Speaker 1:It's a good call. Alright. That's the article.
Speaker 2:Yeah. VercelConf wait, is it VercelConf or NextConf?
Speaker 1:Next. Jsconf. Do they still have VercelConf? Feel like that is a thing but
Speaker 2:Is that was that a thing? I thought it was.
Speaker 1:Maybe not.
Speaker 2:Oh, they do they do two
Speaker 1:a year? Maybe not. Maybe not. I don't see anything for VercelConf.
Speaker 2:So It's always NextConf.
Speaker 1:I guess I'm wrong. Did I make that up? I feel like that used to be a thing.
Speaker 2:So on the day of NextConf, we read an article about why
Speaker 1:We did. I wonder
Speaker 2:if Kent Next. Timed it
Speaker 1:for that reason. Kent, let us know. Did you write the article knowing that NextJSConf was
Speaker 2:Was this a calculated strike? Calculated hearts of Next. Js on their most revered day.
Speaker 1:I am I do wish I was going. I it's such FOMO. I hate FOMO.
Speaker 2:Can I I just
Speaker 1:had so I know? I had so much FOMO at at the TwitchCon. I was at TwitchCon and I had FOMO.
Speaker 2:Why is Describe that more. Like, what do you have FOMO for?
Speaker 1:Well, it's just like you wanna make sure you're doing the right thing. You're you're in the right place at the right time with the right people and like just like can't just enjoy it. It's like min maxing everything about it because there's a lot of things you could do when you get there and it's like, I don't know. I don't like it. I just how do you get rid of it?
Speaker 1:I want I want no FOMO over anything in the tech industry.
Speaker 2:Yeah. That'd be great.
Speaker 1:I I talked about this the
Speaker 2:other day but as stupid as it sounds, like, do get inspired
Speaker 1:by my dog a lot. Like sometimes I see the way he lives lives life and I'm just
Speaker 2:like, there's something that we learned here. Just so in the moment all the time.
Speaker 1:Yeah. My kids are like That's
Speaker 2:kind of what you're talking about? Oh yeah, exactly. So Mhmm. But he's never like, I could be doing this other thing which could be better,
Speaker 1:you know? Right.
Speaker 2:And that's ruined what you're doing.
Speaker 1:Exactly. Okay. But if I have a goal this year, it's to, not have any FOMO. That's it. You don't want other things?
Speaker 1:No. No. I might go to nothing, but I want to just not care.
Speaker 2:FOMO is always gonna be a thing. But I think having FOMO at TwitchCon
Speaker 1:No. No. I'm getting rid of it. That's unhealthy.
Speaker 2:No. Just like I can see how that's maybe annoying. Fomo's okay. Is it? If you your hanging out and having fun like and you're not there, it's okay.
Speaker 1:That's okay to fear missing out because you are missing out. It's not really
Speaker 2:a fear. You know you are
Speaker 1:missing out. Yeah.
Speaker 2:I didn't have FOMO at all with TwitchCon. It looked so bad and not fun and terrible.
Speaker 1:It was so fun. You missed it. It was so great.
Speaker 2:Saw it's fun. Gotta say, to be completely honest, in a lot of the pictures that you guys took, the background looked like shit. I don't know what was going on. Like, there was a picture that picture that Melky sent of you and him, they all these like shitty streamers, it looked like you were in some like like crappy like office.
Speaker 1:Wait, there's a picture of me and Melky?
Speaker 2:They put like streamers on like, just like half assed streamers on the ceiling behind you.
Speaker 1:Didn't even know there was a picture of me and Melky out there.
Speaker 2:Melky sent
Speaker 1:I really didn't take any pictures.
Speaker 2:You sent it to me. It was the two of you. You probably don't remember because you were wasted.
Speaker 1:Was Was it that night? I only did it one night.
Speaker 2:Did it
Speaker 1:The the thing that you did only on had an one night.
Speaker 2:Okay. I just sent you the picture on Discord. Look at it. And do you get what I mean? Like
Speaker 1:Oh, wow. That does look awful. Where is that?
Speaker 2:Just look at the background. Like, just looks so crappy. That
Speaker 1:is at a restaurant. That's at this taco place and they're probably just decorating for Halloween. That's not TwitchCon.
Speaker 2:Wait. Wait. Hang on. This is a taco place? Why does it look like a corporate office?
Speaker 1:I think that's the taco place. I'm pretty sure. I feel like that's the only place we ever went to eat. They all love these tacos and we just kept going.
Speaker 2:You have those? Tacos.
Speaker 1:Were you able to eat there?
Speaker 2:Was there got And
Speaker 1:then coconut water the next time because I didn't want fries again. Yeah. There were no there were no chocos for me. When you come to Miami, I told you we I
Speaker 2:have that restaurant saved for you.
Speaker 1:So I am definitely coming to Miami.
Speaker 2:Yeah. Saw you mentioned on Twitter.
Speaker 1:I mean, I'm coming for Miami for React Miami.
Speaker 2:Yeah.
Speaker 1:And there might be another reason. I feel like there's another thing that we might go, like as a family or something in Miami. I can't remember.
Speaker 2:A reunion?
Speaker 1:No. What do
Speaker 2:you mean my family?
Speaker 1:You're not Does my family look like they're from Miami?
Speaker 2:I I thought you guys were, doing a reunion in, a destination. No. My fam what? Why Are
Speaker 1:you messing with me?
Speaker 2:Just said you just said you might go to Miami for family. I have no idea what to make of that.
Speaker 1:No. Oh, I'm sorry. For my family. Like, my wife and my boys. Like, something we wanted to go to that's in Miami.
Speaker 1:I can't remember what it is. There's a jujitsu tournament there, the Miami Open. We'll see. I'll be in Miami at some point.
Speaker 2:Is it the f one race?
Speaker 1:No. There's an f one race in Miami?
Speaker 2:Yeah. It was a so Miami and Vegas were the two big additions. Yeah.
Speaker 1:I was gonna say Vegas was a mess because of all the
Speaker 2:f one so jealous of all people going to the Vegas f one race.
Speaker 1:Oh, of going to the race. I thought you meant I'm going to Vegas before the race and having to deal with the traffic. Now what? I was like, you would be jealous of that. You're so drawn to, like, disasters.
Speaker 2:I'm drawn to being entertained by other people feeling
Speaker 1:Yeah. Awkward. Uncomfortable or Yeah. Awkward. What, what you're like an F one fan?
Speaker 1:Did I know this? You watch it?
Speaker 2:I don't know if, like, I'm more lately, I haven't been super into it but I love F one in general. I used to be super into it. Like I said, we've talked about that. I used to do simulators and all that, but I've never been to a race. Oh, right.
Speaker 2:I will go to Yeah, the Miami one they're so expensive.
Speaker 1:Somebody said like $5,000 minimum for seats advance.
Speaker 2:The biggest one must be insane. I I wouldn't be surprised if it's the most expensive sporting event of all time because one, it's in Vegas. Two, it's F one. F one is already, like, a rich sport. The rich Like, people on your yachts, like, type of situation.
Speaker 1:Uh-huh.
Speaker 2:Then you have all the hotels that are, like, lined up on the Strip and some of the rooms have, like, views of the race. Like, that is gonna be crazy crazy.
Speaker 1:Yeah. That's wild. I don't wanna be there for that one. It's gonna be like a couple weeks. Right?
Speaker 1:It's really soon. Do we have anything else to
Speaker 2:talk about? I don't think so.
Speaker 1:Okay. I was just reading a message that I thought might be pertinent to this very episode from our editor in chief, Chris.
Speaker 2:Oh, are we in trouble?
Speaker 1:No. He's just pointing out did you know you can stream to Twitter from Riverside? Straight from Riverside?
Speaker 2:Oh, you can. That's what he said. Do we do that?
Speaker 1:I just saw a message from Trash on Twitter. Hi, Trash.
Speaker 2:What did Trash say?
Speaker 1:He, he said, you can't afford a race. Have you not met Trash in person? No. I bet you're feeling some some FOMO right now.
Speaker 2:From meeting Trash in person? Who cares who cares about that?
Speaker 1:When you put it that way.
Speaker 2:I feel like you should have Fomo because I still haven't met him in person and that's about your No.
Speaker 1:Trash is good people. Good times.
Speaker 2:I don't know. Is he as small as I say he is?
Speaker 1:Oh, how did I already know he was small? I wasn't like taken aback by your size, Trash. I just assumed you were small. But I don't know why I assumed that. Did I because everyone
Speaker 2:talks about it constantly and people lump me in with him and I find that very annoying. I'm not
Speaker 1:tall, but I'm very
Speaker 2:normal. I'm not small.
Speaker 1:Oh, I told Trash. Oh, that's so funny. Yeah. Oh, he told you. I told Trash that, you didn't come and I needed a conference buddy.
Speaker 1:You were about his size. Oh, yeah. Oh, yeah. This is your fault.
Speaker 2:Sorry. Oh my god.
Speaker 1:It's funny. You're five ten or five eight.
Speaker 2:Five ten. Ten? Five ten. Yeah. Five ten and five eight, like, that's a noticeable difference.
Speaker 1:Wait. Which one are you? You're five eight?
Speaker 2:Five ten.
Speaker 1:You are five ten?
Speaker 2:Yes.
Speaker 1:Okay. I thought I just gave you a couple. Okay.
Speaker 2:I wouldn't be this confident if I was five eight.
Speaker 1:If you're five eight? I don't know. Some
Speaker 2:people My personality would be different.
Speaker 1:Sometimes the the smaller, the more confident. Like a small dog, you know, like a chihuahua. Oh, yeah. That's true. Competent.
Speaker 1:Yeah. Okay. Alright. We really should go because this is getting boring. Even for me.
Speaker 1:See you next. See you.
