 In this episode of Cloud Dev Clarity, it's going to be a little bit different than what you've seen from us so far. In this episode, what we're going to do is we're going to introduce a whole series of new videos that my co-host Julie Turner and Bob German from Microsoft have started to put together around a topic called Browser Native. What is Browser Native? Well, tune into this episode because now you're going to learn what they're doing and what these episodes are going to be all about. But you're also going to hear their motivation and where they're going with us and if you want to get involved as well. So if you want to learn more, tune into this episode. All right, I thought that the best way we could start this show was to first introduce who our speakers are, especially because they're the ones that are really the hosts of this series that we're teeing off here. So let's do ladies first. First speaker we have here, our first host, is Julie Turner. Hey, my name is Julie Turner. And I am the partner and CTO with some Praxis Consulting we're a small six-person consulting firm. We're headquartered in Boston, Massachusetts, but our group is diversely scattered throughout the world actually, and I am excited to be here today. Awesome, welcome Julie. Well, you've got a co-host. This is a little bit different for a normal show where it's usually just you and me. This week we also have Bob with us. So Bob. Thanks Andrew. You know, I'm really excited to be, I've been enjoying your show and it's kind of an honor to get to be on it. So I really am enjoying that. My background is I've actually known Andrew and Julie for a really long time. So we've all been in the Microsoft 365 developer community and working on projects together. And so I have a background in SharePoint development, Teams development, which a lot of that ends up being browser development. My role right now is as a cloud developer advocate for Microsoft. Awesome, so now that we've got the intros out of the way let's talk a little bit about this series that you guys have spearheaded and have put together. I think the best way to kind of like dive into this is to start it with like motivations and find out like, you know, I always find that the best way to understand a new technology or something is to really understand the why behind it. Why did somebody do it? Like, you know, why did Microsoft create the SharePoint framework? Or why did this other technology, why did Facebook create React? It's usually just sort of some sort of a pain point that you see. And so I think that by answering the why what it really does is it helps people really answer some of those questions that you would normally have in it to understand that, you know, what is this for or what is this not? So how about motivations? You guys wanna tell us a little bit about where did this come from? Why did you pick this name called browser native? Stuff like that. Okay, so for me, this started with a project for my day job and that is a set of labs called Microsoft Teams app camp. We'll put a link in the comments if anybody's interested. What I wanted to do was give people the experience of building a Teams app or migrating an application that's not in Teams into Teams. I wanted it to appeal to as many developers as possible. What I had noticed was that the React developers don't wanna touch Angular. The Angular developers, they start pulling out holy symbols to ward off the view developers. Everybody's got their thing. And so I decided to just go with vanilla JavaScript just completely, you know, inclusive of everybody because we all have to know it. And as I started writing this and evolving and learning, I realized that now that internet explorer has been sort of deprecated, like it's kind of, there's a compatibility mode and edge, but we don't need to deal with all those quirky behaviors anymore. We can now actually make the full use of what's built into our browsers. And I just started to get kind of excited about that because there was a lot more there than I realized. And so really this is about, that's how it started for me, but really this is about sharing that with anyone else who perhaps has been dealing with all these libraries and maybe one library that you're kind of shunted into by a company or a project or a team and realizing that, hey, you know, a lot of the features that are there are there because of all the incompatibilities and they're gone now. We can now actually use the browser, the full native capability of the browser. So Bob and I talk really regularly. We have a weekly sort of time set aside where we can just connect again. We used to work together and we used to have that sort of as, you know, get into work Monday morning and we sat next to each other and it was like, hey, what are you working on? And that would happen constantly. We would be able to like constantly have conversations and I missed that so much when having left Blue Metal, having that time to just chat that we decided to set up a weekly call where we could just, you know, hey, what you working on? What's happening? And he started sharing with me some of what he was working on and sort of the back and forth of me also wanting to make my content more standard so that I didn't have to rely on a framework knowing that frameworks change constantly. And in the last CDC episode, we talked about this very thing, you and I, Andrew, about, you know, if you don't like a framework, wait a second, because it's kind of, there'll be a new one. And that I was struggling with not wanting to have that. I always thought, hey, take the minimal number of dependencies that you have to take, you know, that makes sense to take. And so the concept of trying to do everything when natively supported, browserly native supported technologies felt really, really good to me. And so when we had that conversation, we said, hey, we should do a conference talk on this. We haven't done one in a long time. We haven't had one to do together. And so we started the conversation about, okay, well, let's make a conference talk. And then that sort of evolved. And we were like, well, maybe there should be a set of videos. And then, well, we gotta have a name. If we're gonna have a whole bunch of videos, what are we gonna call this thing? And I think, Bob, you came up with browser native and you sort of talked to a bunch of other people. And the idea behind the term browser native is, you know, it's inclusive of not just the language that you use JavaScript, which is native to the browser, but all the technologies that are native to the browser. And in depending on what those browser... And granted, there are still gaps where, you know, Firefox supports this and Chrome supports that and, you know, whatever it might be. But in general, they're neck and neck as supporting a set of standards. And so we thought that the term browser native sort of encompassed all of those various things. So we wanted to kind of use that as a term. Bob, what are some of the other names that we came up with? I mean, I ran this by some of my colleagues in Microsoft and elsewhere. And somebody told me, well, nobody will ever search for browser native. And so you won't get any SEO. And then she suggested I call it vanilla JavaScript. And that's true. And I was speaking to a JavaScript architect and expert who actually builds the language. So, okay, I understand why she maybe had that reaction. But, you know, it's more than JavaScript. Like you just said, Julia, it's really the whole package. Can I build meaningful, useful applications or reusable components that are gonna be used in my apps just using what's native to the web browsers that we use every day? We also talked about maybe something like modernize your development skills or your web development skills. But modernize is such a slippery slope. It's not like we're... Modern pages for the win? Well, I'm just saying modern is a very relative term. What's modern today is gonna be... Postmodern. Yeah, exactly. It's gonna be old news someday. And, you know, honestly, I feel like a lot of really brilliant developers have missed the memo on what you can do with the browser because they've been building in a particular framework that hides that stuff from them for so long. Yeah, obfuscation and not necessarily a lack of wanting to know just if you don't use it or need to use it, why would you learn it or keep up that skill? And I think that is one of the things that we are trying to target with this set of videos that we're hopefully gonna bring forth to people is to sort of help people who've been in the Microsoft 365 space, maybe in our transitioning because if you were an on-prem with the server products that were available and you packaged them, you know, SharePoint server or exchange server, all those, you know, individual pillars of server technologies when you built customizations in general and you were a Microsoft developer, you were talking the .NET framework and you were talking C-Sharp or Visual Basic. I actually just had a conversation with a friend of mine who's there is a product out there that is still built on visualbasic.net. I swear to God. Blister heart. Yeah, blister heart exactly. So I mean, you were working in those technologies where you were compiling code down and browser code was not your first and foremost thing. So if you are an expert dev in that and now all of a sudden, the rug was sort of pulled out from under you, you're basically going back to school and that's a lot. Not that you can't pick it up really quickly, you've got development shops, you know what you're doing. It's not really about that. It's about having to just mentally switch gears entirely. So, you know, those people probably are like, hey, I need quick hits on what am I supposed, you know, what are the things that I need to learn? There's also certainly gonna be people coming into the platform that, you know, maybe don't know some of these general skills. Like maybe they've learned a set of frameworks as a way to get into developing and never really learn some of the basic vanilla things that go on in the browser. Those are a couple of ideas. Bob, do you have any other? Yeah. No, I mean, well, I- Well, it's already targeting. I kind of agree. I think I feel like we're learning who we're targeting in a way, because so we're all coming from one community where we were kind of the platform we were building for, which is Microsoft 365, was kind of telling us how to do everything. And are there other communities? And we're now kind of saying, well, we can do this and still follow all the rules because we're running in a browser and Microsoft 365 has a list of supported browsers. So it's kind of easy to say, my code needs to run in this list of browsers because they tell you what works with Microsoft 365. What I feel like I'm hoping and slash open to is there may be other communities out there. There may be a lot of people who have worked with different frameworks. There's advantages to having an opinionated framework that tells you how to do everything so that your projects all come out nice and consistent and everything. But what about what's built into the browser? What about the kind of the common foundation that we're all building on has now become stronger than it was? And just speaking from experience, I remember the first time I saw a template literal and that's one of our first episodes. And I was like, what the heck is that? Like, they got the, they got. So if you don't know, it's where you use back ticks as the delimiters around a string and JavaScript. And then you can actually put, inject little JavaScript expressions and stuff into it. And you can get beyond that and watch the video to get all the fun details. But I looked at that thing the first time I was like, what is this? This is like a mistake. Like, what is this thing? And I wonder if it's not just our particular community of Microsoft 365 but there probably are other communities where people have been developing using a certain framework or methodology or platform. And they just didn't notice that while they were doing that, the browser, the web browser development community and the architects who kind of designed these things were actually making it possible to do way more without building libraries on libraries on libraries and libraries. If it ever freaks you out, that you do an NPM install and you see pages and pages and pages of packages that you don't even know what they are and half of them have little warning errors on them and deprecation errors and stuff like that. It's like, it was a pleasure when I working on this project, this lab project, not have any of that. It's just there, it's in the browser. It's just, I'm not touching it. And it feels like a weight off my shoulders, honestly. It's interesting. I like the way that you guys came up with the name for it. I mean, I was one of the people that I was like, what's wrong with browser native? Because I mean, I know you got a bunch of other examples of ideas from people about vanilla JavaScript or vanilla JS, which I don't know. I think that that's really a thing. But it sounds like what you guys are talking about is something that is bigger than that because this isn't just JavaScript. This is all about like native APIs that you have inside of the browser. Yes, you can use JavaScript to get a hold of them, but then there's a lot of stuff that's got nothing to do with JavaScript like CSS or SAS or working with HTML and like web components is a- Making calls, fetch, being native now. JavaScript is just like the glue, right? Between this stuff and the way that we write code to be able to do stuff. But maybe you could argue that there's even a way to go through and write code inside of CSS or SAS. At least for someone who doesn't- You can do math functions. There's a whole bunch of stuff you can do in CSS. Yeah. Right, all those expressions and everything like that. So, I mean, I think that, Bob, what you were saying too, I thought that that point that you made about, like with template literals, like a lot of times people don't have a clue what they're looking at. They don't, and it's, and unfortunately, a lot of times it's like, you know, the first time you see a thing like a null coalescing and operator inside of TypeScript, you see that. What are you supposed to go to Google and search for? Like, what's an exclamation point? But don't give me the thing in Chicago manual style or like, what's a question mark? What does that do on a dot? Here, a question mark dot. How do I Google call, question mark colon? Yeah, exactly. Did I put a regex in there? Well, the first time, a lot of times, the first time that people see a lot of that stuff, you know, three dots before a word. Like, what is that? No, that's that you did ellipsis the wrong way. Like, no, no, no, I'm actually like a spread operator. So, I think that those kinds of things, it's foreign, people don't know what the name is. I just rattled off spread operator, but it's like, I remember when I was Googling, what are the three dots? What are the three dots? Anyway, so, I think that stuff, it makes a lot of sense. And it's going to be interesting to see. I lived in that space, I lived in the same space where I was, when I came out of college, I was a client side developer. I then moved into being more server side stuff and dot net and Java. And then moved back to start, like, I finally got tired of where I was and decided to just go back to my roots, left the whole Microsoft ecosystem and went to go live in the Angular space and MPM and doing all the client side dev stuff again. And then I saw the direction that SharePoint was going and I was like, all right, well, I have an audience there. I can kind of go back to that audience and you see that, you know, even though that was my wheelhouse, I still saw a lot of people from that audience who didn't, from that SharePoint or the Microsoft 365 audience that we talk about today that it is not as native or it is not as like familiar to them. And you see these date today, we see the extensibility model for so many different platforms is not just about whatever that specific technology or whatever that app really is, but it's more that now everything is all tied with services and if you have any kind of a web or any kind of a presence or UX presence that you have to play inside of that other platform, it's all done today using like an embedded browser and in all, or a hosted browser, a Chrome-less browser. I mean, we do that in, you do that in Teams, you do that inside of Facebook apps, you do that inside of Slack, you do that inside of even the whole Adobe Creative Suite, if you want to extend that, you're living inside of a browser and writing JavaScript, it's granted, it's ECMAScript, a bastardized version of ECMAScript three, but it's still JavaScript, you're still in a browser. So, I mean, I think there's still this stuff there and it makes a lot of, this makes a lot of sense. So, it's gonna be fun. You know, I understand too, you guys, you said that you, this was kind of spearheaded or at least started with an idea of a talk you were gonna do at a conference and a lot of your first episodes that you're gonna publish from this, we'll talk more about that in a little bit, came from that, this conference talk that you guys were gonna do, but by doing this as a bunch of separate videos, you're able to go deeper and you're able to continue the conversation beyond that 50, 60, 75 minute talk of what you guys are gonna end up doing. I thought that one thing would be, what would be kind of helpful too, to ask, to get the both of you guys to share, is to talk a little bit about like, what has your experience been? I know you both kind of touched a little bit on it so far, but like, Bob, I'll start with you because you kind of just finished off what you were just saying a little bit of that experience here about, you've been more in the Microsoft 365 space, more on the server side space, and you're more on the client side these days, but you wanna also not just focus so much on just the Microsoft 365 that, I mean, cards on the table, that's where we all live today, but the conversation isn't supposed to stay to just that audience, you're trying to reach other people. So why don't you talk a little bit more about your experience with this and why you're trying to move, where you're trying to take this conversation? Well, yeah, I mean, it's so the, my day job is as a developer advocate to encourage and help people and advocate for developers also. So it's a two-way street who wanna build Microsoft Teams apps and also graph apps. And so, you know, part of the thing, I think a lot of times Microsoft kind of gets into its own sort of, it becomes this sort of closed world. They're not trying to be closed, you're trying to be open, but then they just refer, they use all the terminology and acronyms and examples and references that are all familiar to Microsoft people. And all of a sudden I'm starting to talk to independent software vendors who have built for competing platforms. And imagine a developer who is, and I put this right in the app camp, there's an instructor's guide, if you dig deep enough, you'll find the lab writing guide, which is my style guide for anybody who wants to write a lab, right? And it's like, imagine the developer who went to college, they have a Mac, they were on G Suite in college, they got out of school, they went to work, they're using Slack for collab, they've never used a Microsoft product in their life ever. I want them to be able to understand these labs and be successful building these Teams apps. So how do you do that, right? And like, I'm pounding that, I'm beating that drum and it's been very well received within Microsoft, by the way. I would say that there's no mal intent that I've seen where people are like, let's lock these people in. No, they're not doing that. They just have been working in the same kind of environment for so long that they've forgotten that there's another world out there. And I had to have some of these developers give me a kind of an education, sometimes a little bit of tough love education in looking past that stuff myself. So that's really, and I feel like we should do that in developer in Microsoft in general. We've got a, this whole move that you mentioned around SharePoint framework, kind of going to a more standard thing, but it's standard, but it's not standard. It's like a problem with standards is that there's so many of them that they become non-standard. So it's like, but here's the thing, that this browser native is kind of like, yeah, this is it. This is the standard because everything, whether you react, view, Angular, AngularJS, jQuery, you name it, it all goes down to running in that native browser. It is the, I'm not gonna say least common denominator because it gets better all the time. And there are these, there are committees and teams building these browser features and agreeing on these browser features. And they need a little reinforcement. I think they need for people to start noticing, hey, get out of your React community, get out of your Angular community, get out of your Microsoft or your Google community and look at what the industry is doing. And then, I don't know, it reminds me, I don't know, I know you're supposed to ask the questions, Andrew, but I wanna ask Julie a question because you said something earlier, Julie, that I think would fit in good here, which is just about reusing your code and sort of the advantage of browser native with being able to build reusable components. Yeah, I mean, I'll use the example, one of the examples that I've used with people a lot when we talk about taking dependencies on code, if you are gonna do, like if you're in writing JavaScript or client-side code and you're gonna do a date manipulation, the number of people I know who were taking a dependency on moment.js just to do one date manipulation. I know, right? You can't add two dates, like, errr. It makes me mental. That's not to say there aren't times where it's useful, right? Like, as an example, I've written, I helped write a Teams app that did a world clock type of scenario where it was managing time zones for multiple different people and translating dates and times around the world and all this stuff, very complicated date time manipulation. Did I take a dependency on a date time manipulation library? Absolutely I did because it made my life significantly simpler. But that was what it was primarily doing. If you're gonna just do one or two things, the fact that you just take a dependency without even really thinking, hey, this library had to do it somehow. Now that doesn't mean there's not, you know, lodash is an example of a library where yes, I could write every single one of those functions natively. But somebody did it already. They did it really well. It works flawlessly. And yeah, I take a dependency on lodash almost in every project I write because I do a lot of data manipulation in the apps that I write. That's just because of the technology I'm working with. I'm constantly reading a bunch of data, manipulating it in some way. And so taking those dependencies is fine. However, you know, wanting to make sure that I always knew what the fallback was. Like, I don't wanna just take a dependency on something because I don't know how to do it natively. So I was trying to keep my dev skills up, keep myself fresh, understand what's native to the browser. Like again, that, you know, I, oh God, and I'm not gonna be able to remember the name of it. Some, one of you two smart people, remember the name of what the fetch command was before it was called fetch. It's called A. HTTP. Yeah, but. This is the AJAX. It's, it was the A. The XML. That is something like that. XML HTTP object, which is the stupidest thing. Yes. Because if you're gonna, you're gonna read data and you're gonna make an API that does a network call. Hey, how about let's put the form, the protocol and hard code, the protocol and the payload format in the name of the font. Like whose idea was that? I don't know. And that's why I can't remember it. Cause it's silly. But I, but you know, like I've written code using that. And instead of using like the jQuery version of that or whatever, I've written it native, but it was like, oh, okay. Well, I know how to write that native. Let me use the easier one. When fetch came out, if I didn't know fetch existed, would I continue to have used the jQuery one? For sure I would have. So it's just trying to keep on top of what's coming to make sure that I'm using, making good choices about libraries and extensions that I'm using, you know, trying to just stay down to that. I'll say lowest common denominator. It's certainly not least, but it's the lowest common denominator, the place closest to the browser natively. So that I know what I need to take a dependency for and what I don't need to take a dependency for. So, you know, that's kind of important for me. And so that was my sort of plan, I guess, or the, the modus. It's funny you say that. I mean, talking about the moment JS or people working with like data and stuff and like, people always trying to grab a library to do something else. I mean, I struggle with like seeing my students, like people still trying to import jQuery. Like, why are you doing this? And they're like, you're using React. Why are you importing jQuery? Well, because React doesn't have a way for me to make a call to a backend web service. I'm like, it's called the fetch API. It's native to the browser. You already have it going. Yeah, but it doesn't work anywhere. I'm like, okay, all right, hold on a second. First of all, the only place that doesn't work is in IE8 and that's dead. So we don't care about that anymore. And second of all, the other place where you happen to be doing your work, but so my students are SharePoint framework students, like, and so the places where it doesn't work, you have to have a polyfill and they've already done that for you. So you have an API that's already got it. You're adding something for no reason at all. Yeah, it just doesn't work. Like, pretty sure that you got this wrong. It does work because a lot of people are doing this. And if it didn't work, anyway. So, okay. So before I, I want to, I want to ask you guys about what your goals are for this show. Before we do that, I do want to ask one question though, about kind of what you guys are talking about, about the motivations. Julie, you first. I actually wanted to hear. Julie, you first. What's your favorite browser? Ooh. I use Chrome, not Edge. I use Chrome for development. However, Stefan, my development buddy uses Firefox mostly and he's done some stuff and shown me some stuff when he's been debugging where I'm like, I really should probably switch. But, so I use Chrome, but favorite is a stretch. Got it. Bob. Okay. I have three favorites for three different. I kind of separate my ones. This is not like children. No, no, no, no. This is not like children. No, no, no. You kill up your children. For work. For work. Oh, okay. It's Edge because it, because it does have the backward compatibility and the other integrations for, and I work at Microsoft. For development, it's Chrome. And, because I like the way the profiles work. I really like the profile system in Chrome. And for personal, it's Firefox. Because I want to support an alternative code base and for browsers. And also, I think that they may have some advantages in terms of privacy. Interesting. Okay. I didn't expect, I didn't see that coming. That's interesting. No, I mean, it's not, it's not random. I'm not, I'm not splitting my vote. I'm saying I've split my entire life. Yes. I love this child the most because I created basketball. I love this child because they're kind and caring. And I love this. No, it's more like, it's more like if I was a teacher and I would have my students and then I'd have my own kids, you know, they'd be like, you know what I mean? They're different situations. Yeah. I get it. I get it. Okay. So let's transition a little bit and let's talk a little bit about what your goals are for the show. Now we look back. Now let me, let's look forward for the show. I want to talk a little bit about, you know, actually let's switch this up a little bit. So we did a pre-show like you're supposed to do. And we have our outline. I'm going to change our outline a little bit on the fly here. So let me ask people, what can you expect from this show? So from this browser native show that we're going to do, that you're going to do, not we, this is y'all's show and I'm just here just to help, just to be, we're introducing the show on the Cloud Dev Clarity show. And so I guess your show is, it's not really a show. It's more of a series. Maybe it's a show. Who knows what it turns into. But we're introducing browser native here on the Cloud Dev, on Julie and I show Cloud Dev Clarity. Yep. You guys have already done a bunch of episodes that we're going to be seated. So a lot of people when they see this, if you're seeing this the day that we go live with this intro episode, there'll be another episode that goes live with this, I think, with this one. And then we're going to have, you have a series of episodes that you've already recorded that'll come out right away from in the successive days. So why don't you talk a little bit about what can people expect from browser native right now? So we've sort of tried to stick to the fundamentals first. The ideas of things that we had that were fundamental. So we definitely did an episode on arrow functions because they're fundamental to the language. And object classes, because that was something introduced in ES6 was object classes. And also ASIC await, because that one was a huge sort of paradigm shift for me mentally, moving from traditional JavaScript promises to using the async await keywords to sort of, which is not to say that promises are dead. It's just a different way to decorate your code to get promises. So we definitely hit on those three things. Another one was, and this sort of leads to the jQuery thing. And we sort of talk about jQuery, but using native request to do DOM manipulation using jQuery type like selectors. So using some of those functions, they use CSS syntax as a teaser and how to do that. And then last, but not least, and Bob talked to this is temper, literals, temperate. I did it again. Let literals, they're literals where they're not too hot, not too cold. Just use right around the equator. I do not know why I keep saying that word. Template literals, which is just a very nice streamlined way to build strings. I really like it. Once I figured out what it was and figured out how to Google back tick and figure out that that was what it was, I use them exclusively. So that's another big one. Once you've learned temperate literals, it's almost one of those things like you ask yourself, should I ever be doing a double quote or a single quote anymore or should I always use- I don't think so. That's your show. I'll let you guys cover that. Okay, so let me ask you then, let me ask you this. So what's your goal with this? What's your goal with the show? What do you guys hope to achieve with this with the series of episodes that you're publishing? I want to share things that I've learned that have confused me and I want to learn from the community in the audience what other people are needing and thinking. So I think every episode we're asking questions and I'm hoping that we get answers in the comments but just sort of like I know that Julie and you and I have lived in this Microsoft 365 community. What about are there people in other communities? Does this have a broader appeal and what do people need? Or even in our community, what are the things that are confusing other people? And so I think that's a big part of it. I also want to kind of learn to hone my skills at making videos and I also want to and I know that you've done a lot of work, Andrew, in understanding how to do all the different search engine kind of different aspects of YouTube. So I was very happy to ride on your coattails a little bit and learn along the way. And so I think those are the main things. You know, be nice to someday not need a framework at all and just be able to totally, I don't know if we're there yet. Close. What do you think? Julie's got an answer for that, I think, but anyway. I'm just playing. What about you, Julie? What are your goals from this? The learning is a big thing. I mean, I think, you know, one of the reasons that community is so important to me is that I know that when I'm struggling and I can reach out to a friend and be like, I'm struggling with this. Can you give me a hint? Do you have any idea? Have you done this? And then they go, oh, you know, check out this thing or that's called a this. And if you search up that, that might help you. You know, it's sometimes you just don't have the Google flu you need to have to get the answer that you need. And or somebody remembers something like me trying to remember the name of that, you know, the precursor to the fetch command. Like you just, you need community to help you, you know, raise all boats, right? And so having the ability to sort of help other people like learn stuff and have it, you know, be there for when they need it again because we're gonna record them as videos is wonderful. But further, when Bob and I collaborate on things every Monday, I learn something every single time. Yeah, so the same happened with Cloud Dev Clarity in that, you know, learning from each other is like huge. So there's a huge onus to me to like, you know, hear what other people are struggling with. If I don't already know the answer to be able to like collectively gather the answer and then, you know, record it for posterity. And as I said, sort of address what everybody else is looking to understand that that makes me feel great. I love being able to do that. So that's definitely part of my reasoning for sure. Well, in a place that, I mean, there's the cool thing about this, about an effort like this is that you don't know the questions that you don't need to ask, that you don't, that should be asked and you don't know the answers that people are looking for until there's a bit of a conversation around it. So I hate to make this sound like it's the new age or the modern day, like, you know, safe place and all that stuff. But I mean, that's what I'm hearing you guys say is like, it's a safe place to be able to ask those questions. It's a safe place to be able to ask, you know, why doesn't, why all of a sudden do my links not work in my comments on Instagram? They just text there, they're not clickable. Why is that? It makes no sense. Who would ever figure that out? I don't know anybody that does that. But things like that are like, you know, what are those backticks? What are those spread operators? Or sorry, where are all those dots? Oh, that's called a spread operator. What is this whole thing? Having that kind of a safe space for people to ask those kind of questions and to reach out to that community and find out what is it that people don't know? What is it that you take for granted that you didn't realize that other people, that you were taking it for granted, that other people didn't, it wasn't as obvious as somebody else. So I think that's really cool with this. So I mean, you kind of covered a little bit of this when you're saying like, you know, what to expect here in terms like, what are the goals and what you're trying to help people with? Are you looking for this just to be like those five episodes that you mentioned between arrow functions, object classes, async away, type operators, template literals? No. Do you have other ideas for shows that you would love to get to? So what are the things that are going around in the cloud for you? I'll tease one first. And then Bob, you tease some more. I'll make the comment that I think responsive websites have nothing to do with JavaScript. And it's all about CSS. And so maybe we should address that. I don't know. Does other people care? I don't know. Maybe they do. Maybe they don't. So this is the part of the show where it's not so much that you guys have ideas about things that you'd like to talk about, but it's also kind of asking other people like, what do you have questions about? Are you interested in? So if you're watching this, drop a comment below. Is that funny? Exactly. Because I don't even know, but I will give you a big item on my wish list is web components. I'm very impressed with what, say, the Graph Toolkit has done. And if you're not, if anyone is not familiar, Graph is the main API for Microsoft 365 so you can get to all the data. And the Graph team, or a smaller kind of separate team actually, built this amazing little library of web components. Now, if you're building a lot that call the graph so you can get a picture of a user, or you can get your emails or your calendar pre-rendered perfectly, and it does all the heavy lifting for you. So why did they choose the path that they chose? They didn't write it in React because same as my, I've already said this too many times in this video, right? Cause it would have not been inclusive, right? By writing native web components, their library works everywhere. Done. And you know, it works, fits it, right? I've used it in my React code. I've not, I haven't done Angular in a while, but I'll bet it's possible. So it's, so I guess that's something that I've got my eye on is web components and the ability to hide reusable, useful functionality inside of a component that just, it just works everywhere. You don't have to ask anymore. Unless you're going back to old versions of browsers. Yeah, you're just adding a job, you're just adding JavaScript. I have a little bit of JavaScript on the page and next thing you use and when I say add, I mean like reference the JS file, and then you just use it like it's an HTML tag. It just registers itself and it's just an HTML tag or an element or whatever you want to call it. Right, so I'm definitely fascinated with that. I'm learning, I've learned a lot, I've got more to learn and I want to share that for sure. Cool, that sounds good. Is there anything else that you'd like to share with everyone about that you'd like to, parting words you'd like to have for viewers of this? They're going to, we're going to have all of these episodes are going to be in a playlist. So that everyone that wants to be able to watch this, it's not going to be mixed in with the Cloud Dev Clarity playlist. They're all going to be just this guy, these episodes will be in their own little playlist. So it'll be easy to go through and to follow along with each one. We'll have links to the first episode right in the end screen for this video. So you just, you'll see just a second and we'll just click straight through, make it nice and easy for you. So anything else that you guys would like to ask if people were watching this or? I think we already did it, but just to ask questions, to be brave and to share things that you'd like to learn about because if you think we all knew everything to get going when we got started, it's just not the case. I remember the first day of the SharePoint framework boot camp and Bob and I were looking at each other going, what the bleep bleep bleep is NPM? So it's, you know, it's nobody knows everything. And so if you are struggling with a concept that is native to the browser and you'd like to share that thought and ask us, we would love to hear it and get some feedback and try to help drive and focus where we go next based on that feedback. So yeah, same here, same here. It's kind of like I want, I would like to just see this run its own, go in its own direction based on viewer input really. Like we've, yeah, we have a roadmap. We've got some more episodes that we're planning. We've got some already made, but honestly, if we don't get any feedback and nobody watches, that'll be the end of it. If we start getting, you know, people asking, and yeah, it's a safe space. Part of the reason Julie and I meet every day and something that I valued about sitting next to her at Blue Metal was that it was a safe space and it's not trying to be super touchy-feely. It's like knowing that if I say, what are those three dots that I'm not gonna get? You stupid idiot, you don't know what that is. I'm not gonna get that kind of, there's too much of that in our industry. And it's, you know, everybody has to learn something the first time, sometime. And the velocity of change is huge. So I guarantee that there's all stuff that you know as a viewer that none of us know and vice versa. So let's just see where this goes because I think that it's, the timing is right with a much higher degree of browser standardization than we've ever enjoyed before. So I'm just looking forward to seeing where it goes. And I would love it if it became more fewer driven than presenter driven. Awesome. I think that's a great place to wrap it. Cool. Thank you very much, Julian, Bob. As you saw, this episode was a little bit different than what we normally do with Cloud Dev Clarity. Still, were you interested? I'd love to hear your feedback on this. Let us know by dropping a comment below or to submit a topic to discuss on future Cloud Dev Clarity episodes or browser native episodes. Let us know by dropping that comment below. And let us know what you think about this series that Bob and Julia are putting together called Browser Native. If you liked this episode, please give us a thumbs up and subscribe by hitting that red subscribe button under the video so that you can see when we publish more Cloud Dev Clarity episode videos for developers on Microsoft 365 and Azure Topics and Browser Native because they're all gonna be hosted here as well.