Speaker 1: 00:09 [inaudible],Music Matt: 00:11 welcome back everyone to the Xamarin podcast, keeping you up to date with the latest and greatest and mobile development for Xamarin developers covering the world. The xamarin.net Azure and more. I Matt Soucoup. James: 00:23 and I'm James Montemagno and we made it to 2020 Matt, we did it. James: 00:27 . Now some people claim it's a new decade, some people claim it. It's not, where do you fall on this? Where do you fall into a spectrum? James? Is it new? Is it not new? Where, where are we? James: 00:38 Oh, it's definitely a new decade. James: 00:40 Definitely. I'm with ya. Yeah, absolutely. Absolutely. If the nut, if the number changes, if it goes from a one to a two, two to three new decade, I don't care what that back number, James: 00:51 especially if you have to start thinking about um, writing checks and, or signing documents and making sure you put 2020 instead of just 20 then I think that that qualifies as a leap to a new decade. Matt: 01:04 Absolutely. 100% there. Yeah. So, yeah. Every now and then he gets somebody who's saying, Oh, this isn't a new decade. And that not till 21. It's like, man, I'll celebrate the new decade next year too. So it's like extra reason to celebrate. James: 01:17 Yeah. Celebrate twice and you know, uh, that's what it's about at the end of the day. And it's the first year in 20 some odd years that there was no fireworks off the space needle. Matt: 01:28 I know. And I was, my wife and I were going to go down there. We're all pumped up. And then what high winds? It was rainy. It was kind of a not a great evening to go down what we were still gonna make it and then we decided not to and they didn't cancel it. They're like 15 minutes beforehand anyway, so I'm kinda, I'm glad we didn't go down. How about you? Did you, James: 01:45 did y'all go down? We're extreme. We're, we're close just so we can walk to the space and you know, from where we're at. But, um, we decided not to go. We haven't gone in, in, in years past. We have some friends that have some really good views. We've gone and done that. We've gone to the park and where there's good views and there's always a lot of people there. And this year we're like, Oh, we'll just, we'll just stay inside and watch it on TV. And then we watched, uh, the light show, which they did have a light show, which was okay, but I mean other countries had like drones and crazy fireworks and all sorts of crazy stuff. And we got a light. We did get cool music. I did like that. I liked the, uh, the Travis Scott, um, part, uh, cause I'm, I'm big into hip hop and I like that a lot. James: 02:31 That was cool. Um, and some ed Sheeran, which I liked, uh, with Travis Scott, which I thought was, cause there's two Travis Scott tracks back to the back. But yeah, I dunno. I thought the, I thought there was at least something, but I'm really glad that it didn't go cause it was a very windy, miserable night. So we stayed inside. We, we did nothing and that was great. Oh, we did order a pizza. We had pizza for, for new year's. That was good. What a way to welcome the decade pizza. Doing nothing. Pizza, doing nothing. It was great. Welcome. We're here. We made it to 20, 20. Done. Welcome to 2020. Wow. Done. Boom. Well, you know, new decade. Well speak. Matt: 03:10 Speaking of the new decade, James, I heard, um, Xamarin essentials one, dot four might be out. So what's new in that? What's new there? James: 03:19 It's out. It's happening. James: 03:20 It's live. It's, it's, it's gone. Pre-release version one. Dot four. I believe pre-released two is going out probably by the time this podcast is out. Um, yeah, this is a long time in the work. There's been, um, you know, we had some, some ups and downs of development, fixing some bugs, stabilizing a lot of stuff, adding new features. And this release has a more community pour requests, um, than ever before, which is great. So we had a bunch of bug fixes and new features from the community, from adding new, um, weight and unit convert conversions to being able to select, um, and view the current open activity and UI view controller to some encoding fixes to some clipboard events, all sorts of good stuff. But the two biggies that I'm really excited about, the first one is a brand new API to see what the requested theme that your user has for your app. James: 04:21 Well that's cool. Very cool. So darker light, so dark or light or unspecified, ah, on a specified, so mid, mid, mid, so, so, so normally it'll be a light as a default, but if you're an iOS 12 or an older version of Android, there is no default right there. There is an [inaudible] who knows what it is. Um, so we, we said unspecified, so you, you can determine what you, what, what is your default unspecified theme. Most of the time you'll get lighter, dark and usually it's a light, right? So I say in my code, if it's unspecified or light, then use light, um, else used R, right? And then go from there. Um, very easy way of doing it. And then, and that's nice because it removes all sorts of code that you'd have to write to check things. Um, and there's no change events. James: 05:16 You can't really see if it's changed in your app, but that's very minimal code that you can write based on what your app is. And um, we were thinking about adding that. We're not sure cause each of them work very, very differently. So. So we will, we'll see you there. But at least this code, very minimalistic. But the big one I'm really excited about as a permissions API, it's done, it's out there, it's into the world. Check in requests, those permissions, all of them. All the permissions suite. One of the things I love about essentials is that it, well it has everything in there for you. I mean, James, I'm sure you're familiar with the old plugins, right? You wrote all of them. So before you had to download all the nuggets that you had to actually find them. And so some of them like eat Matt: 05:58 discoveries, you know, half the problem. But what the essentials are all there. And every now and then when I'm talking to somebody new to the Xamarin universe or even people who aren't new, who aren't so impressive of what's all in essentials, this is like your one stop shop and permissions. It's out there in a wild James: 06:17 well out there in the pre-release. Wild but nice in, in the, in the prerelease while give us your feedback. It's, it's a really beautiful API Rose and beautiful docs for it. It's very extensible and customizable. Um, John Dick wrote that API is very, very beautiful. I'm very, very happy with that one. Um, and yet, you know, I think that you're right, uh, you know, there's a lot in the box and there's tons of still great, amazing plugins that, um, that are out there in the wild that people are supporting and updating because while essential is tries to do a lot, it's not ever going to do everything. That's not the goal. It's not, the goal is to try to do everything because some things you know, are just really hard API. So Shrack and everyone might want to use it differently. And, um, there's a, there's tons of great plugins and another project shiny, which is great by Alan Richie, one of our MVPs. James: 07:09 And that's an amazing, um, um, library. It's more than a plug in. It's, it's like a compliment to two essentials to be honest with you. It has some of the stuff that essentially has like how Alan wants to do it, but he does like backgrounding jobs and job schedulers and Bluetooth and a bunch of stuff. And it's, you know, people are like, Whoa, what is that gonna come to essential? And I'm like, I don't think we'll ever do it because it's already done. I'm never say never. But you know, Allen's crushing it over there and if your app needs that, go for it. Right. And I use that in some of my apps, so it's really, really good. So I'd love the ecosystem out there and the idea is not to Sherlock everything, but, um, to give 'em the things that people, people really, really want that the mass majority, vast majority of people are going to use in their mobile. Matt: 07:55 Nice. Yeah, it's great. And sherlocking, you know, the old Apple when they, what it was that they, the company was called Sherlock, right? And then Apple released the functionality for an, I forget what it was called, but, um, I'm going way off tangent now, but yeah. Anyways, Sherlock. Nice. So, uh, so right before the holidays, James, um, I did that Santa talk challenge where it was like this intelligent, um, serverless Xamarin application where w what it was is that the app you wrote a letter to Santa it hit cognitive services just to see if, um, the emotion in the letter that you wrote, the Santa's was positive, neutral or negative. And then Santa would tell you whether you're gonna get any gifts or not for the holidays. And he was kind of snarky about it. And so what we did is that for the, um, challenge, which people would get stickers for, for swag, and we have a couple of random drawings that we're going to give away a $25 gift cards to the.net foundation. Matt: 08:55 Sweatshop is to have people extend it and then, uh, you know, let people let us know how it goes. And so what's neat about this is that it's like the full story of building a cloud app where you have both, you can extend the Xamarin portion of it, you can extend the, um, the serverless portion, you can extend the, the cognitive services portion or whatever you want. And so we had a lot of people do this over the holidays, kind of like as their holiday hack and some of the, um, I'm not gonna say entries, but the polar requests that we got back for it were truly amazing. Um, I'm not sure, did you have a chance to take a look at this yet, James? Some of the PRS I came in for this, for the challenge. Yeah, I did. James: 09:38 I was monitoring them along the way. I noticed that some people just did some UI changes here and there, improved on your style. And then I saw some, some really big ones. I'm coming in like a text to speech and a bunch of other stuff. But there, there's probably more that I was like through the first or so I was kind of monitoring them. But um, what else did it, what was also in there? Matt: 10:01 Yeah, I mean there's a lot of UIs. UWP ports came in. Um, another one where chat bot. So you go back and forth and talk with Santa's convinced some that you've been a good person all year, um, OCR. So you can actually write hand, write a letter and yeah, a mapping so Santa can know exactly where you are. So obviously to get your gifts exactly to your house, facial recognition. I mean there's a lot of, lot of cool things. Another one I thought was super neat, they are, is a graphic of Santos face on the page and his eyes would follow you as you typed a letter. I mean, he's, he's watching, he's always watching it. It's just super cool how people, um, how people just really took the idea and ran with it was a kind of a fun holiday hack. And the um, the, we also asked her like, what did you like, what did you didn't like as you learned along the way? A lot of, lot of hot reload love coming in. There is even some folks who were learning MVVM along the way. And Jason mentioned like the, the rough parts about it as they learned or how, how they did learn it and what they liked about it. So it was kind of neat to see that it went to the whole universe cause we had some MVPs doing things to it. We, I know we had some brand new people coming to it as well. So it was really, that was great to see all over the place. James: 11:22 Yeah. I love the, uh, I love to cause in these pull requests you can, everyone adds, you know, gifts or they add a, um, you know, little screenshots. And I'm looking at one of the face cognitive services from a, who's this Oscar, um, who, you know, writes, you know, a little message and he love Santa and then it pulls up the camera picker and then it takes a photo. You know, it's like, you know, it's, it's really cool to see the community just make all these really awesome, awesome things and then get to see them. Right. You're like, Oh, wow, cool. And then, um, so let's do a writeup off to have you do a write up Matt: 11:58 yeah. On all that, which is really cool. I love it. I love these. I love these, you know, it's fun. It's fun. As a lot of fun. Yeah. Just going through and watching and seeing what people came up with and a lot of people did improve the UI. I did, and I stole the UI from and steal. I borrowed it because that's what the website's for snippets and people really improved on it for me too. So that's, that's great to see. There's a lot of really smart people that they're doing a lot of cool things. James: 12:26 Nice. That's awesome. In fact, uh, you know, thinking about through the holidays, um, I was also thinking about kind of 20, 19. Right. It's, it's no longer here, but, um, that doesn't mean that we can't look back on how awesome 2019 was. So, uh, this week I put out a series of blog posts on the top, on a blog, very meta, a blog post about the top blog posts. Basically clickbait. That's what I put out. Matt: 12:56 You won't believe these 10 top blog posts, James: 12:58 right? Um, so I put out top Xamarin blog posts of 2019 and top Xamarin videos of 2019. So the, these are real, these are statistics of the top viewed watch time things in 2019. Um, and in, yeah, I mean 2019 was awesome. So some of the top blogs, we'll put links into the show notes. So this one you can go, but of course the Xamarin forms for, for the brand new 16 off for visual studio launch. A lot of Xamarin forms for Datto cause that was shell. So getting started with shell, the introduction of shell announcing XAML ha reload material design challenges, lots of stuff on challenges. A visual challenge was in there. The whole recap. Um, startup tracing, dark mode support. Um, the free training from Microsoft learns all sorts of good stuff in there. Um, and then also put a link to RSS. James: 13:53 So don't forget if you have a RSS, you can get that little RSS reader in there. And then top videos. I thought this was fun because a huge shout out to the community on this because I was, I was monitoring every single day leading up to January 1st on the Xamarin developers a YouTube. We worked at the community last uh, April to make a great, awesome introduction video. We worked on a brand new introduction video with sessile and you and me came together about show crossovers, about brand new shows, about how we're relaunching the Xamarin developers, YouTube, give it all this love and we put all the videos on there and on channel nine of course. So basically you can get YouTube or not in your country. And last year we grew the Xamarin developers YouTube by nearly 50% year over year. I mean just lifetime growth, right? When some 35 subscribers to 50,000 subscribers. James: 14:54 And we hit it on January 4th. So we really close. We were right there so close. I was everyday, I was like just a few more days and is watching as a huge thank you to the community. It's been really great, right? We, we have a.net channel. We have a, a Danette foundation channel. We have a visual studio channel. We have Azure channel or the Xamarin channel and all great developer content. We put up the Xamarin developer summit videos there. Um, this year we not only on the video space launched, um, um, a bunch of brand new material and the Xamarin forms one Oh one the Xamarin show. But you launched a new series, partly cloudy. Just doing great. I did. And it's back. We had a little um, recording difficulties there for a little bit between episodes, I don't know, six and seven, but I'm, we're back. We are back and we're raging to the end. So yeah. So that's a great one. You go from start to finish a building, a cloud enabled application. Super duper good. Um, and I love the hand drawn animations. Of course. Still season two. I got big plans. I can't wait. James: 16:04 I love it. Um, and then also there was a lot of other things that happened. Don't forget that this year, um, you and Brandon, uh, Minnick from the, the cloud advocate team launched a brand new Levin part Xamarin one Oh one series, which has done absolutely fantastical. Um, and I launched with my good friend Abel, a brand new mobile dev ops, um, series. I mean, we released this year just in Xamarin content, over a hundred new videos. I mean, it's always, we do two, two, sometimes three times a week, a new content for all of you. Um, and, and it shows, obviously not only in the, the, the YouTube subscribers, the views are just skyrocketing. And, and I highlighted the top, um, shows on there. So four things. Awesome. And Xamarin for forms for dot. For, uh, for dot O with, um, David ort. Now a brand new show that just came out in December. James: 16:58 Dean joined me for best practices, async await, nice introduction to Android acts. XAML how reload and fresh MVVM. Um, with our good friend Michael Redland that, that topped the list too. So make sure you check all that blog, subscribe, go. Let's drive it up. I have big goals. I would love to reach a hundred thousand this year, you know, 100,000 subscribers. And if we get 100,000 subscribers, we get a YouTube plaque. So that would be unbelievable. So I would love that. Yeah. Plaque as well. We'll do an episode around the plaque. Right. And I'm a plaque on boxing cause that's the community's plaque. How does that sound? That's right. Those communities, plaque. It does. Yeah, I'm into it. I'm into ice. So yeah, go check that out. So we've been talking about this last one or this next one for a little bit, but if there's a little repeating, and especially since our, our Matt: 17:50 Android PM John Douglas really wants everybody to know about it. Android app bundles. So John wrote this great, great blog posts last week. It looks like about Android app bundles and really how it works. And John does a wonderful job explaining about it. So James, you and I've talked about it, you know, and, but I think really John does a great point of driving it home. So what our Android app bundles, just to summarize it again. So, uh, app bundles is where you have let's say a arm 64 or a different processor or you have your French or your English localized resources and you put all those out into a app bundle file. But then what's going to happen is that Google play is going to generate the APK at install time. So it just really comes to a, a smaller APK size. So it's a faster download and that's great. And so what John does is he just goes out and he tells you how to get started with it, how to build it, and then actually how to test it too. So it's a great blog post. It tells you everything that you need to know and a nice linear, easy to understand order. So definitely check that out. It's super, it's super nice and it really just drives a point home about app bundles and it makes it super easy to understand. James: 19:17 Yeah, I highly recommend it. I've done a lot of blog posts about the Xamarin linker of course, optimizing it and you know, you can finally tune that puppy really down. And I did a blog post at the end of last year, I think we talked about last podcast about just investing time and you know, find those final steps. You've got like a spare day and you want to hack on something. Just mess around with the linker. But you got to use app bundles first. I mean, you don't have to but recommended because immediately you're going to, you're going to save so many megabytes on your download size that it will force, it'll shadow the amount of work that you even put in to just, you know, doing the, um, the linker adjustments. You might as well just, you know, opt in and go for it. And Matt: 20:03 it's a, it's for free essentially. You're just kinda opting in as you mentioned. [inaudible] James: 20:09 and also, uh, app center build supports that already in additionally app, um, Azure dev ops that was tracking this as they used to have it for. So if you were submitting and building from Azure dev ops, there was some bugs in the release management or something like that and they fixed that too. So that's all done. The dev ops pipeline, it's all butter. So you definitely go to town on that. I'm really excited for it. Um, I'm also excited, for example, hot reload. I, it's already been out forever. People are still like, is it out? Yeah, it's been out forever. It's been out for months. And Maddie is doing a whole series of XAML hot reload tips and tricks and enhancements and things and all the things. Um, this one literally is coming out the day that we're recording this podcast, so it might not even be alive yet by the time he listens. James: 20:57 But I got the, I can sign in, I can see the stuff. So I didn't want to Rob you this one. But you have, you're using the latest version of visual studio. I'm on Mac or PC. It's there. Right. She goes through about how to set it up, how to enable it. It's already on by default, but if you want to turn it off, you could too. But what's great about this is that she shows you in depth if you're on Android or iOS, what your linker settings should be, what they shouldn't be if you're on device, if you're not on device, she walks you through that guidance. Now there's, there's different bars that kind of pop up, but it's just good to know off the top of your head there's a beautiful flow diagram, but she goes even further. We've gotten a lot of questions about best practices and how do you get IntelliSense or where do I create my binding context. James: 21:43 She walks through that, she walks through design time data and, and also walks through some of the new stuff that, um, is planned based on feedback from the community. So it's definitely a good one to, um, walk through. If you're brand new and Andrea, you still haven't given it or you're like, Oh, how do I do that? You know, Maddie's got you covered. That's, um, that's, that's her. Uh, that's an every day Maddie lives the hot reload life. So, um, definitely check out that blog post too. I love it. I'm reading through the posts right now and just the making the most of MVVM underneath that header, that's worth, worth the price of admission right there. So definitely check it out. Yeah. James: 22:24 Yeah. Now I know that, you know, holidays are over, but it doesn't mean that maybe we didn't do a little hacking over the holidays. Matt, did you, did you work on anything, you know, holiday hacking, anything going on? I adopted two cats over the holidays, James. And so my holiday hacking was making sure these two little fi lions had a nice home and, um, they're awesome, but they're still getting used to things. Lovely. Very nice. Yeah. In fact, uh, my, my wife and I, we did, we were, we were doing some traveling over the holidays and we ended up going to some, um, animal shelters just to investigate the situation. We're interested, we didn't adopt anything, but that's really cool. Congratulations on not one, not one, but two cats. Yes. So sunny and Luna, the sun and the moon and the brother and sister. One's orange. One's gray. And, um, yeah, they're great. James: 23:18 They're, one's a big Teddy bear. The other one's a little sweetheart and yeah, they're awesome. Very nice. Very nice. Well, I a did not adopt any animals, like, uh, like I said, uh, but I, I did a lot of travel, had some family in town, but I did end up, honestly like the week, the new year's week last week I, I streamed for, I don't know, 25 some odd hours just in that one week alone. There's one day I stream eight hours just working on my holiday hacks and I've been working on some new apps, um, that I live stream. We'll put some links into the [inaudible] there for my Twitch stream, but, uh, we're on this new app for backstretch as I showed it on the Danette community stand ups. We'll probably link to that video. That's the best way I can kind of walk through my code using all the new Xamarin forms for, for stuff that we talked about in the last podcast of indicator view. James: 24:09 All view. Um, I'm not using swipe view yet, but I really want to, I'm using glyphs, like font icons. Absolutely everywhere. Did you know you can use them in like toolbar items and you can use them in tab bars. You can use them everywhere. It's amazing. I'm so checkout, partly partly cloudy because you'll find out how to do it. There you go. That's what they need to go see how you're using them. So cool. Um, and then uh, yeah, I started to, to redo an app. I don't know if you remember the old app app acquaint. Do you remember that idea? Remember it from a, it's that's like four years ago, if not longer. Right? It is very old. Yes. Um, so APA queen, so my good friend Tim here, you know Tim, I know Tim. He used to be my boss. Yes. If you don't know Tim Heuer then, um, definitely follow him on Twitter. James: 25:06 We'll put a link to his Twitter in the show notes. But, um, I started to work on, well, he tweeted, he said, um, James [inaudible] or actually in between. So the community said, he didn't say, James, you should have just said James immediately. But he was like, I'm looking for a starter app that has a list of contacts and maybe I can update me back in, sign in, I can view details, view a map, and navigate to the summit. I said, we have that, we have that app, it's called app acquaints. And he goes, Oh, the app that hasn't been updated in four years. Well I go, okay, well maybe geo contacts. I'm like, yeah. He's like, he's like almost, but it's not exactly what I'm looking at and that hasn't been updated in a year. I was like, Oh, not my fault, not his fault. Um, so I said, you know what? James: 25:48 This is a good app because I've done a few apps like my shop and a few other ones and the conference app that do you need to be updated. But this one was like needed some serious work and it was really big architecture. Really crazy. I said this would be a great story wrap. Like I want an app. It has a list of people. It does stop. I don't have to worry about back ends or this and that if I don't want to. Boom. So I worked on this and I've been pouring time into it and it should be done pretty soon. We'll put a link to my, my get hub before, um, with, um, the new, I've redone everything I've read on everything, so I read it a complete user interface. It's a list of contacts that are loaded locally. First, just like in memory, you can add, update, remove all of them. James: 26:38 Um, and then view map details. It uses Xamarin essentials for, um, all of the, um, placing a phone call, SMS, going to, to, to the map location, all that stuff. You just connectivity, you know, if you want to put in a back end. I also added an asp.net core three.one backend. So if you want to optionally do that, you know, there's no online offline sync or anything like that right now. But, um, you know, I just, I wanted something that's, you don't need to do whatever. It's very, you know, very simple. If you wanted to add your own backend or do whatever, but I gave this little options. You can run it locally or um, I have it up running on my Azure in a free tier and it just has a little in memory, just a little in memory cache basically and using entity framework on the backend. So it's very simple right now. But imagine you could be like, Oh, I'm just going to go and show my boss this, pull it down. It's really beautiful. I put theming in it. Light theme, dark theme, everything's in there. Um, and I'm still finishing it off, but that was my big hack. I spent quite a lot of time and it's going to be a great little sample, I think. So I should say I did do a little bit of a holiday hack. I didn't finish it, but Matt: 27:56 you know, I'm always talking about as your ADB to see, well I know it well on the mobile land, but I don't know what that well on the web end. So I did start putting together an ASP net core three app just so I can start experimenting on it, on the, um, on the web end. So it's not really where it's gonna be released or anything, it's just for my own edification. But yeah, so I was playing around with stuff while the cats slept. Very nice. I like it. Very cool. Nice. That's it. That's my hacks. James: 28:27 What a cloud needs do you got for us? We'll get out of my holiday and into the [inaudible] Matt: 28:31 into the clouds. So James, are you familiar with, um, I'm gonna put you on the spot here. RPC GRPC or John and say we're going to start with RPC. Oh, I know about GRPC. So, so RPC like remote procedure call, then there is GRPC and that G as far as I can tell Sansar Google, cause this is where it came from. Uh, they had a code name and then they released it to the cloud native foundation. So now it's completely open source. And so what a GRPC does is like the framework for making remote procedure calls. And what's cool is that it's low latency. It's highly scalable and it's great for connecting distributed systems. And so now all our listeners are probably thinking, so what big deal. Well here's the cool thing is that there's a.net implementation of it and RPC you need to have both at like a server side and a client side implementation of it. Matt: 29:31 So all right, now we're getting to the point here. Do you remember WCF Oh yeah, absolutely. Your communication foundation. Yup. And it was w those wisdoms and everything else. It was when it, when it worked it was, it was great. Right? But Hey, at least in my experience, so maybe this is, cause I always set it up wrong. It kind of didn't work all the time. Like right now we had these rest services and, and the issue with rest services is that you don't really have a hard types. Like with those whistles you just pulled up, pull them down and it gave you everything. Like it created a whole hard type on the strongly typed objects and everything and a way to call them on the client. With rest services, you don't get that with GRPC. That's back and it's easier to use. So that's cool. Matt: 30:20 And it's really what they did with a GRPC is they kinda aimed it at mobile development, which is super cool. And so there's actually frameworks out there for a job on Android for Swift, for iOS and objective C. and uh, there is a.net one now. And so not only do you get the mobile client or the, uh, client side where you get a strongly typed to call out to the server, you also, you get on a, on the service side, you get like all these interconnects. So say like you have microservice a, microservice B and microservice C all built underneath GRPC and let's say a has it called B B has a call C and B fails. Well you can set up, so like you can have like, alright, my whole thing's gonna fail if a doesn't hear back from B within like two seconds or something like that. Matt: 31:14 So you get all of this like in that framework of GRPC as well. It's just really kind of neat that it's out there. We have it for.net and it's something to explore I guess. And um, it just reminded me when I was, when I was finding out about it like of the WCF days and it's like, well that's kinda, that's some cool stuff to read about. So, and maybe an implement. So yeah, there you go. And, uh, I'll, I'll put a show notes are in our show notes. I link out to a show that goes over our.net version of GRPC with um, a nice demo in it. I have a how it all works and put together. So cool. Very nice. Yeah, I'm, I'm still, you know, um, newer on the, on the GRPC train, I did a a. Dot net confident, a demo with Xamarin, Xamarin forms application, the weather application that was reading in data and pulling it down and I would like to contract base stuff. Matt: 32:15 It was pretty cool. Um, and the, and the SDK works fairly well, so, uh, I was pretty surprised by it, so it's very nice. Yeah. Yeah. The contract based stuff I think is worth the price of admission. And, uh, another one I wanted to talk about was, uh, Azure service bus. And, um, so the reason I'm bringing this up is not only is it going to be the Azure service of a month and I in a bit is that our good friend sessile put out on the, on dotnet show a three part series of Azure service spas and what it's all about. And so I'll get right into it. We'll blend this right into the Azure service of the month and um, kinda goes kinda hand in hand with GRPC is that a Azure service bus is all like cloud messaging and well what's cool about it is that it can do asynchronous messaging too. Matt: 33:08 So like something's down, it'll hold it and like it can try again later. So it's like this enterprise worthy cloud messaging system and you can do pubsub and stuff like that. And it's, it's really cool. I really love the fact that if a system's down, you can still like set it up, it a habit. So it keeps on going. Like it just doesn't like, Oh, can't communicate. I'm done it. You can set up these rules so it can keep on going. So it's like these complex messaging flows that you can do. Yeah. So that's the really quick overview of what, uh, of what a service bus can do. But I'm going to put three different leaks to the, to sessile show where he interviews one of the a PM saw on um, service bus team and does a great job about it. So, yeah. Nice. James: 33:58 Very cool. Yeah. Mo I like learning about like, I know, I know, you know, when we started redoing a lot of this and then coming up with different sections and I kind of learned about the cloud news. It's always fascinating cause I've heard a lot of about a lot of these different services like service boss I've heard about forever. But like what is the contacts? And for me, like every mobile applications are going to need, stuff's like maybe this fits somebody's knees or like you need this type of functionality and boom, it already exists, you know, to go try to find it. Like it's just there, which is cool. So, Matt: 34:28 right. Yeah. Cause on a back end you're always going to have to build a back end for your mobile app. And a lot of times you're going to have different backends and are gonna have to communicate to each other. So like service bus is that stitching that's or the thread that stitches together your backends. Love it. Noise. James: 34:46 Um, all right, well there's one thing I want to talk about before we get into the pick of the pod, which is um, if you're listening to this, um, next week on the 14th or if you've listened to this months from now, you can go back and click on the link, but there is a blazer comp coming up, which is very exciting. I like to always highlight all the things happening in the.net world. the.net comm has usually just been once a year. So Donna conference, we had a bunch of Xamarin announcements and the keynote, um, which was great, but now they're doing these focus deep dive sessions, um, throughout the year, which I'm very excited about. And the first one is blazer. There might be other ones coming soon. I can't announce anything yet. Let's just say if any are things are in the works. Um, but yeah, this is really cool. James: 35:31 So there's a bunch of awesome sessions on blazer if you're gonna says that in fact a one from one of my Ilan, uh, on blazer mobile bindings. So I'll just tease that out there that you can, um, do that. So if you're a web developer, this, this conference is for you. I'm a client developer and sometimes I got to write a web apps. So blazer comes in, very nifty for me, so definitely check that out. But that's going to bring us Matt to everyone's favorite part of the podcast, the pick of the pod, what you got for us. Matt: 36:02 All right. So I was looking for just some stuff to snazzy up my apps and I came across this library called magic gradients. And so we all know and love the pancake view, right? Which is a great view of that kind of adds some nice, I'm going to call them calm gradients, you know, so it's just, you can put on whatever direction you want, but it goes from, you know, like one color to the next. But if you really, really want to just prime your gradients and really do what ever you wanted with it, this magic gradients will do it. I mean when I, when I say whatever you want, you can make like a checkered gradient so it looks like a, like a picnic tablecloth, but does a gradient in that checkered way. It's crazy. So I mean if you really wanted to go gradient crazy cause that's the rage magic Radiant's is the way to do it. And it's really just kind of cool. I mean if you really wanted to do some really neat background colors or something like that, magic gradients, it's, I'll put it in the show notes and it's pretty easy to use and use a skier underneath the covers that do it. So it's, it's drawn on everything. So it should be pretty fast. Yeah. It's uh, it's really cool. There's James: 37:13 in one of the gifts, there's like retro gradients, there's smooth gradients, there's angular stripes, there's all sorts of, almost not even gradients. I call them textures, like, you know, backgrounds for like headers or backdrops, like bursts. It's like very beautiful, like very beautiful, great, very beautiful styles of gradients in there. I think of them, again more than just gradients. They're, they're more of a texture, like a textured, you know, background. Matt: 37:46 That's exactly at their textures. You remember back in the old days when you're building websites and you always look for the perfect texture to put on the background for your website. That's exactly it. So this would look great on, on like a fly out for like another hand fly out for like the hamburger menu. Like the header on shell [inaudible] James: 38:03 yeah. Oh yeah. Oh yeah, yeah, definitely. Give this a look. I'm inventing and talking about pancake view. Um, uh, I know Steven has been, he updated that he did ag some gradients, which I do use my apps and it's if you're inside of the pancake view, which has beautiful cards and a bunch of other stuff in there. Uh, he also updated debug rainbows with um, a grid line overlays, which is really cool. So give that a, like we talked about that on the pod, but I have a different one which is sharpen NATO. Um, it is, which is a great aim for a, uh, for anything. But, um, this is from John [inaudible] a Fonzie. Am I good or a good friend? Uh, um, over in Patty, uh, sharp NATO is an awesome, um, this is a web, it's his website@sharpnato.com, but also he has sharp NATO dot presentation dot forms. James: 38:58 And this is like a presentation layer on top of forms for a bunch of custom components. And, um, what is in here is really all about tabs, tabs, tabs, tabs, all the tabs. Um, he does stuff like, um, horizontal list views and a few other things. But what I love about the tabs is that you can do all sorts of beautiful things with these bottom tabs and top tabs. Um, you can combine them, you can put the tabs anywhere on the screen. So you can have scrollable tabs. Like on the app store, you can have tab buttons. So you can do that thing, you know, sort of like on Instagram, there's a big circle or a custom button in the middle. You can do that and it can be an icon or anything that you want inside of it. And people are asking, how do you do this all the time and how do I make, you know, customization and really fancy tabs. And this is how you do it. You know, he, um, he's done all the hard work for you ahead of time, so definitely give it a look. I love it. He has a great blog post that we'll put a link to. Um, but yeah, definitely give that a lucky if you're looking to do, I've recommended to people all the time, but like, Oh, how do I do this thing? I wanna I wanna replicate this app. How do I do it? I don't just use this package done and you're good to go. Matt: 40:13 So give it a look. Yep. Nice. I think I might repacked her. One of the apps that I'm working on to use this thing just like and use the camera tab or the camera button right in the middle of that big circular tab. That looks so nice. Yeah, super good. So cool. All right, that's it. We did it. Nice first part of the decade in the books James: 40:38 in the book. So of course everyone can follow us on the internet. I am at James Monta Magno. You are at code mill Matt, correct? Is that correct? Matt: 40:47 That's correct. Have been, will be. Cause I have been and now I'm stuck. James: 40:52 Yeah, there you go. Of course you can find the Xamarin blog in the show notes and go to Xamarin podcast.com you can subscribe to the RSS feed. Tell your friends about it. That's it, Matt. Matt, I will see you in February. Matt: 41:05 Yes, yes, indeed. You will. A pleasure as always, James. All right. Bye. Bye. Bye bye. Speaker 1: 41:20 [inaudible].