This episode is sponsored by...
Shownotes
Join us today as we talk to Ash Ryan Arnwine (developer experience leader for DataStax) about Getting Started Guides. Ash takes us through his experience with Vue, and how the guides in Vue 1 were the North Star for him when he was working with Adobe Creative Cloud. We discuss the challenges in migrating from different versions, and the downsides to Getting Started videos in place of text. Find out how keeping Ash's four-year-old daughter from sleeping is the highest praise the Vue team has received, and what each of the team feels is better: prescriptive or flexible guides. From picking the correct level to pitch your instructions at, to the different types of people defined as “developers”, you don’t want to miss out on this information-packed episode!
Key Points From This Episode:
- Welcome to Ash Ryan Arnwine, developer experience leader for DataStax and previously, Adobe Creative Cloud.
- Ash’s introduction to Vue and why it became the North Star for thinking about writing documentation.
- What makes the path from getting started to building an app clear.
- Finding the balance between prescriptive and “sprinkling in some HTML” in Vue.
- How Vue has a background framework beyond the beginner’s instructions.
- The importance of being able to access the full app code on GitHub.
- Picking the level of developer that your Getting Started Guide caters to (sometimes the middle-ground is the worst place to be).
- Why you need to maintain your Getting Started Guide.
- How to highlight important information that people might skip when reading the Getting Started Guide.
- The challenges of migrating from Vue 2 to Vue 3, and communicating it to users.
- Why it’s crucial to make a roadmap of where the app is going.
- How Vue’s completely honest self-appraisal won Ash over.
- Why videos are less appealing than documents about Getting Started.
- The naming conventions for Vue.
- Creating a community to talk about “software things” in different places.
- How to contact Ash.
- Discover this week’s picks from each of the team!
Tweetables:
“For a long time, I think Vue sort of became, in some ways, a North star for me personally, when thinking about documentation, and how do you orient somebody into a completely new technology.” — @ashryan_io [0:02:12]
“One thing that I've learned over time with just in leading developer relations and developer experience is that oftentimes, it's the sample code that turns into the most popular resource.” — @ashryan_io [0:25:41]
“Oftentimes, I think that the imperative is just like help people get started, help people get started, and we don't get a chance to step back and think, 'Okay, who are the people? What are they getting started doing?” — @ashryan_io [0:29:59]
“Developers are not a monolith.” — @ashryan_io [0:33:44]
"I think that when pondering developer experience, broadly, one of the things that is important to get to and be able to offer, but often isn't there at the very beginning is some sort of insight into the future, in terms of where things are going.” — @ashryan_io [0:46:19]
“Today, there's like so many awesome resources to learn. It's almost too much, right?” — @ashryan_io [0:55:34]
Links Mentioned in Today’s Episode:
- Adobe Creative Cloud
- DataStax
- Ash’s video with daughter
- The Breath of the Wild, Nintendo Switch
- Saturn Devouring His Son, Goya
- Twitter: ashryan_io
- Github: ashryanbeats
- Instagram: ashryan.io
- Website: ashryan.io
- Obsidian
- What You Do Matters: Boxed Set: What Do You Do with an Idea?, What Do You Do with a Problem?, What Do You Do with a Chance?, Kobi Yamada
Transcript
[EPISODE]
[00:00:11] ANNOUNCER: This episode is brought to you by Cloudflare Workers. For more, visit enjoythevue.io/cloudflare-workers.
[00:00:22] AR: Hey, everybody, and welcome to Enjoy the Vue. I'm Ari, and today on our panel we have Alex.
[00:00:28] Al: Hello.
[00:00:29] AR: And Tessa.
[00:00:31] T: Hi.
[00:00:34] AR: Our guest today is Ash Ryan Arnwine. Would you like to introduce yourself, Ash?
[00:00:39] ARA: Yeah, sure thing. Hi, and thanks for having me. So, I'm a developer experience leader. I was previously leading developer experience for Adobe Creative clouds for about six years and recently joined a company called DataStax. We offer Astra DB, which is a database as a service offering powered by Apache Cassandra. So, I'm really excited to jump in, because my background with you is pretty limited and it's been a fun little journey, getting the initial onboarding to it.
[00:01:11] AR: So how did it go? Where did you start?
[00:01:17] ARA: I think, the first time I started with Vue was back when it was still Vue 1. It was before — well, I'm trying to think, it might have been before I really started doing much with React even. But I remember it might have been perhaps a Saturday morning, like in 2016, maybe 2017. I don't remember the exact year, but I just happened to wake up late and for whatever reason decided, you know what, I want to read the Vue docs. And, to my surprise, you could just pull up the docs for Vue on a phone and it was really approachable, like super readable on a phone. But also, I just felt like the the overall introduction, and the kind of initial orientation into the framework was just super readable.
So, for a long time, actually, I think that that sort of became, in some ways, a North Star for me personally, when thinking about documentation, and sort of how do you orient somebody into a completely new technology. That having been said, I didn't spend much time playing around with it, just because job kept me busy focusing on other areas at the time, but I always kind of thought back to that experience and held it in high regard.
[00:02:37] T: Yeah, I feel like I remember us talking about you trying it around that time. And then again, we both went through the getting started guide in like 2018 or 2019. That being like a very different experience. I remember you tried another framework, and you liked their approach, compared to like the Vue getting started guide at the time. There was some kind of like, interactive code editor. Does that sound familiar?
[00:03:03] ARA: Yeah, it does. I remember going back and I think around that time, around 2018 2019 or so, again, working for Adobe Creative Cloud, a lot of what I was working on in terms of developer relations at the time, when it came to front end was really about how to put user interfaces inside of plugins, or extensions for Creative Cloud products like Photoshop, and Adobe XD, and so on. I hadn't really been in the front-end worlds for the web for a good while at that point. I had need for it at the time. I don't remember what it was. I had some sort of small project I was working on. And I thought, “Okay, great, let's have a front-end framework.” And I want to be able to grab something off the shelf that at that point, I think it was, Vue was in Vue 2 and React was on whatever they were on at the time.
I think it was around close to the time where it was starting to shift into 16.8, with hooks, and all that fun stuff. So, I think what I found was in both places, or in both of those frameworks that I looked at, it felt very much like things were in a transitional phase, if you will. They weren't kind of where they had been, but they weren't quite where they were trying to get to. I don't quite remember the specifics about Vue or even React exactly, but I just remember thinking or feeling a level of frustration about how much stuff I needed just to put some elements on the page. Things like working with build scripts and thinking through — it just felt like there was a lot of layers before you've actually got that initial, “Alright, I'm making something.” I think that's probably where you and I connected. I think for Vue itself, it just wasn't totally clear to me like how to go from that initial getting started to actually building an app.
[00:05:12] Al: Interesting, because I think a lot of the docs at that time had started off with the like, “Oh, you can sprinkle this in in your HTML file and it'll just work.” So, it's interesting that you went, like full on build script. Because I remember at that time, like there was — I think Evan is still asking this question like, is it better to introduce people to the build scripts first? Or is it better to like, do the peppering in over HTML and whatnot?
[00:05:43] ARA: I love that you all are talking about this, because for me, I think that — in some ways, perhaps the answer is both. But even with the current onboarding experience with Vue 3, which I actually enjoyed, what I left with is perhaps…
[00:05:58] T: Spoiler alert.
[00:05:59] ARA: What? Spoiler alert? Oh, that I enjoyed it? Yes, I enjoyed the Vue, although I definitely had some moments here and there where I had some things that I almost wanted to ask you all about. But one of them was that, and I think that sometimes when onboarding developers into a new framework, or a new technology, the debate typically comes up. How prescriptive do we want to be about how you can use this technology? I think, depending on the technology in question, especially where frameworks are concerned, sometimes you can sort of, the technology almost moves you in one direction or another. We're going to be hands-off developers, you can do what you like, or we're going to be pretty hands on, because maybe it's a lot more batteries included type framework, and we're going to show you the way that you should be doing things.
I think, at least with something like Vue, where it seems like, again, that sprinkling in some Vue into your HTML, I think was how you described it. That feels very much like currently, what the onboarding approach tends to favor. What I think I was hoping to see at some point, and this actually goes back all the way to the Vue 1 docs for me, is once I have that initial onboarding, and by the way, that that first section in the docs, I can't remember what the name of the section is off the top of my head. I think it's just…
[00:07:34] T: I think, Getting Started or something?
[00:07:36] ARA: Yeah, Getting Started, right? That’s typical, right? Or actually, no, it's The Essentials. So, I got went to docs, and went to essentials. And once you are past installation, just read through the introduction and follow all of the sections there all the way through to component basics. That stuff is fun to read. I think that was largely, even though I'm sure the content has changed drastically, just because you're on version three and not version one anymore, that was an interesting onboarding into the different pieces of the framework at a very high level.
From there, what I think I was hoping to see both with the Vue 1 docs, and currently with Vue 3 is great. How do I just adopt this whole hog? And where do I get a perspective on how to structure my app from the beginning, assuming that I'll just be using Vue as a framework for the whole thing? That's where, at least for me, I felt that I really needed to do some digging. Probably the closest thing that I found to that perspective of this is how you could bootstrap an app, and this is the recommended Getting Started structure was the CLI output. So, I can create a new Vue app from the CLI. And it shows me at least sort of a basic scaffolding, if you will, of how I might start building just a Vue app from the start.
I guess, just kind of coming back to the higher level with the question being, do you want to be hands off with developers and not lead them too much because you don't want to stifle sort of their creativity or make them assume that they may not have options that they actually have, versus perhaps someone like me who's still pretty new to it, I'd actually like maybe a bit more hand holding into actually building a full application, even something super basic right from the start.
[00:09:54] AR: I think, and for me, when I was getting started, it was with the intention that we would be rewriting our entire app in it. So, I already knew I was going to have to go whole hog. And you're right, I very much like, when somebody shows me these are the proven best practices, this is what we have found works after working with it extensively. I do agree that the docs missed that a bit. However, I did find out that the same person who had created most of the Vue 2 docs had also created a repo called Vue Enterprise Boilerplate, which was very prescriptive. That was honestly, how I got into being able to really navigate around a Vue repo.
[00:10:46] Al: Yeah, and I know that with Vue, there's a lot of stuff where it's like, okay, you can kind of, as long as you have your single file components with the script section, in a template section, in a style section, then you can kind of do it however you want to. If you want to use Pug, use Pug. If you want to use…
[00:11:08] T: I don't use Pug.
[00:11:09] Al: Don't use Pug. But you can if you want to. But if you want to use TypeScript, you can use TypeScript. If you want to use whatever, as long as you kind of get it to do whatever you want to. I know that there's other frameworks out there that are built on top of you, like Nuxt, where it's very prescriptive. It's like, “No, your pages go here, your components go here, your mixins go here, this thing goes here.” And they're very like, “This is how you're going to organize things.” And then they're doing magic on the back end to kind of make all of that happen. So, I think that there's a nice sort of variety and like, “Okay, if you want it to be extremely prescriptive, you can find something that's extremely prescriptive.” But you have to know that it's there, right?
[00:11:52] T: Well, with my very brief experience with Nuxt, I don't know if I would call it prescriptive so much as it's more like, “Do you wish that you had the Rails experience on the front end?” So, if you don't put things in those folders, then it's not going to, like magically populate everything. But I feel like that's a little bit different to prescriptivism.
[00:12:11] Al: Right. But in a code base that you make yourself, you could have your pages all over the place, and then pull them into a router from wherever they are, right? They don't have to be. So, having that organizational structure is like Vue doesn't say that you need that organizational structure. Nuxt says you need that organizational structure.
[00:12:35] T: Yeah, I mean, bringing it back to like the Getting Started Guide, I feel like speaking of organizational structure, that's one of the things that is hard about it, like there is this question of where should we start. But I think it could also be resolved with like, just split them into two experiences, because that's basically how it is. But it's almost like, we don't want to acknowledge it, because I just looked through the intro of the Vue 3 docs, and it looks like that part of like, “Okay, now you know how to do it on like an HTML page. Now, let's introduce you to moving it towards like a full app through the CLI.” That page is not there. And that's one of the things that I feel like has been frustrating through iterations of the docs for a few years where when you're searching for how to do something, it's it's never quite clear. Are you looking at the HTML thing, or like the app thing? So, I feel like just how you have the different versions, like the Vue 3 docs, and the Vue 2 docs, just have like the HTML page docs, and then the Vue app docs because it gets really confusing.
[00:13:41] AR: Whenever I see like the new component. I'm like, “I don't use that what?” So, I’m like having to translate it in my head. No, I totally agree. Because people will generally know what their target is when they're starting. Are they going to be trying to build a full app? Or are they just sprinkling it in? And yes, you can't please everyone. But there are pretty — it is going to be those two distinct camps. And I totally agree, I wish that there was something geared towards people who already know like, my app is just going to be Vue.
[00:14:13] ARA: Yeah, I think that that would be beneficial. I would be interested to see how many people take the sprinkled in approach versus the build from scratch approach. Just to see, I mean, I guess, coming at it from just a basic onboarding, so I can build a small app approach. The notion of sprinkling it and a little never really occurred to me in the first place. But I suppose for people who have existing apps who are trying to make incremental improvements, if you will, like I guess this sprinkle in approach is also important.
That said for, let's say, coming from the Getting Started Guide, where there are a lot of these helpful CodePen examples, those are super helpful in showing me what I believe is probably more of that sprinkle in approach. Once I got past that, I wanted to just open up — at first, the next approach for me was to see if I could just reproduce that Getting Started Guide, but starting with a blank folder. So, go into VS code, fire up a terminal, I wasn't sure what files I needed. But according to the CodePen, I needed an HTML file, a JavaScript file and a CSS file. So, make those and then from there, it was already clear to me that there was more going on in the CodePen than I could see, if you will.
So, the sample code itself, if I were just to put all that into VS code editor and try to run it somehow, that wasn't going to work. So, making that leap from just seeing the CodePen examples, which I think have some, I wouldn't call it magic, but they've got a little more going on in the background, then they're exposing to the user for, obviously, for learning sake. But going from that to having that same experience built up in my code editor, would’ve been really tough for me, I think, if I hadn't remembered that there was a CLI for me to go to or I could just — I don't remember what the command is, I think it's create Vue app or something like that.
[00:16:32] T: Yeah, I mean, even with the HTML experience, I feel like they're kind of trying to straddle two different kinds of users, because, well, “We want to have it really light for beginners”. But then they're also just like, “Here's how you make components in an app”. And then, if I'm new to Vue, I remember this, I'd be like, “Whoa, I don't know where those come in.” Okay, I get why I need a component because I had some experience with React and Angular JS at that point, but like, when would I make this app thing? How does that all fit in? And that's kind of missing and, maybe somebody would say, “Well, it's not Vue’s job to teach you like what a spa is.” That's like, “Okay, but then it's unclear who the target audience of this starting experience is supposed to be exactly.”
[00:17:17] ARA: We'll also to just play devil's advocate here in defense of the guide, because again, I thought it was incredibly useful for what I needed at the beginning. It has to do the hard job of pulling certain pieces that are, like basic knowledge that you need, and presenting them in the abstract enough to where you can at least, kind of understand what's going on. Or I mean, I want to take the “kind of” out of there, you totally understand what's going on. And if you saw the little video, I made, with my four-year-old daughter going through this, which wasn't planned, it just sort of happened that I ended up recording our conversation. That literally was me going through it the first time and just kind of grabbing things and plugging them in. I was successful with that without really having to struggle.
So, it's really less about what's that initial sort of, these are some of the basic parts of the framework and more of, “Okay, now that you know that, where do you go from here?” Well, at least in the essential section of the docs, the where do you go from here is a further deeper description of various pieces of the framework, which is great and I enjoyed reading that. But I don't think it dovetails into sort of, “Okay, great. Now, you know how great this is. Let's show you how to put this all together in an app.”
[00:18:40] T: So, they evangelize you, but then they don't empower you to actually do anything, it sounds like.
[00:18:44] ARA: Yeah, I suppose. I think honestly, it's not that the pieces aren't there. It's just that I had to find them. And again, I'm a big fan of CLIs in general. So, knowing that I can go to a CLI type of command and bootstrap an app, you've already won me with that. It's just I need to know it exists. I don't see a path to that right now.
[00:19:08] T: Yeah, like I was telling Alex a few weeks ago that I was trying to go through the Vue 3, get started from scratch stuff all over again on a new machine. They were like, “Install the CLI.” But then they don't tell you the command to like get everything started. So, I ended up trying Vite for the first time just because that was the only command on that page versus like, okay, then I would have to go to the CLI page and then look who their Getting Started Guide. I'm like, this is literally the Getting Started Guide. Why are you making me go find another page on my own?
If I recall correctly, I feel like that was one of the frustrations when you tried Vue. The second most recent time was that they were in the process of like trying to decide what do we want to split out. So, a lot of things were scattered and I think also like they had code samples but the other framework that you sent me, they have like, it wasn't CodePen but it was a similar like online editor embed and you could click on it and it would take you to like a full running instance of that framework so you can play with it. And the Vue docs didn't really have that equivalent. So, it was really like copying and pasting and hoping that you put everything in the right place.
[00:20:13] Ar: I'm super curious, what framework or are we just not going to say?
[00:20:16] T: I don't remember. If I remembered, I will say.
[00:20:21] ARA: Actually, I was then also thinking, okay, am I not supposed to mention the other ones because I know I named React specifically. I know, in the last few years, especially at that time, I was kicking the tires on React right around the time that they were moving away from classes and into functional components and hooks. I may have also tried Svelte, I've tried that a few times over the years, but I don't remember how deep I got into it.
[00:20:49] T: Yeah, it was a framework I'd never heard of before and I kept on forgetting it, like I've never gotten — comparing it to React, I feel like a lot of React people are like, “Oh, I like Vue, because it's really prescriptive”, or they don't like it because it's too prescriptive. And I always feel surprised, because I feel like I can do whatever I want and Vue, and for me another another area that I find kind of frustrating is like this style guide is way more prescriptive than the docs. And then the last time I played with a linter, the linter was even more prescriptive than the style guide, but claims to follow the style guide, and it didn't and that really irritated me.
So, I don't like that these are surprises. If you look at the Vue samples, a lot of them don't even follow the style guide. It's kind of unclear how all these pieces fit together or what I'm supposed to do and they don't — the last time I checked, there wasn't really like a going through the docs and be like, “Okay, here's the style guide. Here's the enterprise boilerplate.” Or even the last, last time I think we had a chat about the Vue docs, there was discussion of like, “Oh, docs are really great. If they prepend, like, here are the prerequisites or things you need to understand.”
For example, in the intro, they could be like, you should know what components and like single page applications are and stuff like that. As far as I know, they don't really have that stuff in there. But I could be wrong. They might have it somewhere.
[00:22:12] ARA: Yeah, it maybe. I mean, I see at least in the introduction that it like mentions single page applications. I know at some point, it talks about web components, although I don't know if it talks about it right at the top. But it's interesting to get a chance to try things right there in the browser. But let's say for example, like with the samples, so at the — again, for anyone listening that's involved in docs for Vue, by the way, again, just kind of jamming on what's already in my book, like a good experience. I mean, I was able to get to success and I enjoyed reading through it. I felt like it wasn't talking above me or kind of below me. It was just kind of like right at the mark for what I needed when I needed it. Until I wanted to actually jump, make the leap and start building my own app.
So, I think that one thing that I was really hoping for, that I didn't see was when you initially go to the docs drop down, you see, okay, there's a guide, and a style guide, and a cookbook, and examples and so on. This is cool. It kind of gives me an idea that like, that's probably the higher-level roadmap that I'll follow. Once I get far enough in the guide, I'll probably start to cherry pick different pieces of the onboarding experience that I'm interested in. But what I was — and again, this is just me, but from what I was expecting to eventually do was to click on examples, and go to GitHub and grab those reposts and start playing with those.
Instead, what you have here is a CodePen editor, which is nice to be able to play with. But again, based on what you have here. So, let's just take for example, like the markdown editor example. If I go to that example, which is the first one in the list, I see in the HTML file, there's like a single HTML, single CSS and single JavaScript file. And again, this may be my ignorance of how to use CodePen. But all it gives you code sandbox. All it gives you is like a div at the top.
So, I think, Tessa, you may have been making this point earlier, but okay, so that's super clear for me from a learning perspective, that's wonderful. However, if I want to make the jump from that into, again, like rebuilding that experience in my code editor, I don't know where that div goes. And I also have to assume that somehow, we're pulling in Vue as a dependency, and so on and so forth. I'm not seeing that anywhere here. So, what I would hope for is to be able to actually go to GitHub and get like the full code. I did try to go to GitHub and look around for it, but I didn't see anything like that.
[00:24:52] T: Yeah, I forget this CodePen let you run a fall like Vue app now.
[00:24:57] Al: Sort of. They have single file component editor. So, you can actually build single files components on CodePen and you can import them into each other. You can like build one over here and it does this one thing, and then you can tell the other one, okay, import the URL to that one, and then you'll be able to use it. So, it's not quite that.
[00:25:17] T: Yeah, I mean, it would be nice if theoretically, just with the parameters we've set up here, it does seem possible to have a full running app instance online that you can post snippets of into the docs. And I agree that that would be helpful if you're like, “I don't quite understand this. I'm not getting the info I need from the docs. So, let me look at the full app to see the context of this thing.”
[00:25:41] ARA: For sure. One thing that I've learned over time with just in leading developer relations and developer experience is that oftentimes, it's the sample code that turns into the most popular resource.
[00:25:58] T: Can you say that one more time louder for the people in the back?
[00:26:02] ARA: Sure, I'll say it again. But yeah, oftentimes, it is the code samples that become the most popular resource for developers. And there's a definite double-edged sword there, because I'll tell you, like the negative piece of that can be that code that you commit to your samples will eventually come back to you as a question on Stack Overflow or on your support channels, or wherever else. I've written code in samples that eventually comes back as part of support questions relating related to production apps.
So, you really have to be careful about like what you put out there in terms of samples. At the same time, I've heard this directly from people, from developers as well, just seeing where people go based on the traffic. It's oftentimes the samples. Especially for developers at certain levels, they just want to go, maybe it's not a level thing, right? Maybe it's more of a learning style thing. But there's definitely a lot of people out there that are just like, “Okay, get out of my way and show me one way that this can work in a larger context.”
[00:27:11] T: Yeah, it's interesting, because I feel like that's part of the confusion for me with the Getting Started Guide, is it seems ambivalent about do we want to address the type of developers that just need to see the code and they're good to go? Or do we want somebody that wants a fully guided experience? So, they kind of do a little bit of both. I feel like between the sample code and having the guided experience, people can find their own way. But halfway between, it's harder to bridge that gap.
[00:27:34] ARA: Yeah. This is a really hard question. One that I've never been in terms of like working on onboarding developers to a particular API, I've never worked in a context where this doesn't come up, right? So, in other words, there are so many people, so many personas, if you will, coming in who are trying to do different things. How do you offer them all a path without accidentally getting the wrong people on the wrong paths, or confusing them at the top, at the front door? And it's something that even today I'm thinking about at DataStax and it's something I thought a lot about with a lot of great colleagues at Adobe, in terms of like — say for, in our case at Adobe, I think it was a particularly interesting challenge, because we could say, “Well, okay, we're targeting developers.” But as soon as you said the word developer, you had a bunch of people in our ecosystem, who were building stuff, but didn't identify with the word developer, maybe they considered themselves scripters. Some of them didn't identify with any of these technical terms. They were creatives who had happened to learn just enough JavaScript to get something done and they were fine with that. That was as far as they wanted to go. If you said the word developer, they were assuming you weren’t talking to them, even though you were.
So, for us, you can imagine the the challenge of saying, “Okay, we want to be able to effectively onboard people on this spectrum from I don't really know JavaScript, but I know the core application like Photoshop very well.” All the way to maybe I work in a large enterprise, and I'm on a small engineering team who has been assigned the job of building a plugin that connects to our asset management service internally. Those people coming in are very different needs, and they have very different skill sets that they're bringing to the table. And so, for what it's worth, the fact that maybe it seems that the audience isn't specifically defined in the Getting Started Guide, it's probably just because like, I mean, it's an incredibly difficult challenge to figure out without really kind of starting from, I suppose first principles, thinking about who you're trying to enable and what jobs they're trying to get done. And then and then building from there.
Oftentimes, I think that the imperative is just like help people get started, help people get started, and we don't get a chance to step back and think, “Okay, who are the people? What are they getting started doing?”
[BREAK]
[00:30:10] ANNOUNCER: Previously on Cloudflare for the dramatic.
[00:30:14] SPEAKER: I needed application, and I needed to be serverless.
[00:30:18] ANNOUNCER: Now, with a startling conclusion to Cloudflare for the dramatic.
[00:30:24] SPEAKER: The client needs to be able code secret API's from around the world. What are we going to do?
[00:30:31] SPEAKER: I think they said secure.
[00:30:33] SPEAKER: And on top of that, they have to be secure.
[00:30:37] SPEAKER: Well, Cloudflare Workers…
[00:30:38] SPEAKER: He could get 100 or 1 000 000 customers who even knows, how are we going to support all of that?
[00:30:47] SPEAKER: So, Cloudflare workers, still.
[00:30:49] SPEAKER: Plus, if the site takes too long to load. He says that could cost him thousands, maybe even hundreds of dollars in sales.
[00:30:57] SPEAKER: Actually, Cloudflare Workers have no cold start.
[00:31:01] SPEAKER: And he expects all of this to work around the world?
[00:31:08] SPEAKER: Like I've been trying to say, Cloudflare Workers supports all that. There’s an edge based serverless platform without cold starts or maintenance overhead that allows you to deploy code around the world for exceptional performance, reliability and scale. To learn more visit, enjoythevue.io/cloudflare-workers.
[00:31:31] SPEAKER: Okay, thank goodness with Cloudflare. My hero.
[00:31:45] ANNOUNCER: Join us next time for another episode of Cloudflare for the dramatic.
[00:31:50] T: Are you dying?
[00:31:52] Al: No, I'm not dying. We're doing a recording of thing for Cloudflare Workers.
[00:31:57] T: Are you sure?
[INTERVIEW CONTINUED]
[00:32:01] T: I think also just like, it would be nice if there was a little bit more discoverability like putting more opportunities in the docs to stumble upon the style guide or stumble upon the cookbook. Really the only time I check the cookbook is if Sarah tweets like, “Oh, I made this new example.” I'm like, “Oh, yeah, that exists.” Versus like, there's that like, I don't know, television drama, like CW type trope, where you like, accidentally leave a mitten at like your crush’s place or something. So, they'll have to bring it to you. I want that kind of experience in the guide where they just like, casually throw out a mention of something in the style guide or something in the cookbook, and be like, “Look at this thing”, and kind of have it be a more integrated experience.
Because I think that is one thing that some other framework and library users like about Vue is there's like an official router and an official CLI and they're like, “Oh, it's all under one umbrella.” But everything is actually kind of distributed across separate websites, like the CLI has its own website. And then they don't really pull everything together in a way that somebody new that doesn't know about all of the innovative stuff. It’s like, “Oh, yeah, there's this thing and that thing.”
[00:33:09] ARA: Yeah, it's an eternal challenge. One, that by the way, once you start doing then turns into the sort of tricky maintenance thing as well. So, if someone over here changes something, and this person over here isn’t aware of that, then now eventually, you end up with like broken links or deprecated resources that eventually don't exist anymore and that kind of thing. It's interesting, I mean, in a good way, how we all — at least we all bump up against the same good problems. But it is interesting that there's not sort of one silver bullet for solving them.
[00:33:44] T: Yeah, even with developers. There's such a broad spectrum. I was in a meeting about developer personas and I was like, “I know so many developers that don't fit any of these. How are we defining developer?”
[00:33:54] ARA: Yes, developers are not a monolith is sort of a continued rallying cry for different contexts I've worked within. I think, of course, it's not that people don't know that, right? Of course, we know that developers are not a monolith. But in the day to day when trying to get stuff done, can be easy to fall into that pattern of talking about developers, when in reality, maybe it's good to at least have some notion of what larger, even if they're not really clearly defined personas, even if it can be enough as a start, just to have an idea of like, for lack of a better word, what buckets of types of people are coming in.
Ultimately, what I think helps even more for me and what I spend more time thinking about these days is really like, what jobs are people trying to do? What are they trying to accomplish? And see if we can provide intentional and deliberate paths based on those things.
[00:35:00] T: Yeah, or maybe at least like over document and over communicate, but give really clear like roadmap or escape hatches so people can be like, “Oh, I already know this part, I can skip it and go to the next thing.”
[00:35:11] Al: Yeah. It's sort of like, the challenge with that, of course, always is the like, “Oh, yeah, I know this part. But actually, there's that three sentences down at the end that I don't know that I don't know”, and missing that completely. That has happened to me so many times.
[00:35:32] ARA: Totally. That almost happened to me actually going through the docs here. Because when I was first going through the Getting Started Guide, one thing that jumped out to me at a syntax level about Vue is that when you are writing, you're referencing property values on an HTML tag, that are going to come in from say, like, and again, excuse me, if I get the jargon wrong, I will try to explain this, the way that I understand…
[00:36:00] T: I thought you were a developer?
[00:36:03] ARA: Not a Vue developer. So, I want to make sure that I'm using the right words here. If you are bringing in a value into an HTML property, unlike other frameworks that I've seen, you end up using double quotes, and then just verbatim writing. So, for example, like if I was making like an item in a list, I might have something like on the HTML tag, colon, item, equals, or sorry, colon, name, equals, and then in double quotes, item dot name, which at first kind of threw me for a loop when I was doing the Getting Started Guide. But typically, my approach to getting started is like, you have to suspend disbelief, because you can't learn everything at once. So okay, there must be a reason why that's like that.
But it turns out, instead of using mustaches, like you might in other frameworks, when it comes to the attributes on a tag, like an element, you actually end up using double quotes instead and then just writing in like the object and property name verbatim there. I was kind of going back to that previous point about missing those two or three vital sentences. I almost skipped that entirely, except there was a section in the docs talking about just this topic. And then at some point, it said, “Okay, when you are putting props onto an element, you use double tags, and not mustaches.” And I think it explained why, I don't remember off the top of my head. But I think that was like the the most useful, like nugget of information on that page for me at the time was like, “Okay, so there is actually a reason for this.” And just based on the fact that I also knew that that's actually explicitly a rule in Vue, kind of helped me move on without really having to think about it much after that.
[00:37:55] T: Yeah, I guess when I think about the struggles when I try to go back to React, it made sense. But it's so funny to me, because I think part of the motivation was like, because you're talking about the attributes that you pass to directives, it sounds like. So, it’s like on an element in the DOM, let's make it look like HTML attributes. So theoretically, it should be familiar, because it's like, “Oh, it's just like HTML.” But I think that's something I hear a lot and also like, that everything is under this context, but that you don't need to explicitly say that in the template, or the HTML part that throws or sometimes upsets people a lot.
[00:38:31] ARA: That's a good one. I actually saw that somewhere early on in the experience, too and this thing. I looked at that, and I said, “Okay, the framework is doing something here. I don't know what it is, but I get the result. I understand what the result is. So, I'm going to let that go for now.” Again, like suspend disbelief, it's clearly doing something that I wasn't expecting, but I could adapt to it. And then again, later on, on some other page, there was a paragraph kind of talking about that a little more, and also explaining, I think it was in the context of like, why you shouldn't use arrow functions.
[00:39:08] Al: Yeah.
[00:39:09] T: Yeah.
[00:39:11] Al: In Vue, there are places you can use arrow functions and there are places that you can't use arrow functions. You have to know if you're going to use arrow functions. You have to know when you can and when you can't.
[00:39:22] T: And also places where you can use functions versus objects.
[00:39:25] Al: Yeah, that too. So, it gets tricky.
[00:39:30] ARA: Oh, it’s handy to know. Yeah, because I'm just default arrow function everywhere. So, when that's not something you should be doing and, it was clearly obvious even from the, I think from the getting started that that was being avoided or whatever the word might be. I wasn't seeing arrow functions where I might have put them and so I thought, “Well, there's probably a reason for that, too.”
[00:39:53] T: That's a good thing to call out.
[00:39:54] Al: Yeah, you can't bind this to, and arrow function is the short version of that. Because it always looks to its parent context.
[00:40:06] T: I thought you could find it, but it's not automatic.
[00:40:09] ARA: Is it okay if I ask a question?
[00:40:10] Al: Yeah.
[00:40:15] T: Of course.
[00:40:16] ARA: I'm really curious because I almost went down the wrong path from the get go. Because you go to vuejs.org, and then I just clicked the Get Started button and took a second. But I realized that I was actually looking at the Vue 2 docs. So, I'm just curious, like, is Vue 3 like GA at this point? Or is there still transition? Do developers tend to expect to be working with Vue 2 by default, when they show up? I'm just curious, why the Vue 2 docs load by default?
[00:40:50] T: I mean, the framework itself is GA, I think, is the short version.
[00:40:55] Al: Yeah, the short version is Vue 3 is GA.
[00:40:59] AR: Who wants to define GA for people who don't know what it means?
[00:41:03] T: General assembly, the bootcamp, obviously.
[00:41:05] Al: General availability, so it's, it's generally available to everyone. So yeah, they are slowly pushing people to be like, “You should really use Vue 3.” The challenges…
[00:41:21] T: Challenges are.
[00:41:22] Al: The multiple challenges are one of the primary ones is the ecosystem has not caught up yet.
[00:41:28] T: Do we have a good migration path yet, if you already have a prod app in Vue 2? I feel like that's still in progress.
[00:41:36] Al: It’s technically a migration thing. It says a page about it somewhere. It’s a thing.
[00:41:48] ARA: Yeah, I'm looking at it right now. It's actually, if you go to docs for Vue 3, at the bottom of that drop down, there's a migration from Vue 2.
[00:41:57] AR: Yeah. But that's all manual. Sorry.
[00:42:00] Al: There's a lot of stuff in Vue 2 that doesn't translate correctly to Vue 3, because I mean, it's a huge major version bump. They really changed like the underlying infrastructure of how Vue works rather dramatically. So, some of it is backwards compatible, and some of it isn't, and that's — it’s a very hot topic.
[00:42:25] T: Do people still go there?
[00:42:29] AR: I, for example, use Vue 2 in my day to day.
[00:42:31] Al: So, at this point, I think most things are still running on Vue 2.
[00:42:35] T: I think also, at least the initial plan was have the Vue 3 docs live at vue3.vuejs through the end of 2021. Maybe it was 2020 and I'm blurring years, but I think it was like for at least the next year, after they announced that they wanted to keep it in this separate URL, before making it like part of the main page experience.
[00:42:56] AR: I think there was also a lot of miscommunication about what the migration experience would be like. I know that from Vue 1 to Vue 2, there was an actual migration tool that you would just run on your code base and it would basically be like, “Here are all the things you need to change.”
So originally, that was what we were told to expect. But then the person who was building that took part at the Vue core team, and I guess nobody decided to pick that up. And so now, I personally I’m like, “What? What do you want me to do? I can't. I want it to be easy. If you don't make it easy, I'm just not going to do it.”
[00:43:39] T: Yeah, it was supposed to be really full coverage. It's a shame.
[00:43:41] ARA: Yeah, it's always a big ask, I mean, to make these kinds of migrations. And we certainly had to do our fair share of that at Adobe as well, when we rev on our in-application API's. I think that there — when working on a team that's putting API's out into the world, the excitement of that can really sometimes cloud your visibility into the fact that like, no developer, probably, or very few developers are waking up in the morning thinking, I want to spend a week or a month or whatever it is migrating to some new version of whatever API I'm using.
So, I think at least it seems really awesome that Vue is taking this softer approach, it seems to encourage developers to migrate in terms of like long timelines and all of that, because the reality is if you've got people using your API's in a production setting, it’s like people, companies plan their roadmaps by sometimes, at least at a high level across an entire year in advance and then by halves and then by quarters. So, if you were to say, “Well, we're going to give you six months wants to make a transition.” That's a tough thing, given that probably the developers have to go through product management to figure out like what their level of prioritization is, and figure out how the resourcing is going to work and all that kind of thing.
I think, when it comes down to just like the raw excitement and fun of API's, yeah, going to the next version, and providing new features, or a cleaner version of API's, and that kind of thing is, is always awesome, at least from my perspective. But when it comes down to, let's say, customers, or consumers of your API, their excitement as a developer can be muted, by the reality of the fact that they're working in a broader context with their companies.
[00:45:44] T: Yeah, I also wonder if it's affected by and this is a whole different episode. But the fact that Vue is not really like a company, I mean, like they bring in money, and like some people make their living with Vue. But it's primarily an open source project with like a team of volunteers. So, how does that product development get driven? How is it organized? I have zero insight into it, so I'm not going to claim I know anything about it. But it's a very different model to the people that are facing these questions about migrating from Vue 2 to Vue 3.
[00:46:19] ARA: Yeah, I think that when pondering developer experience, broadly, one of the things that is important to get to and be able to offer, but often isn't there at the very beginning is some sort of insight into the future, in terms of like, where things are going. I didn't actually dig into this at all. But I know that, again, like I've had to work on catching up to getting to that level of expectation in the context I've worked on thus far. But oftentimes, that's going to be a bare minimum, some sort of roadmap that gives people insight into like how are different features coming along? Where are they slated to eventually see light of day?
Also, especially with open source, I would think that probably there's also a component of how do we make sure that the right stakeholders in the community are able to weigh in before just going straight ahead with some changes?
[00:47:20] T: Or making it completely free for all for anybody to weigh in.
[00:47:23] ARA: Yeah. I mean, I can imagine that that's got to be a difficult path to walk if you're running an extremely popular project, right? Because at some point, and this is something that I haven't necessarily dealt with as much, because a lot of times, especially where Creative Cloud was concerned, a lot of our API's are so niche that, it's not that we knew everyone, but a lot of the people we were interacting with on a day to day basis, you would get to know by name. I imagine for a broader framework that can be used anywhere all over the world, in lots of different types of applications, how do you deal with sort of drive by issues or requests or whatever else versus perhaps folks who are a bit more committed to the framework for the long term? I'm sure that that's a challenge once you have a community that's operating at much more scale.
[00:48:30] T: Yeah. And then bringing that back to what you were referring about the function statement, or whatever, versus the arrow function, and also, like the sample code coming back to bite you. I think hypothetically, if there were a situation where like, I don't know, somebody was like, the face of a widely used tool or something and they just threw out some sample code or like a tweet about something, in the absence of other concrete information, or like the ignorance that that information exists, I think people, it's kind of like you're a deity. This is the word. This is the way. This person wrote this or said this, so it must be like the absolute truth.
[00:49:10] AR: So hypothetical.
[00:49:11] T: Well, in fairness, I will say all of Evan’s sample code that I've seen has been very thoughtful and deliberate. But I do think that that's something that just happens a lot in general. And that's like tough on both ends, or I guess all three ends, the people that do that, the people that make the things that people are inferring from, and also the people on the outside of that parasocial relationship that are like, “What is happening?”
[00:49:35] ARA: One page that I think used to exist and I'm not sure does anymore, but was also something that I'm not sure why, I'll have to remember but I used to come back to this as an example of something that I thought was quite interesting, at least in the Vue docs is the first time I recall having seen something like this was like a completely honest self-assessment of where Vue stood amongst other frameworks at the time. Again, I recall seeing this in the Vue 1 docs and maybe it's still here. But I thought was really cool.
One, let's be honest, we live in a world where people approach anything knowing most likely what some of their other options are. So, not just why would I pick this, but I recall Vue having a page in the Vue 1 docs something like why you might not want to use it. I always thought that was a really cool…
[00:50:33] T: I think it's the Why Vue JS page and they used to have it for Vue 2, as well. But it looks like they replace it with a video.
[00:50:41] ARA: Yeah, it’s funny. So, I did watch one of the videos and actually, I made some notes as I was onboarding and I thought like the intro video that I watched was good. I mean, that's literally what I wrote is like, “Oh, this video is good.” At the same time, if the one on the top page that says Why Vue JS, I clicked that and realized that I didn't have an option just to read it. So, kind of walked away from it.
[00:51:09] T: Yeah. I was just thinking that right now. Well, we can't skim it and see if it has that info or not. But I agree. That was one thing I really appreciated as well, like, seemingly honest review of like the pros and pitfalls of each framework. I found that really helpful. It informed one of my first talks like Vue versus React versus Angular JS. I was like, “Wow, so much of it is right there on the Vue docs, perfect.”
[00:51:32] ARA: Yeah. I think that right there on the front page, it says, it's approachable, versatile and performant. And I think those are great qualities of a framework. But I would also assume that a lot of frameworks might — maybe they don't frame it, their qualities in exactly the same way. But a lot of people are going to be — who wouldn't want a performance framework, right?
So, probably a lot of frameworks probably wouldn't advertise as being nonperformant. So, it is helped to provide a little bit of context. Now of course, it says right here, it gives you actually some numbers and I think that's awesome to be able to look at say, “Okay, well, it's a tiny runtime and in that kind of thing.”
[00:52:12] T: I don't know, maybe I'm weird. I think 20 kilobytes is too big. I wish there was a version of Vue that was like six kilobytes or less. Sorry, we just did an episode 50 Vue, and that’s — I said or less.
[00:52:28] ARA: Petite Vue.
[00:52:29] Al: Petite Vue is Evans answer to Alpine JS.
[00:52:34] T: Which was someone else's take on like things they liked about Vue and a handful of other frameworks.
[00:52:40] AR: Never nerd snipe Evan. He will win.
[00:52:44] T: Wait, okay, let's start building a migration tunnel.
[00:52:50] AR: Genius.
[00:52:50] ARA: It's cool that it's called Petite Vue. So, I've been to like the Vue NYC meetup, as Adobe Creative Cloud sponsored it when I was still on the team, right before the pandemic, if I remember correctly. I've also been to like, maybe, Tessa, you can probably remind me, but it was like one of the first maybe Vue meetups or it was a conference, the Microsoft center. I remember Evan speaking at that.
[00:53:18] T: That was like the first Vue meetup in New York. I don't know if it was the first few Vue meetup ever, or the first one that Evan was at. But yeah, that was a while ago.
[00:53:27] ARA: Yeah, that was an awesome event.
[00:53:30] T: Yeah, it was, but I was trapped downstairs because I offered to help letting people into the building. And then the other organizers forgot I was there and turned off their phones, so they could pay attention to the talk. So, I missed almost all of it.
[00:53:46] ARA: Life of an organizer, sometimes you end up sacrificing, enjoying the stuff that you've spent all that time putting together or helping facilitate. For me, that was like the first time that I was ever exposed to anything beyond just sort of the core Vue framework. So, I remember perhaps that was my introduction to some of the hilarious naming conventions in the Vue world, where sometimes it's like a Vue-ified naming of something that probably existed in the React world. Sometimes it's just putting like the letters VU on the front of some other word, and often end up getting confused with these different words. So Petite Vue, I think, is very easy to remember, and also, pretty self-explanatory.
[00:54:36] T: That's true. I think he probably felt like he was in theme because petite is French and a lot of Evans words are derived from French. I think that event is also where I met Pine who has his own naming conventions that are like, also very out there. Maybe he should change his last name for Vu to Vue. Yeah. Oh my gosh, Icelandic.
Yeah, actually, Ash. I think your meetup was like the first meetup I ever went to, so this is like bringing back memories.
[00:55:02] ARA: Which meetup was that?
[00:55:04] T: Coffee and Code or something? Conundrums?
[00:55:06] ARA: That's right. Yeah, Coffee and Coding Conundrums.
[00:55:09] T: International meetup.
[00:55:10] ARA: It was. So, I started that in Osaka, where I was living, before I came to New York about up until about — so that would have been up until almost seven years ago. At the time, I was getting deeper and deeper into coding beyond WordPress, which was kind of like, the thing I mostly did previously. Today, there's like so many awesome resources to learn. It's almost too much, right? When you just say, “Okay, I want to learn JavaScript.” Back then the problem was like, okay, where's the front door? Today, the problem might also be where's the front door, but it's a different reason why, and it's because we have this embarrassment of riches of like, just getting started content out there in the world.
So, at the time, I mean, it could have been partially also because I was living in Japan, and so it wasn't like, you just pop out, buy a book, buy an O'Reilly book and kind of get started that way, or whatever you might do. Because a lot of times there's a lot more limited options in terms of what's been translated.
Yeah, I started this meetup, and the whole idea was to encourage people who were smarter than me to come in and basically talk about their projects. If I'm lucky, answer some of my questions. The whole concept was essentially come in and maybe we'll do some hacking for a while. And then after that, something that I don't know that we did in the New York version as much because in New York, it tended to be a little bigger, was at least in Osaka, we would just kind of pair up and like demo our side projects to each other and talk about it and maybe help each other out where we could. But it was pretty neat.
We got some interesting folks coming through. It was kind of one of the first times I learned about 3D printing in any depth from a jewelry maker. We had someone who worked on the last Mad Max film, some sort of special effects person. He was creating some sort of hardware that would help you, if I remember correctly, better balance cameras, or something like that. But there was a huge code component to it.
At some point, we had somebody working on some sort of project that involves satellites. So, here's me, kind of just trying to get into node.js for the first time. It was really eye opening to get an opportunity just to see like the breadth of different things that people had in mind when they saw the meetup and said, “Yes, I want to join that and come talk about cool software things I'm working on.”
[00:57:44] T: Yeah, the breadth of projects in the wild. The breath of the wild. I just wanted to make Ari groan.
[00:57:55] AR: Fair enough. Okay, so the burning question of the day. Did you enjoy the Vue?
[00:58:02] ARA: Yeah, I did. I can see where there's actually some fun things that I may continue to work on here just to tie in our Astra DB at DataStax and use it in the context of Vue. I think we have sample apps for React right now. As far as I know, we don't have anything for Vue. I could be wrong about that. But I want to play with that getting an opportunity to plug in an external data source into a basic Vue app. So yes, I enjoyed it and so did my four-year-old daughter who came in last night trying to avoid bedtime. She called up on my lap and literally like when I was going through the Getting Started Guide and we were just sitting there copying pasting stuff, it was kind of funny because in the Getting Started Guide, what kicked off that conversation with my daughter was actually, I was trying to load the first code sample I think and I got blocked by a CAPTCHA. So, she asked me…
[00:59:04] T: To know if you’re a robot?
[00:59:06] ARA: Yeah. So, she asked me — there was like a big exclamation mark on the page. It was like a Cloudflare thing, I believe. And I said, “Well, it's because this thing wants to check if I'm human.” And she said, “But you are. So, why is it doing that?” I’m like, “I don’t know. I just have to click all the traffic lights here, hold on.” But then when I realized that, just explaining these like little things about like, what was going on in the screen is going to be funny. I just started doing a screencast of like record screen recording of it and put it up on Twitter. I don't know. When it's your kid, everything's adorable. But I thought it was kind of funny. So, I put it up online.
[00:59:42] T: Yeah. I mean, keeping a four-year-old from going to bed is probably one of the greatest compliments their framerate could have.
[00:59:49] ARA: Totally. Vue kept my daughter up on a Wednesday night past bedtime. So, at some point, my wife Ryoko walked in and was like, “She's supposed to be in bed.” Which is vaguely audible in the in the recording.
[01:00:02] AR: Well, if people want to find that adorable video for themselves, where can people find you online?
[01:00:08] ARA: Ah, yeah, so let's see, I'm on Twitter, rarely, actually, but I did post that. I don't get on too much, but I'm actually looking at what is my — so on Twitter, I'm @ash — that’s how often. Sorry. On Twitter, I'm @ashryan_io. And for Instagram, which I think I'm a bit more active on, but it's less developer stuff, because I'm also a photographer. So, I post on Instagram @ashryan.io. For whatever reason you want to get on GitHub, and see my profile there, it's Ash Ryan Beats, like Ash Ryan and then B-E-A-T-S. And yeah, that's about it.
[01:01:02] AR: All right. I guess let's move on to picks. Tessa. You're up.
[01:01:09] T: Okay, my first pick, I'm picking the great Ace Attorney Chronicles again, because it's been pre ordered it, it came out, it arrived. It's downloaded on my Switch. Still have not played it. So, I think I'm just going to keep on picking this until I actually start it. So that's my first pick. Go ahead Ash.
[01:01:28] ARA: Oh, I haven't played one of those games since maybe the first one on the DS like 15 years ago.
[01:01:35] T: Did you play in Japanese or English?
[01:01:39] ARA: Probably Japanese. I mean, it would have been in Japanese. I'm almost certainly just because that's where I was living. I don't know that DS would freely let you switch back and forth the way that the Switch does.
[01:01:50] T: They did. I have so many like ConChi games and stuff on my shelf.
[01:01:54] ARA: Oh, yeah, they're so good.
[01:01:56] T: Yeah, that was in there. We had a long talk about the dearth of like experimental games post DS and PlayStation Vita.
[01:02:04] ARA: Totally. DS was a was a great little machine. I miss that. Switch is awesome, but there’s something a little bit more almost Nintendo-ey, if you will about like, how experimental some of the games and things that you could do on the DS.
[01:02:24] T: Yeah. So yeah, that's my first pick. I know there's a lot of puns in the Japanese version. I don't know if there's as many in the English version, but if you like puns, Sherlock Holmes, maybe check it out. My other pick is somebody had tweeted a few months ago, the Saturn eating his son painting but rendered and like a very, like tech art kind of way. Yeah, it's right there. So, I found out a couple of weeks ago that you could get a print of it and I was like, “Oh, that's great.” So that's my second pick is the stereotypical tech art version of that Goya painting.
[01:02:57] ARA: that is so twisted. If not everyone has seen the original painting, it's really disturbing and worth also looking up. I guess if you scroll down, you can find it on that page. Wow, that's crazy.
[01:03:14] AR: Alex, you're up next.
[01:03:16] Al: Yeah, so I have one pick this week and it is Shang-Chi and the Legend of Ten Rings.
[01:03:23] ARA: No spoilers, please.
[01:03:25] Al: The new Marvel movie. My spoiler is it's really good. It was fun. It was very fun. I enjoyed it thoroughly. And yeah, you should totally go see it, if you are able. And if not, you should wait until it's on streaming and then see it. So that is my pick for this week.
[01:03:42] ARA: Where are you on, what if?
[01:03:44] Al: I'm caught up.
[01:03:45] ARA: Nice. Yeah, this week was — I mean, they've all been by my estimates, by my estimation, they've all been really good. But this week was like, it was a lot of fun.
[01:03:55] Al: Yeah.
[01:03:55] AR: Okay. Ash, do you have any picks for us?
[01:03:59] ARA: Yeah, so I just have a couple. So, I've been using this app called Obsidian. Have you ever heard of it?
[01:04:08] AR: If you say it three times, then Hong will appear.
[01:04:10] Al: Yes. If you say it three times, Ben Hong will appear.
[01:04:12] T: Earlier in the episode, Ash said something about like I have a notion of something and then in my brain privately I went on this silly tangent of like every time we want to say you have a notion which is just the Obsidian instead, because Ben forsook notion for Obsidian. And then I was like, “Only I'll get that, I'll never tell anybody.” But here I am.
[01:04:29] ARA: And here we are. I was a big notion evangelist within my previous team, and we were using it and I still think it's a great product. But at the same time, I do occasionally get to this point where I'm like, I would kind of like to know where my files are, you know, and that's what Obsidian does. It's a knowledge base that works on local markdown files. It's not the same as Notion or other apps that you've used, there are differences. But I'm having a lot of fun with it.
I think the way one of the interesting things is the the plugin ecosystem that's built up around it. I think it's all based on web technologies, JavaScript and HTML. And there's some pretty cool stuff that you can already download today to use. I like to use it to make like my list of most important things in the morning and put it in Obsidian every day, and there's a nice little way that you can automate that. So, I'm not as deep as many people are into Obsidian. But for what I'm getting out of it so far, I think it's great and it's free. So, it's worth a try, if you haven't.
The last thing, I don't know why, but this year, but I guess since I was recording that thing with my daughter last night, this was just on my mind, we got this box set of books. When you have a little kid, you're always getting books to read and we read books every night, I got this box set that's titled What You Do Matters and it's got three different interesting little books in it one's called, What Do You Do With An Idea? One is called, What Do You Do With The Problem? And one is called, What Do You Do With The Chance? And yeah, they're just really cute little books. I think sometimes, you end up with these books where I bet the kids acting on it or interacting with it at a different level than you are, but at the same time, it's just like a fun thing.
So, what do you do with an idea? How do you accept this idea as your own and how do you let it grow? Not too heavy on the word count or anything like that, but the the illustrations are just gorgeous. It's actually the the kind of books that even though they're kids’ books, I have displayed prominently in our living room up on a bookshelf, because I think they're really beautiful illustrations. So, if you're looking for something that's kind of like inspirational, motivational, fun for you, as an adult to read to rethink kind of some of these basic ideas, but also, let your kid look at some awesome illustrations and give them a super positive message. I think these books are fantastic.
[01:06:53] AR: I have one pick this week. It's sort of boring, but it's also amazing at the same time. Neutrogena Hydro Boost Body Gel Cream is the best lotion I have ever found. The best part is it also comes in an unscented version for those of you who have sensitive skin. I personally have both versions because my husband has sensitive skin. I do not and I like things that smell nice. So, my office has the scented version and the bathroom has the unscented version. But it lasts really long. It's non greasy. Honestly, I shouldn't admit this, but I even used it on my face instead of like their way more expensive facial moisturizer of the same variety.
[01:07:36] T: I'm going to call the Neutrogena police right now.
[01:07:43] AR: Their specific facial moisturizer is also good, but it's very expensive for not a whole lot. I would rather just get a whole bottle for about the same price, as opposed to like one ounce. Anyway, rant. But yeah, so that is my one pick. It's especially good for dry climates like Colorado. Though, you know, I would use it in Mississippi too. I'm just saying. It’s that good.
[01:08:09] T: Spoiler alert.
[01:08:12] AR: Yeah, some people know why I said that.
Anyway, so that is all for this week. If you're not following us on Twitter, why not? Do you hate us? Why are you still listening if you hate us? So, you should probably do that. Also, if you haven't subscribed to the podcast, again, do you hate us? Do you just want us to not be here anymore? How dare you. Do that. Leave a review because it also helps other people find us because we're awesome and you know you want that.
Speaking of you know you want other people to find us, tell your friends. It makes us happy when more people listen and you want us to be happy, right?
[01:08:50] T: But before we close, speaking of listening, I just want to ask real quick are those Audio-Technica’s on your head?
[01:08:55] ARA: Oh yeah, they are. So, I've long used Audio-Technica’s. I used to use some that were like shiny gold and those broke and then I picked up these bright red ones which are a favorite object of my daughters, so I have to keep them hidden. She has a pair of headphones with little Hello Kitty ears on them and they're more appropriately sized for her head. So, I think that I tried to keep those where she can get them so she's not hunting for my headphones.
[01:09:31] T: I just wanted to know if I recognize like little pad. Anyway.
[01:09:35] AR: All right, well, thanks for listening. And until next time, Enjoy the Vue.
[01:09:40] ARA: Thank you for having me. Bye.
[END]