00:09 [inaudible]. 00:10 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'm Matt Soucoup and I'm James Montemagno. Matt, how's it going buddy? I'm doing super duper awesome James, because it is our one year podcast anniversary. Oh my goodness. It is, isn't it? I totally forgot it. Yeah, it totally is. And we are separated today. You're, you're at home. I'm here in a studio and there's cake everywhere. I brought tons of cake in to celebrate and you're missing it. Oh my goodness. Are you serious? No way. No way. No, I'm joking, but I wish I did. I could totally go for some cake right now. I remember when we released a Xamarin for a, I think it was Xamarin for, yeah, back in the Xamarin three back in the day, I guess. 01:04 Then the Xamarin days we'd have these big sort of monolithic releases, right? So it'd be like Xamarin, two's and three's, Xamarin four and it was a combination of like a years or so worth of work. And usually it was announced that evolve or sometimes in between evolve. And what was cool about this is it was a huge webinar and like huge announcements that were like multiple products. I think Xamarin four was like insights and test cloud stuff and I don't know, a bunch of new like, you know, remoted iOS simulator stuff and all this jazz. Right. And we did all of these community events, which was, which was really fun and we encourage people to make birthday cakes for Xamarin. And uh, at least in Seattle I printed off and they made a Zam Hogan like a Samangan cake and printed the big exam on four on it. 01:52 And I remember other people had done a bunch, they had like monkeys all over it. It was, it was super fun. I wish that I have to find that blog post, but, uh, I, I love the idea of like custom cakes for like logos and things like that. Like just so cool. I totally did that for by user group. I went to the, went to the bakery and had them took a picture of the Samangan and said put this on a cake. And we did. And here's, here's the worst part on the drive over from the bakery to the user group, like the cakes flipped around in the and got all smushed up but still tweeted it still had Jamie retweeted out on the Xamarin HQ logo. So are they say my HQ Twitter console. I still made it out there. But yeah, it was a little smooshed up. 02:33 It was like more of a triangle. The six six sided kind of got switched to three. But Hey, I tried, Hey try this. That's all you can do is you can try and hope that it works. So, uh, yeah, I hope, I hope everything else is going gay. So this is your, is this technically your second? Um, winter in Seattle? Yeah, it's going to be the second one or Seattle winters are really like Wisconsin spring times. So it's really not that bad. And the worst part though is that something that nobody told me about is how dark it gets up here. So like it's dark until seven o'clock in the morning, maybe even later. And then it doesn't sunsets again at what, three in the afternoon or at least it feels that way. So no, everybody talks about the rain. It's the darkness that um, really is the big problem up here. 03:21 So what do you think we're recording and I believe that we are almost on the shortest day of the year. I think it's coming up and it's about to flip back over and we'll gain some time. But uh, I just came back from our honeymoon and that was the hardest part because we were in like New Zealand area, a few of the islands over there and uh, the sun was setting, sun was coming up at 5:00 AM and the sun was setting at anywhere between seven and 8:30 PM based on where we were at, how far away we were from the equator. And uh, coming back that that's definitely again, yet the hardest adjustment because you're right, it is gray. Like it's raining yesterday, raining today, but that's fine. I went to the grocery store and picked up my stuff and got a little wet, but no big deal. But you know, it's when I look outside and I just start my Twitch stream, which is that like two or three o'clock and it's completely dark outside. 04:13 I'm like, okay, like you know what, what? What can I do? And you, you can't do anything. You don't even want to leave the house. You know, people talk about the Seattle freeze and it's not that it's cold, it's just that it's three o'clock and it's completely dark and no one wants to do anything. Right. It's, it's the darkness up here. The rain, you can handle it, just go outside and it's fine. It's the darkness that you just have to snuggle up at home and you work on your Twitch stream or in my case you just watch TV but [inaudible] and you just wait for springtime. Yeah. Yeah. But you don't have to wait long because there's a whole bunch of new stuff. How about you kick off the new releases, Matt? Let's get into it. Yeah. This came out, I think it was last week. Visual studio 20 1916. 04:54 Dot. Four. And you know what a big GA announcement. And there James, that doesn't seem like it was GA because it's been an air forever XAML hot reload and that it was just behind a little checks check box before. Now it's in there for GA. It's a never good. It's never ever going to go away. It wasn't going away before. But now it's, it's there for everybody to use and love and enjoy and it's who doesn't like it? Yeah. It's there and on by default and boom. Yeah, that's kinda nice. And I know some people were like, I don't know if I want to check the check box. I'm like, Oh geez, just check it. Just do it. You know, and then now you don't have to, it's already checked for you. It's already checked. And that's the problem. The checkbox was kinda hidden and that he had to go way screw away down to the bottom. But now you don't have to worry about that anymore. Um, another thing that we released in 16 dot four is a Android app bundle publishing. And I'm, so this is kind of cool in that, um, the app bundles, when you release them to the Android store, you used to, 05:58 it used to be big, right? It had to include all your localization in there. Now it's going to automatically slim it down for you. That way when you're released into like the U S it's just the U S stuff in their words for you're leasing, let's say to Germany. It has just the German stuff and it, um, and, and a whole bunch of other, um, slimming down and, and bundle publishing stuff where you there. So we'll include, include in the show notes, a Samarin show that you did about this. And um, it's definitely something to check out there. So yeah, it's super, it's super 06:29 foreign and I enabled it already on my Hanselman forms application had been building and you can, you can make the adjustments inside of, uh, inside of Azure dev ops or app center already today. You can just like check a few things. It's really easy to do via command line. We have, um, ways of doing it and then publishing that bundle. And the nice part is like, even if your app isn't too big, the beautiful part about app Banos that it just makes them smaller anyways because it creates the, the package for your users on demand. Like you're saying. So if they are only have English, English language that it only downloads that, but more importantly all of your images and assets and everything like that. So you can see huge reductions. And you might be saying, well I'm not using tons of stuff. Well the bigger part or like third party libraries or just run time like native libraries. So when you ship an app, you ship like a, uh, the, the Xamarin runtime for your app, the mano runtime, and maybe you're using ski a sharps, you have a ski ski, a sharp lib. 07:35 Well you normally bundle everything together and, and there's multiple architectures for your apps, like armX , 86 and 64 bit versions. Those all get jammed together. And that can, that can be a few megs. So it can be 10 megs. Right. But if you put in an app, bundle the app store, the Google place, or will tell you that like, Hey, what's actually delivered to your user is not 20 megs, it's 10 megs. And like that's mind blowing. Yeah, that's a big deal. And that's something, at least you don't really think about. And on the surface you at least, I only think about images or resource files, but the architecture sub underneath that you don't have to think about everyday when you're developing. That's a, that's really nice that we now have that within a visual studio. So, and another more Android, goodness. We can't stop with the Android stuff is um, Android X migration wizard. Now it's an Android X or Android 10. I mean, what are we calling that? I was Android X. Android X. Okay. Yeah, I try. And, um, so as I understand it, James and L correct me if I'm wrong here with Android X is that it provides, it's like the next iteration of the Android support libraries is that basically basically, and um, and so it's better, I guess, easier to understand what the support libraries are doing then they're, they're easier, 08:56 better named. And um, so the, this migration wizard wizards going to do is that it's going to help you well migrate from your older support libraries over to the new Android X once and yeah, we, the new libraries are out there better named and the, I believe that bike ration was the right now still in experimental, is that correct? But, um, you do have a John dickhead year. We did another sandwich show on it. We have a blog on it too. And um, yeah, it's definitely worth checking out again. So day improve yours or your Android experience. Yeah. And, and I think Andrew X is really important if you start to use third party libraries that have a requirement on them. So, usually what I like to say is if, if nothing's broken, don't try to go off and fix it or break it. Just, you know, continue on continuing on. 09:53 Uh, and the coolest thing about how the Android X migration wizard works is it does like a, uh, marrying, like John John Dick goes into the details on the, on the blog post and on the, the video, but it does a, it doesn't emerging of old libraries and new libraries. And even if you have packages like Xamarin forms that are not using Android acts, it will upgrade those automatically. So you have a bunch of DLLs and they're all combined together and it does a bunch of swindling magic under the hood to upgrade your, your, your libraries without having to change code. But you can still actually change the code. So if you had an Android app and you needed to use these libraries or was a new feature you want it to do, then you would, you would upgrade. And there'd probably be a point in time where we push a lot harder on the Android X migration for developers. 10:42 Um, but I think even with support libraries, no one liked ever updating support libraries, right? Like no one wanted to do it. And, and, and even I at some point would just get upset about it because they were so stable. And I was like, okay, everything's fine. I don't need anything new. Especially when you're using Xamarin forms, it's like, well, Xamarin forms needs to worry about it, right? Because they're the ones using all this stuff. I'm just using Xamarin forms. But, um, often if you're using some third party libraries, they might update this. So, um, the nice thing with the migration wizard, which I've tried, is it just automatically figures out all the packages that it needs to install for you automatically, which, and it does it correct. It doesn't change your code, but it does like change your libraries. And, um, that's, that's quite nice. 11:23 So you can give it a tribe. I've done it. It works. It, it works. I did it. So what more can you ask for that? It works. Right. And speaking Alice, about what else about changing libraries and it works. Something else came out, James. And it's right. And it's big, right? It's vague. Xamarin forms for dot for, uh, you know, I just came back from holiday, I was doing a live stream earlier this week and I upgrade everything to four to three. And then I was like, Oh, I want to use a new feature, a four dot four. And I and I use four dot four and then a day later it's stable at a Lake. That's great. Um, and uh, yeah, there's a bunch of things in here. Now I'll, I'll mention that a lot of the big features are still under feature flag. They're like nearing finalization. 12:09 Um, but they're totally worth looking at. And a lot of this one had tons of hack Tobar fast enhancements, which we'll talk about later on in the pod. Uh, but one of the bigger features is some gift support or just support, however you want to pronounce it. I say GIF, GIF, hard G GIF, um, support in there, which is cool. And uh, what's nice is that you can also tell it, um, uh, a Boolean for his playing animations. So you can say true or false to start and stop animations. Um, which is nice. So it's just an image. It's not a special image. It's not like a GIF image. It's just an image and you give it it GIF and it works and you're done. Pretty much. That's it. Like I like that. I like that. It's like it's a whole feature, but also it's just the controls still, you know. 12:57 Um, I like that. Uh, some other things. So the next three all sort of are paired together, which I like, which is um, carousel view indicator view and a brand new view, which I'm super stoked forward to swipe view. So carousel view we've talked about for whatever on the podcast, I think it's been awhile that we've been talking about it. So yeah, it cause it came out with collection view and collection view is finally stabilize and it's, it's, it's, it was in stable for about three and I think carousel, if you wanted to become four dot four stable. But you know, we was looking at finalizing a few little tiny little bits and I, I started using it. Am I am I streaming, I was super impressed. And the feedback, why the team, I was, I was listening to Paul and David, um, and on some of the calls with some, some, um, developers and MVPs, they were like, Whoa, but I, but I need it to do this and I needed to do this and I needed to do this and I need an indicator of you. 13:54 I need a little dots, you know? And I said, okay, well we could put it out like the team. And the team I think was like, well, we could put it out, but then it may not feel like finished, you know? So I think they, you know, it's, it's better to get it right than to rush it out. But if you want to use it, what I love is that it's just a feature flag. So you don't need an up, a special package you just in software out for, and you can globally just turn these things on. So you can just globally now say device dot have, what does device dot set flags? And then you give it a list of, of strings. And that's it. And then you just turn it on and boom. Done. And, and that's nice. So carousel view bills on top of collection view, it lets you swipe through basically a to carousel of things. 14:39 And then indicator view is actually a separate control. And uh, I use this and it worked. It was cool. And so community PR and it gives you those little dots. You know what I'm talking about? Little dots basically underneath. Yep. Let's, you know how many like photos or whatever that you have in the carousel view, how many items? Yeah. And they made it a separate control. So you're in control of positioning it. And when you think about it, I was like, man, why is this a separate control? I just, you know, and I thought about it, it's like, Oh well I've seen indicator views like on top of images on the bottom, sometimes on the top, something, you know, you know, whatever. So it has circles and squares built in. I don't know if you can completely customize it, but you on the colors, but you can do the size of it basically. 15:21 And maybe in the future indicator view, since it's its own control, we'll have like a, you know, you could set images or do something like that. I don't know. I mean you could probably expand it now that it's its own control and then rev it, uh, independently, which is kinda nice. So that's really nice. Uh, there too. Um, so those two are nice combined that have Randy one completely different, his swipe view and I described it to you earlier and let's see if you can re-describe it to people, Matt. Yeah. Yeah. So let's say you had a list view or a collection view because collection is going to make you forget all about till this view and each individual item in there is, well an item that, let's say you want to delete one and this, you can swipe it over and then it'll delete. 16:08 So you can swipe to the left or you could swipe to the right as one popular application does and you have it, it's there for you. You could put and you could put this around other things as well so it doesn't have to sit in a list view or a collection view. How did I do that was great. Yeah. You can swipe to the left, swipe to the right and you have different items for each of them and uh, it's super duper cool. Yeah, I mean it's all in there. It's all documented and really, really cool. And I think what's nice is that you can, there's also a platform specific like swipe transitions that you can use for like iOS and Android too, so you can enable some additional swipe modes and things like that. So I also like that this is a separate control. 16:56 You just wrap it, right? It's very much like the, a refresh view was it was a separate control. And I was telling David the other day, I was like, man, I just, I was, I've been talking about, you know, how hopefully like, you know, with more community contributions and more controls and all that, you know, forms had stabilized so long ago. It's like add more stuff. And then I came back and I saw this and I was like, Oh, there's a new stuff. Like you're just a new stuff all the time. And I love it. So, uh, I love seeing new controls. So a really, really cool, uh, to see, um, to see this one in there, I'm going to definitely be using that and just more controls. I'm all about more controls. Yeah. That one took me totally by surprise. I had no idea where that came from. 17:34 And um, yeah, I'm looking at the blog posts that we're going to put out for Xamarin forms 4.0 and talking about the swipe view. Where did the characters come from when we're talking about here? Like jiggly Pluff and what are these James? It's not, this looks like something that you'd be totally into. Yes, I like that sample cause it's all smash brother characters, fighters. So it's like, okay. Yeah. All right. Pretty cool. Pretty cool. I didn't make that sample but it's a really cool sample. I think it was probably from like heck sober fast or something like that. So it was a nice, that was a cool, and I like it. So yeah, it was good stuff. Those are the new releases. You can go update 16 dot four and grab it. Xamarin forms four dot four. 18:12 Go get it. Make it happen. Sweep. You know, what else do you should go make happen? Is this great website called snippets. I think they'll say you're going to pronounce it snippets. It's a run by, yeah, one of the great community members. Um, Stephens we set, I hope I'm pronouncing his name right. And uh, what it is is just this, um, website that has great UI samples for you to download and make your application look great. So it's like Xamarin forms samples that you can just go pick out the three different categories like UIs or login screens or, or what have you. And so what we had there was a community challenge run around that so you could go in and then submit your own great looking UIs for it. And so we have a blog post where we announced the community challenge four and then we, um, Steven went and had a wrap up posts around it. 19:11 And the wrap up post is pretty cool because, uh, our own Kim Phillip ops pots, uh, put a post in and, uh, it was like a Marvel comics superhero browser and this thing looks amazing. And uh, but there's also other ones in there too is, and I'm wanting to say that maybe there were more functional, um, like more for like forums over data. And they're great too because I, they'll have graphs in their little charts in there too as well. And it's going to give you inspiration on how to create your user interfaces. So it's really cool stuff. Take a peek at it and we'll put them in the show notes and yeah, super cool. And um, I actually just wrote a blog post and I used for my UI stuff off of snippets and it looks way, way better than it would have ever done had I had, I had to do it myself. 20:07 That's pretty cool. I like that. I like that it's a, yeah, right in there and grab a bunch of stuff. I'm guilty of not putting or putting anything in there, but I need to, I need to need to take one of my UIs and I'm just like, I dunno if it's good enough to do a UI, but I'm, I'm finishing the podcast ones. I think that might be a good, like here's a podcast album basically that, you know, if you have a podcast episode or MP3 episode and just plop it in there so it just very simple grab some stuff and go. I like that. So I'm like, let me put that in there. So 20:36 that's what, I love that it's broken down in a certain area. So if you know what you're looking for or they know what you want, login screen. Yeah, there you go. I like it. 20:44 Talking about other challenges, the hack Tober as you mentioned earlier, which was October, but there was November, now it's December, but, uh, it takes some time to put all this stuff together. And the, uh, hacks over festival awards are given out in mid November, some trophies, some swag. And stuff still being sent out. It takes some time. Uh, some T shirts, a bunch of good stuff, and a bunch of that stuff was in Xamarin forms for dot four. So there was a bunch of other things in there from the community, um, that we didn't mention. Yes, I have food to save them for now, but there are some new scaling animations. So scale X to scale Y to buy Steven's [inaudible], um, letter spacing, uh, byK some Manco placeholder text alignment by KR the Miller, uh, and using name sizes with font immune sores, which is very, very nice by two yin voodoo. 21:33 And there was other tons of great improvements as well. Um, in there there's a whole blog post. There was I think 30, um, for 178 pull requests by 72 contributors. Wow. Yeah. That's amazing. Yeah. And what I loved about the, uh, winners, I'm not gonna say they're not winners. The people who can, well there, everybody was a winner, but the people who contributed the most actually got like, what were they plaques, these glass trophies that were, that's pretty cool. Yeah, there was 15 individuals that did, I think submitted more than one PR. There was 15 of those individuals. And then on top of that, there were six individuals that did more than 10 pour requests. And yet they get those assignee trophies customized for them, which is pretty cool. 22:22 Yeah, that's amazing. No one else's amazing what collection view it is. It's true. It'll make you forget all about the list view. I say that every time when we get that tattooed across my forehead collection view, it'll make you forget all about the list view. Um, so David [inaudible] did a blog post and this is a great blog post, like five quick tips for the collection view and actually had a tip owner that I had no idea about and I tweeted about it yesterday and um, I'll get to it just a second. But um, I'll go over the five quick tips really quickly here. Um, so what it is is that he gives us a, an idea at how he can go through and load infinite items. It can be a setting, a property that when you get to the end of like, let's say you have 10 items in there currently that it fires and you can get more, um, items out there. 23:15 So think of like Twitter, when you're scrolling through and you want to get more items, it'll call out. Um, then let's say if you're, if you have it scrolling like left or right and you want to snap an item to position. So it's like instead of scrolling freely amongst a bunch of things, you just bring it in one thing to the time it's so it's like a hard snap shows you how to do that. Collection view by itself doesn't have a concept of like the separate items and the view. Well add a box for you to do that. So you go over that. And the one I didn't know about was, um, if you just need to navigate between screens and you're using a collection view to see display items, I was always under the impression that we should be using the a selection changed a command or event. 24:09 No, that's wrong. That's wrong. Use a tap gesture recognizer itch. It makes sense. But I wasn't doing that before and I actually put it in the partly cloudy show to be using the selection change events. It's like, Oh, so I'm have to do a wrap up wrap up episode at the end where I, where I correct that and uh, yeah. And so the fifth, the fifth, uh, the fifth tip was to, uh, to, to increase a little speed performance is to use, um, measure first item. Like if all your items are going to be the same size, if you do the measure first item strategy to um, or your size sizing strategy just to measure first item, you can tell the collection of view. All right. Just measure this one and used all the rest to be the same as that first one. So yeah, that's pretty cool. And um, it's really helpful. This five quick tips, like a five minute read and uh, it should help you out pretty, pretty good when you're using a collection view. I think so. Um, 25:11 super duper nice. And yeah, I was ILC use selection changed, so don't, don't worry. It's okay. I believe many people do. And the reason I think selection change is more of your, you are maybe turning on and off like a multi selection. Like if you had a little circle and then you tapped on it or whatever and enabled that and you want to know and they've tapped on or selected so many of them. And um, you've got, I guess you could do it on this, on the list of you, but I always felt list, view, selection change was natural cause it's one at a time, but the idea of so of collection views that there's multiple rows and columns often. So I guess there's no reason not to use a tap gesture because he, you can also do the relative source binding. So if you have a, um, an item, you can easily set up a tap gesture recognizer to um, to basically call your view model command. 26:10 So I'm going to go update that in the Hanselman forms app actually and didn't do that. So that's a good bog. Lowe's, I love, I love this blog posts because it enables me at any time to like just go back and at least get to the documentation or um, you know, just figure out what I could be doing a little bit better. So that's a good way. And I even wrote another one cause I figured what's five tips without a sixth tip. And uh, even though mine came out before his blog post, I guess it was, it was index zero tip. Um, and uh, I did pull the refresh anything basically in Xamarin because who doesn't love pull the refresh? I've written off a thousand blog posts on, pulled the refresh in my day and I'm very excited. That refresh view was released in Xamarin forms four dot three. 26:55 And this is a separate control that was introduced alongside collection view because collection view doesn't have full the refresh because you use a refresh view because the refresh you can pull the refresh anything and um, uh, not anything actually. It just works with um, collection view list view, scroll view and web view of things that are scrollable. And, uh, you just wrap your collection view and a refresh view and, and it's nice cause you can control the colors a lot more. You still have your is refreshing command. You have your command that gets executed. Um, and it's very nice. I I show how to do this basically inside the blog post and it even works with UWP so it works with UWP a refresh inside of it, um, which is super, super cool. So you can even set the pool direction of it and things like that. So, um, super, super nice. Yeah, I'd give that a give that a look if you're like, Oh, how do you do it again? And it's all super well documented because that even works with carousel view. I think you can do a pull the refresh on a carousel view YouTube because like why not, you know? 28:00 Nice. And that's just one of those things that you needed to use a lot and now it's all over the place and it's super easy to use cause yeah. And that blog post I was reading that you, that one that you wrote and it's a, you go through and you show how to hook it up with a command, which is the way that you should be doing it with MVVM. And it's just, yeah, it's one of those 0.02. David's to David's blog posts and um, yeah, super sweet. Love it. James Hardy. Phil bolt, serverless. I love serverless. I'm a big fan of the serverless. I write everything serverless. See that's what I love about serverless is that I think it's a great, if you're doing something from scratch, like a Greenfield project, I think it makes a great web API rather than like your traditional.net web API. 28:49 Um, mainly because you can scale it down to zero. And if nobody's using it, you don't get charged for it. So that's not that nobody would be using your applications, but you know, just in case. Um, so, uh, there's a a a cloud native show that, um, Jeff Holland who is, um, like the face of serverless here at Microsoft. Hey, it goes out and explains how surrealist fits in with cloud native technology. And so we kind of talked about cloud native previously on, on a podcast here. And um, everybody kind of thinks of cloud native as like containers and Kubernetes and a bunch of other stuff that really may or may not apply to the mobile developer, but serverless totally does. And think of cloud data as things that couldn't exist without the cloud. And so Jeff goes through talks about it, how it really makes sense and really several is dynamically scales and can support massive amounts of users. And in a show is really cool. He shows it going up from this serverless app from zero to thousands of users and within a couple seconds and it, it works. And so it's just cool to see. And so like everybody's apps here can be supporting millions of users at a time. Several. This would be a great backend for it. So yeah, 30:12 I like that. I'll put it in, in the show notes. Yeah, I'll have to watch that too. Cause I've been thinking about, I'm about to start than this on this app that I've been building a little admin website and I've been thinking about building a, a blazer app for the web portion of it. Little, I just want an admin page, so handsome and can go in and update featured items that are on the, on the, on the app, right? Cause I knew a little admin portal for that and I store all my data in Azure functions and in blob storage. So I pull all that data down, but I need a way to upload photos. And I was like, you know, what I should do is create an Azure function that takes in a blob and then writes that blob to blob storage, all with connectors. 30:55 It'd be super duper easy instead of having to do tons of SDKs and authentication and all this stuff. And I was like, let's a function, do it, right. Um, and do an authentication level so you only whoever logs in or whatever can access the website or whatever and the, and the backend. And um, I thought that would be kind of cool. And then basically the entire website and mobile app and authenticate everything is handled by a function. And then yeah, it's, if I wrote a blazer client, like web assembly version, then there would still be no web server. Right. And it only be Azure functions like when you went to the website, only install the or update like open the web assembly portion of it on demands. Like really minimizing my server costs. So it be kind of cool. Yeah. And that's, you kind of alluded to, another thing that's really cool about Azure functions is that the connection to like blob storage that you don't have to maintain that connection at all, that functions is going to do it for you and it's going to pass that client and for you as a parameter. 31:59 Yeah. So it just happens and you don't have to worry about maintaining it. You don't have to worry about knowing anything up. It just happens. And super duper nice. The runtime makes life easy. Super cool. Yup. Um, have you heard about these uh, Azure core SDKs? I heard a little bit about them and I was at a unite and there was an Azure STKs booth, uh, that I sat across from, uh, most, most of the day when I was running the booth over there. And you've got to understand a little bit of what they're doing, but I want you to tell me a little bit more. Yeah. So essentially what we're doing when I say we the team is I'm making the various STDs, 32:37 various services like storage service or authentication service, uniting them to make them, I guess a smoother experience for developers. That way if you're using one, the other ones will be more familiar to you. Hm. That's, that's in one sentence. That's a 50,000 foot overview I like. And, um, yeah. And so what I'm going to do is put it in a show notes here, a couple different shows. The a on.net show where I'm our good friends. Sessile Phillip goes over and, uh, interviews several members of the team on the, uh, on the Azure SDK team about what they're doing and they dive in a little bit deeper about it. Um, one will be just like the Azure core SDK, which core means the core to all of them. And another one, my favorite, the Azure identity, S C K. and um, what's cool about the identity SDKs still depends on MSL underneath. 33:31 So MSLs not going anywhere, which is great, but uh, it really unifies the way that we do authentication between, um, like dev and prod, where you don't have to change any code at all. And um, it's, it's super sweet. It's something that check out with your, uh, if you're rolling your own, um, authentication scheme. So I'll, I'll link to those in the show notes and yeah, it's, it's something to check out and they're, they're hot off the presses too. Very nice. I'll just take a look at them for sure. Nice. Yeah. So you know, it's our second favorite time of the pod as your service of the month. I'm going to say what's that? I was like, the whole thing is my favorite Matt and the whole thing isn't right. Azure service of the month. What do you got for us? Alright, one a year. Maybe this might be your favorite Azure service dev ops. 34:23 I do like dev ops. Yup. So normally I, I last couple times I've been picking one I'll say is a more foundational services, uh, as your content delivery network and Azure storage. I figured this time I'll use a bigger, more higher level one and dev ops. And I know you've been doing a lot of 'em. You enable Wang had a show on dev ops, a couple of cup, like five or six episodes. You'd have a mobile dev ops. I've been doing a couple of talks on dev ops and I love it. I totally, totally love it. Um, so dev ops obviously is CIC D continuous integration, continuous deployment, um, delivery as Donovan Brown likes to say it's continuous delivery of value, which I think is a great definition of it. And so w what Azure dev ops does is lets you create a build pipeline. So various different steps that you can put together and it'll build your, let's say Xamarin app. 35:25 So you can say, all right, I want to download my new guts. I want to build my app, I want to sign that APK file. And then eventually I want to distribute it somehow, whether that's via app center or actually by Azure dev ops itself and distributed to like internal testers or even out to the Google play store. And so it's cool. He could go step by step by step and then it's repeatable. You don't have to worry about doing it over and over again. And what's even better iOS, especially that signing and provisioning step. We can upload all your certs and your a provisioning profile, get us set up once. Don't worry about it anymore. And um, other things, I know you have some dev ops, we'll call them extensions, where you can increment the info P list number, the bill numbers automatically. Or if we can change, like if we're in a development branch, change the name of the app. 36:20 So it says Hanselman beta, let's say if for when we're testing, the Hanselman apnea does distributed to internal testers. So it's really extensible and it's um, super duper cool and it can do more than just build pipelines, I should say. That's all I'm thinking of. You can have source repos in there, you can have 'em as your boards, which is like a work tracking system. What else am I missing? There's, it's really it's full feature so, but I, I love it for the built. That's, that's what I'm coming for. Yeah. That's what I use it for a lot too. And you can really, you can do a lot more with it too. If you're working in a really private project and you want everything in one place, you can put your source code in there, um, which, which is really nice. Or you can link it to get hub or Bitbucket or anything for your build. So whatever you're working on and that pulls it all in. So there's a lot of, a lot of nice stuff in there that is for sure. So I'm a big fan. Like I said. Yeah, definitely linked to that whole blog series or the video series cause uh, yeah, that was pretty nice. So I think it's a, the time of the time of the pod, the pick of the pod. What do you got for us, Matt? What is your pick 37:29 of the bad [inaudible] 37:32 my, the pod. Well I changed it during the episode here. Oh my God, I was going to stay. Yeah, I was going to say the snippets website. I love it, but I talked about it quite a bit during the episode itself. Right. So I am going to go with, and you might've picked this a while ago, I think you might've, but um, this package called steak squid, you familiar with it? [inaudible] love it. I um, just use it for the first time about a week ago. Okay. And what it does is, um, let's say you are doing some loading of like downloading from let's say some data from an Azure function and it'll change the air. It'll automatically display a loading screen for you. Oh, cool. And then you just swap over, you bind to a parameter on your MB, on your view model. And then once you're done binding there, it gives you a, a state parameter or a state object buying back to say empty or non offhand, I forget what it is and it, um, changes it back to actually displaying like your list. 38:49 What's cool about what I really love about it is, is that it provides a skeleton view, which, um, what the skeleton views are, they're all the rage and it's just like the thing that it looks like what you're displaying, but it's like blanked out and they're kind of flashing left to right. And um, yeah, skeleton views are awesome and that's the reason why I came to state squid and it's so easy to use. That's awesome. Yeah, it gave my app a really cool, polished look and I didn't have to do hardly any work at all. 39:23 Very nice. I'm gonna use that. Um, there's always so many things I want to use, but I think now I have yet another thing to add to my Hanselman forms app on a, on Friday, uh, when this podcast comes out. So I need to go, I need to go off to it again. Oh geez. So many things to do. Uh Oh my goodness. That's awesome. Well my pick of the pod, funnily enough was I was working on my app yet again. Uh, I'm working on this app, this handsome app as it gets pretty complex that has videos and audio and as your function, back ends and Twitter integration and all that, all sorts of stuff. And um, and it uses all these new controls, collection view and carousel view and list views and all of the things. And uh, and I, and I was doing this featured item and keep talking about this as a new feature I want to do, which is often you see like when you go to the app store or you go to somewhere, I was like these are the highlighted things and you swipe through them in a carousel view left and right. 40:18 And I wanted a way for uh, to display like the latest podcast or latest, um, anything really to be honest with you. And uh, what I needed was some dummy data cause I didn't finish the back end yet. I didn't want to write like a Jason blob and pull it down. And, um, it's easy to put default dummy images in your applications. I already had this image in there, which was of Scott's face. So I was, I wanted to flip through a series of Scott's faces in this and this dummy data, but I also needed text and I didn't want the text to be 100% the same over and over again. And you know, you basically at that point would want to use some like Laura MIP some, right? Everyone loves Laura MIP some, right? It's all the time. Everyone's using it. And I'm like, I was like, okay, well how do I get Laura MIPS? 41:08 I'm into my app and I could go to the Laura MIPS of website and copy and paste a bunch of strings, but I want it to be dynamic. I want it to be different and kind of explore this. And a year ago, uh, it was my holiday Christmas hack, I created a library. I totally forgot about it, called Jeff som. And this was inspired by a website called Jeff som.com. Uh, which is a website that enables you to generate Jeff Goldbloom placeholder text cause everybody loves stuff. So, um, the Sean [inaudible] who created this, Sean helpin, he originally created the website and a JavaScript package. Someone else created a JavaScript package. Why I wanted to Don that package. So I created Jeff sam.net, which is on new get and Azure dev ops. And it's a very simple.net standard library. And you just, um, say use a Goldbloom dot. Receive the Jeff. And that's, that's what the API is. 42:11 And you say, how, how much, how many words, quotes or paragraphs would you like? And it gives you back. And I innumerable, so I'm using this and I just grab a quote. So every single little item in my list has a different quote of, of, uh, of Jeff Goldbloom, which is pretty great. So that's pretty, that's awesome. Yeah, it's, uh, it's pretty fantastical. It's a, it's a really, it's a very easy library to like the whole library is a, a hundred lines of code, but it loads all the Jeff Goldbloom quotes from a CSV file. So I parse the CSV file, like [inaudible] as well, and then grab all this. It's pretty, pretty fantastical. So, um, anyways, that's the, uh, that's the Jeff, Sam. So Jeff some.net. Cool. Give it, I'll give it a look. Yeah. Oh man, I love life. That's great. I know. It's all right. Well, we did it. We made it through another podcast. Matt, I hope that you have a fantastic holiday. Enjoy the Pacific Northwest and all its beauty. Do it your tier James. This is, love it up here. So beautiful. Yes, everyone have a great holiday and we will see you in 20, 20, 20, 24 our second continuous year. That's right. All right, bye. 43:36 [inaudible].