Brian: PodRocket is sponsored by LogRocket, a frontend monitoring and product analytics solution. Don't know what that is? Go to logrocket.com. Thanks. Brian: And we're live. Hey, I'm Brian. I'm here with Ben Hong and Kaelan Cooter. Gentlemen, hello? Ben Hong: Hello. Hello. Brian: Kaelan is not saying hi but trust me he is here. Kaelan Cooter: Hello. Brian: Ah, there you go. Okay, so Ben start us off. Who are you? Why are you here? Et cetera. Ben Hong: Sounds great. So yeah. Hello everyone for those who don't know me, my name is Ben Hong. Most of you probably know me from my work on the Vue Core Team on the docs. And so I also work at Netlify as a Senior Developer Experience Engineer and do lots of things as well. And the web platform as Google Developer Expert for web and NAT technologies and yeah, just excited to be here to chat about Vue things and anything else of interest that comes up. Brian: Yeah. Now, we're super happy to have you here. We will hit Vue 3 for sure. Although I think where I'd kind of like to start is... So Kate, our producer, puts together like a little pre-interview package for us. And one of the things I saw is a tweet she grabbed from you that was kind of walked through your progress in Vue over the last four years. And it was like a stepwise approach, right? Like 2017, I became aware of Vue as a thing. And in 2018, I went to a conference. 2019, I became kind of a community partner and then to have it, do the math, then 2021 I'm on the core team. I think I'm looking... I think it would be helpful for the audience and just me too. Like what, why? What is it? So you became aware of Vue and then you went to a conference, but then what? What was it about a Vue that was like I need to do more? Ben Hong: Yeah. So one of the things.. So for those who don't know my background is so I'm entirely self-taught. So no computer science degree. In fact, my degree is in industrial organizational psychology. So IO means a whole different thing to me, typically speaking prior to entering the programming world. And so as a result, when I entered into like the tech realm, I didn't... Bootcamps weren't really a thing yet. They had just started popping up and so the idea of throwing like 15 grand at something that was really unproven wasn't really a thing. So I kind of hacked my tech career together. And as a result, one of the best ways to boost, at least I found to boost my sort of awareness of the field was to one, go to the tech conferences and kind of like follow the different superstars on Twitter. It was kind of like the beginnings of it. Ben Hong: And so from there, obviously I joined around the time where frameworks were starting to become really like, so React, Angular had started to enter the scene. And I basically started out doing React and when I was joined Politico, we were trying to look into different frameworks to use and so naturally I pitched React because that was the thing I wanted more experience with because I had grown up doing a lot of HTML and CSS, but JavaScript would always kind of alluded me. But then at the time my teammates were like, no, we should really look into this thing called Vue and I was like, Vue, no, one's heard of that. Let's do React. That's like the thing everyone's talking about. And so I got to do a couple of projects and I started to realize sort of the simplicity and elegance of it from a framework perspective, which we can get into later. Ben Hong: And so from there, it was just a matter of like having gone to conferences, it was like, I'd really love to speak at a conference one of these days. And so from that, it was like, okay, well, now that I'm doing Vue at work, I kind of go, I happen to time well with the first Vue conference and Vue was still like getting popular, but still hadn't totally assembled its community yet. So that was like a time where it was a lot easier to get access to the core team members and that's where I got to meet a lot of them in person and it was like, how can I help? because I'd love to get more involved with the project. And from there, it was a sort of like step-by-step as far as trying to also grow career-wise and get more involved in the open source community because a lot of the principles I think I find in there really reflect my own values. Brian: So I started at LogRocket at the end of 2017 and the blog was very small back then and we were thinking, well, we should probably do more React because people seem to like React. But then it became, it was like, well, what else should we cover? And I remember pushing really hard for Vue, not because I really understood technically what was happening, I was way too new, but because I could see kind of the groundswell. It had a lot of, I don't really know what you would call it, grassroots support. I'll just pat myself on the back. Good for me. That was a good decision. But yeah. No, it was right around that kind of framework thing where I was like, yeah, I think Vue is going to be a thing. And then four years later it turns out it turns out to be a thing maybe perhaps even more than that. That's, what do you think Kaelan? Kaelan Cooter: It also started to get some good adoption with bigger companies probably earlier than other frameworks that I've seen. And I wonder how much of your success was like a pushback against complexity in React and I always say that there's like a trend going from really complex decentralized frameworks and then back to a centralized frameworks that do everything like Angular. Brian: Exactly. Kaelan Cooter: And then back again and then back again because we never learn. Ben Hong: Yeah, I will say for me having done Angular and React, what I've liked about Vue was that, to your point, it kind of approaches it from that middle tier perspective of like we've realized it's helpful to provide some abstractions that are really common that people use every day, but at the same time, people want to be able to customize things. And so when people want to break out of those conventions, we want to let them do that. And so I found that with Vue, it really did a good job striking that balance because earlier on in its development, one of its past core team members, Chris Fritz was actually an instructor prior to being a developer. So for him, a lot of instructional design and education went into that and I think that really reflects the API and how a lot of the core concepts are as far as learning from React and Angular and then bringing them together in a way that gives people that familiarity with like, oh, this feels familiar, but yet it really helps us supercharge my developer workflow. Kaelan Cooter: Yeah. That's kind of why I'm excited for Vue 3.0, not so much that I'm going to convert LogRocket over to Vue, but just to get more fresh ideas and reactive programming. I'm not completely sold on the way that React does it and I've tried other paradigms with like mobx and RxJS and everything under the sun and all of them have their own horribleness. I feel like it's just not a solved problem yet. So it's good to see innovation wherever possible. Ben Hong: Yeah. And I think one of the great things about Vue as well is because it's not backed by like a company, in that way, I think Brian to your point, that grassroots bit, allow it to really be open source, kind of true to its nature. And so in that regard, it's funded by contributions and that kind of thing. And what a lot of people don't realize is I think Evan and maybe only one or two other core team members are actually being paid by the Vue fund. But most of the core team members are actually basically volunteers including myself. And I think there's roughly 20 of us and only a few are actually in America. So we're actually spread pretty globally from a team perspective, which has been really neat to get that insight from different regions. Brian: Yeah. It was one of the things actually that made me start paying more attention at the very beginning. So really early 2018. Because a lot of the writers for the LogRocket blog are not in America and many of them are in developing countries and they kept pitching articles that included Vue to the point where I was like, what? Why? Like I don't... What's the? And they're like this is what we use at work. This is why. Because and it just became like, and they didn't all, well, in some cases like it was one company, but then it became many different companies. And so it was actually really cool to see. I can't imagine it being more organic than that, right. In different places and yeah. Kaelan Cooter: We should do more research there. It would be interesting to see a world map of frontend frameworks. Ben Hong: Yeah, that's what's challenging too is that a lot of times when we look at things like the state of JavaScript and that kind of thing, a lot of the data does tend to come from the United States and kind of Europe, and then which understandably so with like the firewall in China, it's hard for us and us to get metrics on that, but we can see from like... We know that Vue is probably one of the most popular frameworks in Asia. So it'd be kind of interesting if that data could be brought into those kinds of surveys because I think a lot of people in the US understandingly sell, like they see what React can do with the Facebook ecosystem and how that has scaled. But yeah, it's been an interesting ride. Kaelan Cooter: Unfortunately, they just do a breakdown of who responded to the survey, but they don't let you see the survey results for a specific country. Ben Hong: Exactly. Kaelan Cooter: We love that survey at LogRocket. We write many blog posts on it. Ben Hong: Lots of content to glean from it. Sure, certainly. Brian: Wow. Yes. That part that I thought I could vouch for, but even it's interesting and not to beat a dead horse, but I'm thinking about something like Angular, for example, right? Maybe, and I'm sure I'll get all kinds of passionate letters or email or tweets about if I say that it's fallen out of fashion or favor, but it depends on kind of where it's coming from because there are other parts where yet it's used pretty heavily. So I don't know. Ben Hong: Yeah, I think one of the things Google did really well with Angular was always positioned it as like the enterprise framework, which for developers, we know that's kind of an interesting way to frame it given that Facebook is or React is clearly used in an enterprise way. But Google just earlier got that like we're very opinionated and this is enterprise. And so in that regard, I still know, like to your point, there's a lot of companies still using it, but from an indie developer side project, I think that's where the conventions sometimes get in the way, because for those that don't know, Angular kind of like has a mandatory requirement of TypeScript. And for those who are entering web dev, TypeScript, if you don't have any experience with type languages, that's a huge barrier, let alone having kind of really opinionated ways for decorators and how everything should be done. So I think this is where React and Vue kind of enter the picture and even like Svelte, for example, where it's a lot lower barrier of entry to just getting started and building fun side things without learning all of this stuff. Kaelan Cooter: Yeah, definitely true. I think technically Angular doesn't require a TypeScript. It's one of those things where if you don't use TypeScript, then you're going to be confused by all the docs and all the resources- Ben Hong: Exactly. Kaelan Cooter: ...requirement. Ben Hong: And it's why Vue has it baked into its design where we give you opinion where you need it and then otherwise we try to get out of the way. So we really want to try to give teams the ability to design the best thing that works for them. So for example, like a lot of people don't realize that Vue, for example, can have JSX, which is really popular in React because some people really like render functions, but they don't realize Vue does provide that even though most of the time, most people only need templates because you're just writing plain HTML. But when you want to be programmatic, JSX is available to you. So there's like one of the examples of Vue's flexibility to let you customize what the team wants. Kaelan Cooter: Yeah and actually all my coworkers, or not coworkers, all my friends in the industry that used Vue all came from companies where they had server-side rendered apps often in Django or something and Vue just fit better as a way to transition to modern tech versus React, that would have been far harder, I guess. And I think templates kind of is one of the big reasons why that's the case but. Ben Hong: Yeah, it's kind of interesting because I think one of the things that people underestimate at least earlier on with Vue, and I think actually one of the reasons Vue got its popularity to Brian's observation and to what you mentioned is that it can actually be just imported in as a CDN package like jQuery and then layered top of whatever existing thing you have. And so to Kaelan's point, like at least earlier on I know, React required more build tools to get started. And so Vue being able to just import as a CDN allowed companies like GitLab to progressively migrate away from traditional everything server-side rendered to having some client dynamic interaction until they basically had enough of the app using the CDN that they could actually justify using build tools and taking that time to migrate. Kaelan Cooter: Not coincidentally, I think that's why angular fell out of favor is because the switch Angular two is just like, you can't transition here. Ben Hong: Yep. All or nothing. Yeah. That definitely made it difficult for sure. Brian: This is very diplomatic of you and I appreciate that. But I am curious, it's not really a competitive, when you're thinking about kind of what to do next and then you see like, okay, React did this or, pick your framework, did this, are you aware or is the team aware, is it a conscious like let's try to do it better than them or is it more like we're doing our own thing or just... I'm trying to think of how much kind of real estate other frameworks have in your mind when you're kind of looking forward? How does that work? Ben Hong: Oh, a lot. Brian: Yeah? Okay. Ben Hong: Yeah. I think to be honest, it's a bit like... I think when they talk about framework wars, I've never really been a fan of that concept, right, of who's better than who, because there's certainly arguments to be made for certain reasons like certain frameworks work better in certain contexts. And so as Vue kind of develops, one of the things, for example, we experimented with is so Svelte has has their own compiler. So they kind of write kind of non-standard JavaScript, which feels really weird for developers, but clearly with Svelte's popularity and this almost a question of should the syntax evolve to accommodate this new way of doing kind of instead of declaring your variables as like const variable, it's like you can declare a different type and they have their own compiler for that. Ben Hong: And so that was an experimental feature that was tested out in Vue 3 to kind of see how does this feel? Does this make developers' lives easier? Because in the end, right, frameworks are meant to abstract away problems that we don't have to solve every day. And so just as a way in one of the things I love about Vue for example, is there are directives. And so if you want to check if something should be visible, it's just like v- if, right? And then if you want to loop through something it's v -4. And to me, this is contrasting with sort of the React method of kind of letting you choose what you think will work. So you could technically to use a map to loop through elements, you could use for each, you could use a for loop. Ben Hong: And whereas I would argue that looping through elements, there's probably one way that's more performantly better, I don't want to have to worry about that. I want to just do my thing and move on. And so I think as framers continue to abstract concepts 100%. We pay attention to what's going on in the ecosystem because from that, then we obviously tried to iterate on that. And if it works just the way it is, I mean, because for those who have done Angular 1, Vue directives are basically a copy and paste, in my opinion of like what angular directives was. I don't think we've really iterated on it in that regard. So, yeah. Brian: Kaelan, how much do you think about the competitive frameworks? Or do you just pick one you like? Kaelan Cooter: I don't know. I think it for the paradigms, the concepts, not necessarily the factionalism. React appeals to me because everything is just, I don't know, simple to understand. There's not too many like complex, well, I guess with hooks being added there's a ton of complex things. But before that, everything's just JSX everything's an element. You can just, looking over a bunch of things, it could be a component. You don't have to bother with a directive syntax which might have bugs, which gives me flashbacks to Angular 1. I don't know, it's just philosophical difference. I don't like the idea of adding changes to the language, because then you come back to your code in five years and your framework of choice is gone and then like, oh, I can't read this. This is Greek to me. [inaudible 00:16:05] it's already happened to me in other frameworks and languages and I don't want it to happen to JavaScript. Kaelan Cooter: Although maybe with like macros or I don't know, something added to the language that would allow us to do something like this in a more controlled manner might allow these kinds of ideas to flourish. But I just don't see the point. Also adding another build step when build steps are already so complex is a trade-off that I think a lot of people is on their mind. Ben Hong: Absolutely. Brian: Okay. Let's pivot. Let's just talk about Vue straight up, Vue 3. Ben Hong: Sounds great. Brian: How would you pitch view to a React developer? Ben Hong: Okay. I would say up until this point prior to Vue 3, Vue 2 is like we took React and Angular and made a baby with it. Right? And then we have options, right? Which again, kind of run contrary to React, like everything is JavaScript. And especially with hooks, it was like kind of tricky, I think to sometimes reason about like these magic, which I think is one of the challenges that a lot of React developers have with Vue because it seems like these things that it does, at least it's not plain JavaScript. Its like Vue is doing something magical to it. In Vue 3 however, I would say with Vue 3's Composition API, it takes concepts that, for example, we were earlier Kaelan, you mentioned about hooks. And so for me having used hooks as well, it was kind of weird for me to have to like de-structure a reactive property into the thing I wanted to reference and the thing I wanted to mutate. Ben Hong: And whereas Composition API kind of simplifies that into a single API in that you call the thing that you want like you call it normally like you would any other Javscript variable. And then when you want to update it, you set it to a new thing like you would a JavaScript variable. And so I think for React developers, I would give Vue 3's Composition API a real try, especially with the new scripts set up that's come out. I think you'll feel a lot more at home compared to the days with Vue 2. Especially because also TypeScript integration has gotten so much better as well. So I think this'll be interesting to kind of learn from each other as time goes on. Kaelan Cooter: Yeah. Those are two good pain points. I feel like the amount of times when I've had to reference some deep blog posts about the inner workings of a certain hook to diagnose some weird bug that is just too esoteric for the React docs to handle, it's just too much. So definitely something to look out for. Ben Hong: Yeah. And the other thing too, I think for React developers, I think you all tend to have I think it's like a memo functionality to do caching. And I know that React sometimes does it weird, like triggering of render on accident depending on how things are dependencies. And so computer properties are the one things I highly recommend React developers check out from the Vue ecosystem and I think some people have tried to port that over to React because there's something really nice about having you declare something that's like, let's say that you have a bill that you're calculating, right? And you're adding items to the list with a total. Well, with Vue, you can create a computer property that's like the total amount that is the sum of all your list and then that way, that is a value you can refer to later on then to let's say, calculate the tip. Ben Hong: So then you can be like the total times 15% and that is a new computed value. And so it kind of does the memorizing and the caching for you automatically. And so it does that memory management for you in a way that it won't automatically trigger unless the dependency itself is triggered. And that I found really nice as a mental model because kind of like once we're managing state, state is already complicated as it is, I don't want to have to like track when something triggers like a mutation, that kind of thing. Kaelan Cooter: Yeah. Or like have the React hook docs on speed dial all the time, it's just getting laborious. Okay. So we handled Vue. Now, do you want to talk about pitching from an Angular developer perspective to cover all of our basis? Ben Hong: Yeah, sure. Kaelan Cooter: Since that's like a similar paradigm. Ben Hong: Right. Wait for Angular developers. I would say Vue is like a lighter weight version of Angular in the sense that we provide conventions for you so that you have an opinionated framework. So to Kaelan's point earlier, we do have directives that kind of keep you on a certain path, but then more importantly, we have style guides to enforce specific conventions as far as applying like dynamic keys, which to be honest are kind of like standard amongst frameworks now as a general whole. But otherwise I would say, because it's a lightweight version of Angular, this means you kind of have more flexibility to try things out that feel more like natural JavaScript in that regard rather than feeling like you're doing it the Angular way. So overall for Angular developers, I would say give Vue 3 a try and if you have questions, feel free to ping, but it should feel like a lightweight version of Angular I think the end of the day, Kaelan Cooter: Oh, one thing I wanted to talk about, tooling, because that's on everyone's minds especially in the last year. One thing I kind of like about the Vue community is that the tooling feels a little bit more like a nice package, that's the best way to put it. And that's kind of similar, I guess that's a deficiency in the React side because Angular has really competent tooling with the compiling for your templates and all sorts of features that they seem to add every year that I'm kind of out of date with. But I guess from a Angular developers perspective, that would be a hard sell if you were selling Vue to an Angular developer because they're familiar with all these tools. So I guess, how would that compare or is there a way that Vue does it better? Ben Hong: I haven't worked with Angular dev tools although I tried it I think with Angular 9 recently. I feel like the Vue dev tools, again, does try to pull from the React dev tools and Angular dev tools to really make it easy for you to kind of, one, inspect your app but also I think to your point Kaelan, what Vue tries to do as well is provide sort of more or less official support for certain libraries that you might conventionally use all the time. So that's why we have an official state management for Vue as well as official routing, which I know that, again, I think it's a double-edged sword. I don't think it's a disadvantage, but React has such an open ecosystem. It can be kind of paralyzing sometimes if you like which one I choose? So I do think that's a nice thing that Vue tries to offer. But more importantly, I think, I mean, if we're talking about tooling, I think we have to talk about the new ES build and Vite because that is impacting I think frameworks across, let alone just Vue. Kaelan Cooter: True. It's a one area that LogRocket's familiar with because we have a really huge, huge, huge tooling, custom setup and performance is a thing that we care about a lot. I'm glad that we're seeing more movement away from webpack and Vite looks interesting so on my short list of things to check out. Ben Hong: Yeah. I think one of the things I, as someone who's been trying to calm down the framework wars for a long time, it's nice to see the frameworks particularly Vue and React kind of gathering around it now. It seems like there are a lot of people in the React community who seem to love it and it's great to see that kind of everyone coalescing around the tool. Kaelan Cooter: You can team up to take on Angular. Ben Hong: There you go. Kaelan Cooter: So another thing we wanted to talk about, I guess I was just wondering what's next for Vue after Vue 3.0, or what would you prefer the next focus area be? Ben Hong: So right with Vue 3 having been released, currently the ecosystem is playing a little bit of catch up. So a lot of our kind of like meta frameworks, so nuxt for example, which would be next in the React ecosystem, that is I think they're coming out hopefully with Nuxts 3 soon. So we're looking for kind of support from there as well as some of our major component libraries like Vuetify, which is our material implementation in the Vue ecosystem. But in the meantime, I really looking forward to seeing what the community's going to do with the new TypeScript support because since Vue 3 has been rewritten from the ground up with TypeScript, I think we're going to see a lot more interest as far as like how to leverage that well and other external libraries. And so for me, it's all about the tooling and with Vite now also coming into play, I really want to see like the developer experience of it kind of improves. Ben Hong: So for example with 3.1, we've released a compatibility build, which will allow people who have Vue 2 to actually try to progressively migrate from Vue 2 to Vue 3 rather than having to do a complete rewrite. And yeah, and Vue tries its best really when we went from two to three to not rewrite everything that you once knew, which some people may have done in the past, we shall not mention, in all fun and games. So we try to keep the API as similar as possible so that you don't walk away with something completely different, but more importantly, we wanted to still give you all that performance boost so that's why Vue 3 as well as a huge performance boost compared to Vue 2. Ben Hong: And for those that are using TypeScript or thinking about using TypeScript, again, just wait till you migrate to Vue 3. It's not worth the implementation in Vue 2. But otherwise as we standardize around tooling and hopefully you can share that amongst the rest of the ecosystem with things like Vite that we just talked about. And so that's V-I-T-E for those listening. I think we should see some really interesting stuff happen within the ecosystem. Kaelan Cooter: Yeah. I'm reminded by the 100 page TypeScript with React guide and the conflicting blog posts that you can find on the internet like, oh, should you use React.fc or no, you shouldn't, you should use function components and everyone has their own idea and it's a huge mess plus you have to install it separately. So that's definitely an area where Vue seems to be doing more sane approach. Ben Hong: We're trying. We are certainly trying our best. Brian: What are the, if anything, what are the things that you would have liked to be in Vue 3 that either you didn't have the resources or time or you plan to. Are there, maybe there's nothing, maybe there's several things like, are there things? Ben Hong: That is a great question. So I think library compatibility was probably the biggest thing I would have liked to see when Vue 3 was released because as a result, a lot of people who can start evergreen projects did go straight to Vue 3 but a lot of people are waiting for those other library dependencies. So that would have been nice. But as far as features go, I'll say in Vue 3, a lot of our official libraries, one in particular Vue X, which is our state management library follows kind of the traditional Redux pattern that probably a lot of listeners are familiar with. Right? You have your state, you have getters and you have actions and mutations. Well, in the upcoming rewrite, so unfortunately, we couldn't get it time this way, but the library authors I believe they figured out a way to get rid of mutations and actually just detect them automatically. Ben Hong: So that way you have less boiler plate to write and you kind of just focus on solving business problems. And I think that's a lot of... I think Vue's philosophy is try as much as humanly possible to abstract away those things where we have to do over and over and over again. And the more we can be intelligent about that, I think the more that developers can spend time building interesting things and sort of solving problems we've already solved. Kaelan Cooter: I'm sold. Yeah. I remember the years when Redux and Flux became popular and it just never made more sense to me like, oh, well, all this verbosity is the right way actually. I don't think so. This doesn't feel right. Ben Hong: Yeah. I think it's funny when I think those, especially when they enter framework territory for the first time and with Vue, some of the criticisms I hear are like there's too much magic and what I think it's odd about that is magic to me just means that things have been obstructed and I think every library to some extent has magic, unless you're literally writing everything at the compiler level, there's going to be some magic. And I think it's just as developer is getting comfortable with like the right level of abstraction and having escape hatches is the key, right? Because I think a lot of times developers were afraid of getting locked into something and not being able to get out. And I know that at least as long as I'm on the team, I would want to make sure that any conventions we introduce have ways for people to break out of it because we can't anticipate every case scenario. There's this way for us to do that. Kaelan Cooter: People rarely complain about the magic when it works. Ben Hong: Yep. Brian: Yeah. I wish the criticism that I got on the stuff that we write was like this is too magical. That is not the criticism I get. Usually it's like, you are very wrong. Ben Hong: But usually I will say that people who are saying... Vue, the so-called framework wars, people are very polite when we are like make a small mistake. Except in of course, Rust developer. That's a different animal. They're very passionate about me being wrong and I'm like, all right, I'm sure you're correct. Kaelan Cooter: At first they are like, oh, I'm happy that people are writing about Rust and then they're like- Ben Hong: Wait a second. Kaelan Cooter: Yeah. Brian: I'm too afraid to keep going. I brought it up then I'm like, you know what? I think I'm going to back away slowly because I know what my inbox will look like after that. So is there anything else that we missed that we didn't talk about either about Vue 3 or just generally about Vue that like you wish more people knew about? Kaelan Cooter: Plug time. Ben Hong: Plug time. Well, for those that don't know, the Vue ecosystem takes great pride in its docs. So if you're looking for a place to get started, honestly, I'd recommend just checking out the official docs and there's an essentials guide section. And so I think the general rule of thumb that my mentors kind of told me, if you haven't tried Vue, try Vue like give it like a good solid hour, build something with it. And again, if you're coming from React, I specifically recommend you starting out with Composition API. It'll give you a better sense of what the ecosystem is about because I think one of the challenges when people evaluate frameworks and this is just a general commentary and tool in general is that they'll build kind of like a toy app with it and then they'll just make a judgment from that immediately. Ben Hong: And I think that's what's sometimes tricky about a lot of the way, especially Twitter, handles mass opinion. They'll be like, yeah, I tried it for this and I built this tiny thing and it's not the way it's supposed to be built, but then they make it a judgment on it. They're like, it feels too weird. And I think that's always so funny when it comes to developers and their opinions on those kinds of things. So give it a shot. If you have questions again, my DMs are open and if you have questions, if you're like, this is confusing, this doesn't make sense, I'd love to hear from you all because we're always looking for ways to improve the docs. So I think that's the main plug is to just give it a shot. Let us know if you have any questions. Brian: What's the best, like say you wanted to get involved somehow, what's the kind of the first, I mean, I assume actually doing the exact thing you just said is the first step. But beyond that, is there anything else that's worth knowing or is it just kind of your typical open source? Ben Hong: I will say the Vue community also tries to pride itself on being as welcoming, as inclusive as humanly possible. So we do have a discord channel, but more importantly, I think a lot of the library authors are always looking for consistent contributors to get involved. So if this is something you're interested in, file issues or again, reach out to me, if you have a specific project that you have in mind that you want to get involved with. You'd be surprised, a lot of open source, even though it seems like a massive ecosystem really consists of only a few consistent contributing members. A lot of people have this idea they want to contribute to open source and then the reason why you might feel like it's hard to begin with is because what we're used to as maintainers is seeing someone file an issue and we go, would you like to open a PR for it? It'll sit for like 30 days. And we'd just be like, okay, I guess we should just move on it. Ben Hong: Or what's worse is that your issue, a giant PR that we have to do a lot of work to test. And so it's really about just building that trust with maintainers and not just being like, I rewrote the library. It's so much better. Please spend weeks reviewing my PR. Start small and build trust and I assure you, there is a place for you in open source. There's so much... We need so much help and not just Vue. This is just a cry for help in open source in general. Brian: That's awesome. I'm glad I asked that question. Yeah, no, great job. Cool. Well, Ben, thanks very much for coming on PodRocket. It was a pleasure. Ben Hong: Thanks for having me. Brian: We'll see you around. Thanks. Brian: Hi, thanks for listening. Please remember to like, subscribe, email me if you want, even though none of you do. Go to logrocket.com and try it out. It's free to try then it costs money, but yeah, we'll see you next time. Thanks.