MAUI in 2026 with Gerald Versluis - podcast episode cover

MAUI in 2026 with Gerald Versluis

Jan 22, 202658 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode description

What's happening with MAUI today? Carl and Richard talk to Gerald Versluis about the latest version of MAUI - and what's coming next! Gerald talks about the release of .NET 10 and the new features that have come to MAUI, including improvements in quality, performance, and ease of use. The conversation also digs into adjacent technologies like Uno and Avalonia and how they are collaborating with the MAUI team to make development even easier!

Transcript

Speaker 1

How'd you like to listen to dot net rocks with no ads? Easy? Become a patron for just five dollars a month. You get access to a private RSS feed where all the shows have no ads. Twenty dollars a month, we'll get you that and a special dot net Rocks patron mug. Sign up now at Patreon dot dot NetRocks dot com. Hey, and welcome back to dot net Rocks. I'm Carl Franklin and I'm Richard Campbell. You know, Richard, we've been doing this show for so long that we're

up almost up to episode two thousand. Yeah, and there's something that's pretty special is going to happen on episode two thousand.

Speaker 2

I think we sort of sorted this out now because as soon as I thought about episode two thousand, I thought I got to talk about Y two K. Yeah, and then I realized all of the work for Y two K happened in nineteen ninety nine, so we should really do show nineteen ninety nine about Y two K. So yeah, putting that together. But two thousand, two thousand is a party.

Speaker 1

Two thousand is literally a party. We're going to record it live at the party with Palermo in Seattle. Yeah, at Bellevue at the MVP summit.

Speaker 2

Yeah, Jeryl, are you going to be there?

Speaker 3

I'm not I'm undecided. I want to be there, but I have not been at an MVP summit as a Microsoft fe so as an employee, which I've been there a couple of times as an MVP, So I would love to be there from the other side, from at least ones in my Microsoft review. But so far it hasn't happened yet. But who knows. Maybe this is the year. This sounds like a great reason sound Yeah, I hope.

Speaker 1

So it would be good to have you there, because what we're going to do is we're asking people right now to go to dot net rocks dot com and at the top menu, there's this vox pop section now in a spot page, and we want you to use

that page to leave us a voice message. And we're going to gather up these short messages for the two thousandth episode, things like how long have you been listening to dot net rocks And by the way, we're gonna do nineteen ninety nine on Y two K. So if you worked on the Y two K problem in the late nineties, describe your experience, and you know, things like how has dot net rocks affected your career or anything that you want to say to us, we'd be happy

to do that. So remember, go to the voxpop page at dot NetRocks dot com and leave a message. Okay, yeah, I'm sorry.

Speaker 3

I was around fourteen, so I didn't really work on the Y two K thing. I'm sorry. I do remember. I do remember. I do remember being at the computer because I was a nerd. Of course, aren't we all like we grow up nerves right like we started early off. I remember on the night being behind my.

Speaker 1

PC and be like three two one, Nothing happened.

Speaker 3

Nothing happened, The clock just went over, nothing happened, and that was it.

Speaker 1

Well, we're going to find out why nothing happened when we hear.

Speaker 2

When we do that, it's only because a whole bunch of people worked really, really hard and pulled it off.

Speaker 1

Yeah all right, Well let's roll the crazy music for better no framework.

Speaker 2

Awesome?

Speaker 1

Well, I have a new open source tool by guess who, Simon Krop How did you guess?

Speaker 2

You know? Thattman needs a hobby? Oh wait, I think he has one.

Speaker 1

He needs to spend more time with his family, it's what he needs.

Speaker 3

What do we got?

Speaker 1

This is called entity framework dot order by Okay, So basically it does default ordering for all entity framework queries based on fluent configuration, so you get automatic ordering. You don't have to do an explicit order by. It has support for include some nested collections are automatically ordered. You have multi column ordering, automatic indexes, and validation mode. Basically, you enable the interceptor and you can figure it with the with the default order buys right, and then you

query without explicitly saying order by. You just you know, contacts, dot employees, dot two list, dasync or whatever. And Bob's your uncle, so he's basically just taking more, uh, taking more work away from you. You don't have to do this, and and let's face it, I mean order by is something that we always do. Yeah, why would you want just overhead? Why would you want a collection of things just randomly sorted?

Speaker 2

Yeah? Yeah, good, that's a good one. Thanks Sank Simon. Appreciate it.

Speaker 1

Yeah, thank you Simon. It's amazing.

Speaker 3

Talk with your family.

Speaker 1

Yeah, that's right. Please dude, Well, Richard, who's talking to us today?

Speaker 2

Hey? I grabbed a comment off of show nineteen eighty four, which is what we did with Sam and Jerome talking about Uno and dot net tennel. Well, we talked about Maui on that show as well. Yeah, of course, nothing but do but the only the comment we've I went through a bunch of Maui comments, including the ones on Gerald show. It's and you know, we've had a bunch,

but we've also read them all. This comments is not actually about Maui, but it is relevant to the section of the show because this comments from John, who says plus one for incorporating the guests into the intro section. Yep, yeah, yeah, we're listening. We're doing it. So thanks for the feedback.

Speaker 3

I'm a guinea pig, I'm a social experiment, so I hope ye this opens the door for other guests. It's fine, it's fine.

Speaker 1

Well, the thing is, we've done it on occasion, but yeah, only you know, kind of when it's relevant to what we're talking about. But I think it's good. I think it's great too, and we're going to do that about then.

Speaker 2

So John, thank you so much for your comment. A copy of music CODEY is on its way to you, and if you'd like, I can copy of music O buy. I write a comment on the website at dot NetRocks dot com or on the facebooks to publish every show there. And if you comment there and I read on the show, we'll send you copy of music O Bay.

Speaker 1

And what Richard's talking about is music to Code Buy. This is a collection of twenty five minute musical pieces that I wrote specifically for instrumentals and for focus, and people have been using it successfully to help them stay in a state of flow while they're coding. We have twenty two tracks now and you can get the whole collection at music too Coode by dot net in MP three wave or flak formats.

Speaker 2

Very nice.

Speaker 1

All right, Since this is episode nineteen eighty six, we want to talk about this kind of sad year.

Speaker 2

It was a tough year, two ways about it.

Speaker 1

This was the year of explosions Chernobyl nuclear disaster. On April twenty six, a Chernobyl reactor exploded. Significant radioactivity material got spread across Europe, and it resulted from a flawed reactor design and operator errors leading to media in long term health impacts.

Speaker 2

The RBMK reactor design it needs careful control and they were racing to do a test to qualify this reactor for the power. Demands of the Soviet unit time were so high that they couldn't do it during the day because they needed the power. And so instead of taking the A team who was supposed to do the test, it was run at night with the C team, and

they didn't set up the conditions properly. Like the series of mistakes is so dramatic, combined with the issues of the RBMK to actually create a steam explosion so violent that the fifty ton core of the reactor was blown across the countryside. Yeah, it's really very remarkably bad.

Speaker 1

Hands across America happened on May twenty fifth, millions participated in a fundraising event aimed at raising awareness for hunger and homelessness by forming a human chain across the United States. In sports Super Bowl twenty on January twenty sixth, Chicago Bears beat the New England Patriots forty six to ten. That was a whoopin'. The NBA Dunk Contest happened on February eight Spud Web at five seven when the NBA

Slam Dunk Contest, showcasing his incredible athleticism. You know, it's not very often that a five foot seven basketball player can do any slam dunks at all, let alone. You know, when a slam dunk contest, usually it's the six seven foot people that could just drop it in the net. So that was pretty good. The rest I'm gonna leave to you, except for movies, go ahead.

Speaker 3

Okay, I know I just was going that I was totally prepared for, like your research, which is so good. Nineteen eighty six is a year I was born. So September tenth on a Wednesday. I still remember very vividly. No I don't. But I was like, you're leading into leading up to introducing me here, but absolutely not. So this lines up perfectly.

Speaker 1

This is good. Well, you know, we didn't say it was the year of explosions.

Speaker 2

There you go. I don't know how vigorous that birth was.

Speaker 3

Well, so the nuclear thing, of course that I remember my mother telling me. Of course she was pregnant with me at the time, so she was like they were worried, right, Like they had measures like in the Netherlands of like stuff floating in the air, so they were like worried of like what's that going to do and what effects is that going to have? So yeah, just a little side tengine here.

Speaker 1

Well that explains a lot.

Speaker 3

But yeah, well there you go.

Speaker 1

All right. Before I hand it over to Richard, I want to go down the top ten movies of nineteen eighty six. Top Gun by far outgrossed the second most popular movie by about sixty million dollars. Crocodile Dundee, No boy, that's a knife. That's the best scene in the world. The Karate Kid Part two Back to School one of my favorites. Great performance by Sam Kinnison and History Class Aliens follow up to Alien. I don't know, just came to them. I guess The Color Purple. Very very good movie.

Historic Star Trek four, The Voyage Home one of my favorite Star Trek movies of all time. Ferris Bueller's Day Off, of course excellent. Ruthless People. Do you know that that was a Walt Disney Studios movie. Ruthless People, No kidding? Yeah? And Out of Africa.

Speaker 2

That's grateful.

Speaker 1

My mother couldn't stop talking about meryls. Street. Some other notable films, Platoons, stand by Me, Color of Money. There was a lot of good movies, but those are the tops.

Speaker 2

Stun It another stunning ear. I mean ye. Movie wise, what can I say?

Speaker 3

It was a good year.

Speaker 1

Thanks JERRYL. All right, Richard, talk to us about space and tech.

Speaker 2

So there were two space shuttle launches in nineteen eighty six. The first was a January eighteenth, and it was the Columbia who did a normal mission STS sixty one sat C deploying some satellites doing experimentation. But of course the only one we remember is on January twenty eighth STS fifty one L when Challenger, after the seventy three seconds of flight, disintegrated, killing all seven astronauts on board. It was only Challenger's tenth flight, it was the most active shuttle.

There was a number of reasons for the incident, the main one being the O ring system on the solid rocker boosters. Yeah, a shuttle won't fly again for another thirty two months. The out of they'll build an additional shuttle out of the spare parts to create a shuttle

called Endeavor. It's also when the Air Force largely exits the program and Van der Berg will never get used, and the testing and evaluation of shuttles to make them safe for flight will get so long that they'll never apply more than five missions or six missions a year.

Speaker 1

That was one of those moments where you remember exactly where you were when you heard it. Yeah, I was driving my father's Toyota Ursell to college in the morning and I heard it on the radio and I just couldn't believe it. And then of course all the TV coverage and the family is just a horrible sure no.

Speaker 2

And it was the teacher in space, Krista McAuliffe, right, like, this was the civilian capable vehicle, and it just wasn't true. Flight in space is dangerous now, of course, it's an overwhelming story in space. But this is also the year that the mir space station is launched the initial module called the functional Cargo Block. It'll eventually be assembled to a much larger spacecraft that the Shuttle will visit. This

is the year that Voyager two flies by Uranus. And this is also the year that Haley's comment is approaching the Sun, and so a fleet of spacecrafts, five of them in eighty six, Vega one to two, SUSA, SECA, Gata, and Giato all do flybys of Haley to get a good look and teach us more about comments.

Speaker 1

I remember seeing those pictures in National geographic magazine Amazing.

Speaker 2

On the computer side of things, is the year of the Compact Desk Pro three eighty six, first you know all thirty two bit machines. Also the year that ib ever releases the AT one oh one keyboard, which we all basically still use. I think it's everybody's derived from

that keyboard more or less. The Scuzzy one standard is set. Also, the i E t F the Internet Engineering Task Force is formed, so they're getting series about you know what with a public internet looked like, although we're still years away from that.

Speaker 1

It's also the first Maybe that's why Scuzzy had so many versions.

Speaker 2

Oh yeah, everybody wants to do their own thing. This is the first time the term vaporware is written down. A writer in Time magazine, Philip Elmer DeWitt, talks about products that never are announced but never actually ships. And here's a computer you've never ever heard of, the Connection Machine CM one. So this was a computer designed to

do neural network It was an artificial intelligence computer. It had sixty five and thirty six one bit processor wow, built in an array to do high scale or compute. They only made a couple of them. It didn't work. All that well, and it was very, very expensive, so so much for that, but just you know, it was the first time that we were we had waves of AI technology and we're going through that again. This also the year that Microsoft is listed on the New York

Stock Exchange and Bill Gates becomes a billionaire. And to go along with that, they ship MS DOOFS three point two and the first ms dos virus is found in the wild. It's called Brain and it propagates floppy to floppy.

Speaker 1

Wow.

Speaker 2

And finally, this is the year that development on Postcress starts. Postcrists sequel group of ex Oracle guys want to make their own open source database and they go about it that way and the Erlang and Oberon languages specifications are released.

Speaker 1

Awesome. Yeah, that's what I got, all right, So it's time to bring back on the show our guest Gerald Varslos. He's a software engineer at Microsoft, where he works on the dot Net team. With well over a decade of experience, he's built software solutions across industries, specializing in mobile and cross platform development with dot Net, Maui, Slash, Zamarin, asp Net, Azure, Get and these days of course AI, which we'll probably creep into this show somewhere because it always does.

Speaker 3

Yeah. I was gonna say, like, I hope we can make it without AI, but then you know, Maui is fifty percent AI, always has been. So there you have.

Speaker 2

It's only four letters, two of them are there. You go.

Speaker 1

It's a good one.

Speaker 2

Yeah.

Speaker 1

So what is new in the world of Maui? My friend?

Speaker 3

What is new in the world of Maui? What isn't? What isn't? Yeah? Of course, like you know, we're recording this in the new year. This is going to be released in a new year. But in November of last year, of course, we had dot at ten, right, so that's of course our big point as well. We're part of the dot net ecosystem, the dot net product, so dont Maui also had a big release with dot at ten as well, and you know, we're all about kind of like quality performance, just like I guess the overall dot

net product. But that's really been our focus as well, because it's been no secret that you know, we had a bit of a rocky start around don at five done at six, Yeah, but you know, things have gotten better. We're talking to customers all the time and they've been saying to us, like you're on the right path. We feel as of kind of like done at seven, done

at a time frame. We feel confident that we can migrate our apps now to this version of don at Maui, and lots and lots of people have not just migrations but also new apps, and now I think we've done. At ten. We for the first time in a long time since the transition from examine forms. If you know a little bit about all the history here, we had some room to not just focus on quality like super important. No one is this debating that, right, but us as

developers on it. I imagine that most of your listeners are developers, right, You like to also do some new stuff, right, not just bock fixing. We did it because we had to, because it's important, but for the first time in a long time, we now also had a little bit of room to add some new stuff, make some major improvements that some people have been waiting for for a long time. So that was really fun for us as well.

Speaker 2

Now I'm the historian around here, and so I'm gonna you weren't with Microsoft when this all went down, but I do know the story of what happened in two thousand and six because or with dot net six in the original version, because you guys they were the team was put in a possible situation. Dot Net six was a very important version of dot net. It was, you know, big shifts happening there. That's the pull off of the

of the the ux APIs like really are restructuring. It's also vs. Twenty two, which is the only thing that we'll work on dot Net six and you guys are trying to make an API between a moving version of the framework and a moving version of the studio and there are no alternative tools, like there is no way you could have made that product at that time.

Speaker 3

That's yes, we were I think the kind of like the term in English is like we were we were building the bus while we were driving something along those lines. That's that's exactly what we were doing. Like and the other thing that you didn't even mention that people generally didn't receive very well because it was full of in development is the whole workloads the distribution of how dot at Bowie was distributed. That was a concept, but you know, there was still a lot to be built there. So yeah,

we didn't really have an ide. We didn't really have a way to distribute. We didn't there was nothing for us to work with. I don't know how we did it back then. So yeah, it was it was crazy times.

Speaker 2

I I that's why David Norton now looks like that, like he's permanently but.

Speaker 3

He looks great. He looks great. I can tell he's recovering.

Speaker 2

I had a lot of drinks with him back in the day and we just talked about that pain, and I'm like, what a situation to be in. And it was predictable, like they they could have known. Yeah, it's pretty obvious this is the situation you could be in. But within the within six months you kind of got to the release you meant to do. Yeah, but I'm with you. You've caught up since then, Yeah.

Speaker 3

Exactly exactly. Like you know, people have been investing in Examine because Examine has been around for like I don't know, a decade, right, all things counted and even before Nail kind of like yeah, so there's a lot of history there and everything worked also there. Just it's the nature of this framework, right, Like people will be like, oh, I'm so frustrated things break left and right, like, yeah, we're building tools on top of xcode, Android tooling that

is constantly moving. We're not enemies, but we're also not necessarily friends, right, Like, they don't give us a heads up of like, hey, this is going to be a breaking change, especially Apple in point releases, they'll just break the hell out of us and it's going to be like, Okay,

what happened? Right, So we're building on top of tools that are not necessarily meant to be combined to be worked on, and they're not going to stop us, right because at the end of the day, we're gonna have them more apps in the app stores and you're going to get revenue from that. So they're happy whatever the app is. But you know, it's it's it's a thing that, yeah, it has a lot of different sides to it, which makes it interesting. Let's say that way to.

Speaker 1

Work with There's one thing that I have been telling people. I've been teaching the Zamora and zamar inforums MAUI for a long time, and the thing that people really need to understand is that if you think of the cross platform nature of a web browser, right and how it just works so well on every platform on every browser, like, there there the differences and the experience between the browsers

is really shrunk. And the reason for that is because all of these interested parties get together and create standards and then they implement those standards and all that stuff. Whereas you guys, for cross platform MAUI in particular, you've got Android to deal with, and you've got Apple to deal with, and you've got Windows to deal with, and you know, Linux and Mac and all those other things

in places that it goes in. You one company basically has to do what an industry did for the browser, and you have to keep on top of that and make sure that everything works uniformly across all those platforms. And that's a big bite, isn't it.

Speaker 3

And exactly, and it's not just a framework, right, it's not just us saying like, hey, this is you define a button and then we translate that for you. But it's all the tooling around it. Again, especially iOS like they make sure that all their software runs on their hardware, so you need that hardware. Right. There's no way for us to get around that because it's simply in their licensing, so they're even legally, we just cannot work around that, so we cannot do anything to improve that tooling or

provide you with the tooling. We have to work with what they put out there, and again it's not made accessible. It's made for their needs for their ecosystem, so it's it's everything in there, and that makes a lot of different ingredients and that also makes it sometimes interesting to

work with. So yeah, all things considered, like, you know, I think we're we're doing a great job, if I may say so myself, but it's hard to sometimes explain that to customers because and I understand it from their perspective too, because before I joined Microsoft, I was a customer and I would be frustrated too with like what the heck they did break now?

Speaker 2

Right?

Speaker 3

Like what did they do now? But it's sometimes out of our control, and I think all things considered, like it's still you still get more gains than hopefully frustration. So it's it's a great framework.

Speaker 1

Let's talk about recent updates like.

Speaker 3

Ten yep, so, like I said, mostly focused on quality, performance, simplicity, but also modern right, so whatever already said, like iOS and Android, they progress. I think Android picked up to pace pretty much as well. So they're really saying at least yearly for iOS. It's pretty predictable by now we know the pace WWDC and then in September the actual release Android I think you know. They put out versions as well, and we had a couple of legacy things.

One of them that I worked on, notably was like the media picker. Because it's twenty twenty six now all apps need to have some form of capturing a video or a picture, right, and we had the media Picker API, which was too simple. There's a whole history there. I won't bore you with that unless you really want you.

But that had to do with the transition actually from Zambering to Maui, and we started implementing all the bits, but then Maui came along and we only had time to do the really basics, so we stuck with that, and then we had to do all the buck fixing right, so we never had the time to add new things that people kept asking for, like why don't you do this?

Speaker 2

Why?

Speaker 3

Why?

Speaker 2

Why?

Speaker 3

Why? We finally found the time, so we use the modern, more modern APIs on the underline platforms right before they really get deprecated and get removed and we're really in trouble. Then we really have to. Ideally you want to be in front of that. So media picker, your APIs to get a picture, to get a video, and then you can use that for further processing maybe with AI. I'm obligated to mention that every obligatory. Yeah, so you know that's super helpful. But it's it's an all thing considered,

it's a minor thing. What are all based Because Carl you mentioned it. You've been teaching Examine, You've been working with examin since forever. What are all the Examine, all the MAUI apps made of? It's example, right, Examle is everywhere, example everything, not just Examine and Maui, but also in

all the other products. So it was about time that we did something there because if you know a little bit about exammle historically like that gets inflated at run time, So whenever you make a typo or do a thing, it will blow up at runtime. If you don't catch it during your testing, it will happen to your customer. Your app gets one star ratings, you will lose your job, you'll lose your house, your wife leaves you, your kids, don't what.

Speaker 1

It dog runs.

Speaker 3

You don't want that to happen.

Speaker 1

It's going to be a.

Speaker 3

Exactly, So we needed to make some investments there. We already made it better at some point for examiner informs that also of course went into dotted. Now we added example compilation, so that already compiled your examle to intermediate language. Right, so the language that gets you know, she sharp gets compiled to before it actually runs on the diet run time. And that was already better. But not a lot of people. I know, like two people that can read IL, let

alone write it. So one of them is on our team.

Speaker 2

They're not normal people. Those are odd folks.

Speaker 3

They're not normal people. Thank you, Stefan. Sorry Stefan, you're on our team. He's not normal.

Speaker 1

He will he assignments on that list.

Speaker 3

Okay, three people. So we needed to make that better and at that time that was the best that we could do. Right, We could do it to IL and that would give you a little bit more information, but it's still not great. Nowadays we have like and source generators and all that kind of crazy stuff, right, so what we can do now is take your examle and generate that to actual C sharp code, so it will always be C sharp code. It's not the prettiest to

look at, right, because it's source generated. You need to have like fully the full name spaces everything written now so that there's no clashes and whatever. So it's a little bit hard to parse, but it's still c sharp. Code doesn't really matter because if we do our job correctly, you never have to look at that code. But everything you write, example, will now be generated in code, and that means much better performance because it doesn't need to

be parsed, it doesn't need to be inflated. It's code already. It gets compiled even before bill time or generated.

Speaker 1

I should say, and you have try catch.

Speaker 3

It's there, you have try catch. We can point you to, hey, there is what's happening. You can debug through it. You can set break points right.

Speaker 1

Not so easy to do, examle.

Speaker 3

Not so easy to do example. Maybe even more important this is I think this is just like I'm throwing it out, not based on any real data. I think this is our number one complaint. The debug version of your app is different than.

Speaker 2

The release version.

Speaker 3

Your debug app will work great, then people will release it and it will crash immediately. That all happens because of like AOT and trimming related stuff because we want to deliver the best app and for iOS that's always been super aggressive, like they need it ahead of time compiled, so we will trim off paths of code that you're not using. Exammle does not necessarily have a strong referencing code.

So what will happen is that in your release build some things that are only defined exammle, because the compiler cannot see a path between your code and example, will get trimmed off, and suddenly things in your binary are missing and it will start crashing on release builds. Now that doesn't happen anymore because it's also sharp code. There is clear paths for the compiler to follow with like hey, this code needs to be an ear. It does not need to be trimmed away. So this is like a huge thing.

Speaker 1

At some point be testing your release mode code.

Speaker 3

For sure, for sure, But you know people call you know people, I know me, I know me.

Speaker 1

It's very easy. You just flip it from debug to release and run. Very true.

Speaker 2

Yeah, software gets tested on the customer.

Speaker 3

So yeah, there you got test in production, testing production. So that's that's like the big thing, right, Like one of the bigger things that we've been working on together with that, we've we've introduced some other example optimizations there, like example can be very forbose. Right, so we have some simplification, some implicit namespacing, so you can really trim

down your example by a lot. It's a little bit hard to explain by just talking about it is really something that you have to see, so go look that up. But you can really trim down your example in your files right now. So that's that's one of.

Speaker 1

The so is the UH is the way to code now in twenty twenty six, get code pilot, start, start having it write pages for you, having them connect them, put them together, and then when it all works, you generate the c sharp and put in your try catches and hit build on release and test it before you release it.

Speaker 3

Well, this is of course like the other big investment, right and I think this is even like beyond a ten and it's kind of like it doesn't follow like our release trends because it goes outside of the MAUISDK. But of course what we were really thinking about is like how can we make our customers more successful building MAUI apps through copilot? Right, So there's this is like a whole new world, and you've probably talked about that in all kinds of episodes from all kinds of angles.

But we as a team really need to reinvent ourselves too with like, yes, we need to have all the documentation in order suddenly. Oh no, no one loves documentation, but this is important because that will be context for co pilots, for agents to look at on how to build MAOIAPP. So we need to make sure we're doubling down on like, hey, the things that we were like, eh, documentation, we'll do that when we get there. We need to have it now, right, So have that out there, have

all the instructions out there, the custom agent. So that's what we have with the investing as well.

Speaker 2

I would bet that getting rid of the old documentation that's incorrect, Like.

Speaker 3

That's been interesting too.

Speaker 1

Yep.

Speaker 2

A lot of the conversations I have with people getting their data in order is about archiving. Yeah.

Speaker 1

Well, fortunately the documentation at Microsoft Learn now is keyed by version of dot net, right, so even even copilot knows that, well that was an old version.

Speaker 3

Yeah. So two things. That's that I think the whole going from Examine to MAUI of course we didn't know that at the time, because that's now four or five years ago. Is now a good thing because at least we kind of like got rid of the whole examine. Like, sure, a model will probably pick up on some of the history and find things that are similar, but at least it will search for MAUI and not examine anymore, right, because then it will find all that history there too.

So that's the And yes, the Microsoft learned they also have a hosted MCP server, which really helps. I noticed because those models are trained up to a certain point. So if they're trained up till September twenty twenty five, it doesn't know much about the dot ne ten release. Actually working with MAUI is always funny because I will go and say to it, like because we're obviously using it to develop MAUI now as well, and I'll say like, oh,

this looks like something iOS twenty six specific. And if you know a little bit about iOS, they jumped from iOS eighteen to twenty six, right, And I'll be like, oh, this is iOS twenty six, and we need to see if something changed here, and it will be like you said, iOS twenty six, But that doesn't exist. You probably mean iOS eighteen. So I'll just look up the iOS eighteen. No, no, no, this exists. Go to your online sources, look it up. So and then with having.

Speaker 1

That's just as bad as somebody who's been sleeping for the last ten years and then obstinate enough to tell you you're wrong.

Speaker 3

Yeah, yeah, right, yep, yeah exactly. So then Microsoft learned MCP really helps to connect and feed a model with the context of like, oh, these are all the new APIs, all the new stuff that I can actually work with without having the model actually have to be updated. So that really helps.

Speaker 1

I think this is a good place to take a break. So let's do that and we'll be right back with more with Gerald and Maui and all that happy stuff after these very important messages. All right, and we're back. It's Nott at Rocks.

Speaker 2

I'm Carl Richard, and I'm sale Gerald and he's Gerald.

Speaker 1

Talk to Maui and I didn't mean to blow your stack there, So if you can clid back, we'll continue where we left off.

Speaker 3

Yeah, absolutely, So what else? Okay, let me mention one other thing. What we've been investing in is like the safe areas, right, So that's our term in the mobile space behind the notches and the dynamic islands, because basically all the phones and I think we're gonna go to the next hurdle now, which is foldable phones, if I have to believe the rumors, But right now we're still struggling with all the camera holes and all that kind of things, and you can lay out things behind them

or not right. So again there we had a little bit of legacy code still lying around, which was like, hey, we had something to work with the APIs, but it was not super intuitive. So again there we made big investments to make that much much easier to work with. So especially I'm an iOS user, right so I think

Android at some point started doing this as well. But especially on iOS, what you would have you would have to swipe up right, you will have a little bar down there or the dynamic island there at the top, and then whatever you stayed between these things, then it's that's kind of like your safe areas are the top and the bottom lines. So if you stay between them, then at the top you will have some white space and then at the bottom two your designer does not

like that. The designer on your team is like no, no, I want to scroll behind that little part right there. So now we've made that easier to do that with mawips as well, which you know, one of those things, and with example too, like if we do our job right, you should not notice with the safe areas, you will like to have control. So that's what we did. Now.

It's one of those things that are seemingly very small features like oh yeah, sure, I just flipped the switch and I draw behind it, but super hard to get it right for all the platforms.

Speaker 2

You know.

Speaker 1

I was just talking with Dan Roth on Blazer Train about the Blazer in dot net ten and he talked about these things, is being quality of life updates?

Speaker 3

Yeah, there you go, now.

Speaker 1

Yeah, staggering. They're just just little quality of life things improve things ever so much.

Speaker 3

It took years of my life, but it's written away as quality of life like that should just be there, right, And that's that's how it goes. Yeah, and then one other big thing, the other thing that we love that also starts with an A in the dot net world is as part Yeah, and outside of the dot net world, Oh no, they're going to kill me if I say dot in contacts with Aspire. No, no, we can use it everywhere with JavaScript and Python because we went through the

whole rebranding. Right, it's for everything, but now it's also for dot at Mawi. You can use it with dot at Mawi. So that's really cool stuff as well.

Speaker 1

If you ask saw your back end services, you're cashing all that stuff, your telemetry yep, all comes in for free.

Speaker 3

Yep, exactly exactly. So this was I'm definitely not as good with all the years and numbers as Richard is, but I want to say we're now to I think it's the end of twenty twenty four or something. The beginning of twenty twenty five, I was on the road with Sweatdug and sweeting a conference with Jeffritz who was also there. We went to visit a customer. We went to visit a user group as sweatgg session, and he had sessions about aspires. So he would go on and on and on, and I was like, I want this

for AWI. This looks amazing. I didn't know much about it back then, and I was like, okay, this is great. I was just there in the room and I watched him do his thing, and I was like, Okay, this looks great, and I'm so bummed out that we do not have dot at Mauie this story. So when I got back home, I was like, we need to fix this, and a couple of people on our team did some experiments around it, so there was one piece there, one

piece there. I sat down and I just made it work end to end, and everyone started picking it up.

Speaker 1

I bet Maddie was the first one you called.

Speaker 3

Maddie was definitely the first one I called.

Speaker 1

Actually, m she's like Aspire Maui. She knows she walks the line, right, Yeah.

Speaker 3

Well yeah, well then she definitely definitely absolutely helped because of course, like she came from the Dotted Maui team now on the Inspire team, so she was the number one fan, right and that definitely opened doors with being like hey, on the Aspire team, like you need to look at this pr because we want to make this happen, right,

So that definitely helped. But yeah, along the light, I think this is also something that not a lot of people saw the value in until we kind of like put it under their nose because this was like, oh, this is for district muted, it for micro services, for web based kind of like solutions. Right, But if you go look at kind of like the Maui documentation, you don't have to anymore because we have a copol it to do that for you. Now see there's my AI point.

But if you would go like a caveman to a documentation page, there's a full documentation page on how to make your dot at Maui app communicate with a local back end service on your machine. Because what you're doing typically if you have a regular dotet project, you will say local host blah blah, it knows where to find it.

Speaker 1

It doesn't happen if you're calling from a phone.

Speaker 3

Thank you, It doesn't happen. If you're calling from a phone, then local host is your phone. The server's not running on there. If you're running from an emulator on the same machine, guess what local host is not local host. If you're running the iOS remote simulator, which is actually running on your Mac hardware, but you have hooked it up to your Windows Visual Studio, local host is actually

your Mac machine. So all kinds of paths and then I didn't even get started on like the invalid HDPS certificates and whatever, right that you need to trust on your device on your iOS device, blah blah blah. So just explaining that to people over and over and over again was enough reason to kind of like get this as fire thing done because now it will just have service discovery, it will know where the end point is.

It will we are using defth tunnels in between, so that if you don't know about death tunnels, that's kind of like your public endpoint to connect to your local machine. So we go that route, We circumvent the whole HTPS certificates blah blah blah local host stuff right there, and it all works. It all lights up, You get all the telemetry, you get all the logging, and that's when people were really like, yeah, this, I see the value of this.

Speaker 1

So that was great, fantastic. Yeah. I don't have anything to say except thank you.

Speaker 3

Well it's a little bit rough. It's out in preview right now, so I'm definitely interested in all of your feedback, of course, to your listeners if you're going to use this. I definitely need to polish up a couple of more things. The getting started experience is documented. You can definitely do it,

but there's some things to work out. But this was definitely something like, I want to put the first version out there because there is so many ways that we can kind of like go with this, but first I want to of course verify, like, hey, is this actually something that people want to use right here? And what is the next step that we are going to look at?

Because yeah, like I said, thinking about this, talking this through with the Aspire team as well, you can you can go a lot of ways, So lots of possibilities there.

Speaker 2

Awesome. So to me, the strength of Maui is always the Android iOS story, one code base both devices, lots of respect. Are you getting more love into the Windows and mac space as well, because this seems like every stack is good at some but not all.

Speaker 3

Yeah, yeah, great question. Our supported platforms definitely include mac os and Windows since we went to don ed Maui. So if we're being honest to ourselves back in examine days, the primary candidates were absolutely iOS and Android and then huge Yeah.

Speaker 2

That's which is huge, right, like that to have one code base for both devices is a big deal. Like, y, thanks for that.

Speaker 3

App exactly, and I this is very much my personal opinion. So because a lot of people also ask us like, hey, when are we going to be able to target the web right so right now it's just like kind of like the running on on the actual platforms. When are you going to go to the web. My personal opinion is it's never going to happen, like unless we decide as a team we're going to do it. I'm going to do it. It's fine. Then I'll love it and

I'll be it'll be amazing. But my personal opinion is like we shouldn't do it because already like mobile and desktop that are our supported platforms, and we make sure that we have the best experience across all of them. But having a great experience, I have seen little apps that work both, that have a shared code base, that run both on mobile and on desktop, because you're going

to spend a lot of time. If you just polish the mobile app, run that on the desktop, that will work, but the UI will look horrible because it's all stretched out. You will have so much space that you're not using. So yes, functionally it works, but it doesn't look great. So then you're going to spend time polishing that. You

can absolutely do that. The easiest way to do it is say like, hey, of course we have APIs to detect if you're running on Windows, or if you're running on a desktop, or however you want to go with that, and then you can say you can just swap out full views if that's what you want to do, right, so you can make a design that works for a desktop. Whenever you run a desktop, say I'm good to serve that entire view. If you want to find grain that a little bit more, then you're going to work on

the layout level. So we've got all that, but what I typically see is that people will focus or on mobile or on desktop. Now I'm not sure if you were going this way, but I'm definitely are because this is a non technical thing that is definitely a major improvement release, whatever you want to call it. Already a year ago or a little bit more, we went to

a close partnership with Sinfusion. You probably all know that because you know they're out there since forever making controls for wind forms and all the crazy stuff Blazer as well, and all kinds of cool things. So they've been out there and they're doing a lot more. But we have found in them a partner that has been helping us

out maintaining dot net bowry itself. So they have been a great help with like hey contributing sixty percent of the community contributions I think between dot net nine and dot ten have been by Sinfusion, so that's really really great.

Speaker 2

Wow.

Speaker 3

And they have released like their own open source toolkit with like I think there are now thirty controls in there. So historically, you know, they're sweetest paid because they're a company. That's what they pay the bills with, so that's fine. But now they also have like an open source toolkit that's completely free that you can use with dot net

BOWI controls, and they've been super helpful. On top of that, we've also now partnerships with You're gonna be a little bit surprised if you didn't know about this UNO and Avlonia, and you're gonna be like, but your competitors, how does that happen? That would be like a logical question, right. We get this response multiple times, but it's still all dot net, right, and they just have a slightly different focus.

Speaker 2

We just had the you know guys on they love you know, it's all love here, right exactly, We're all exactly. So I'd been trying to get an Avolonia show for a while because it's time to recap those guys there.

Speaker 3

You go, I know who to talk to. We're where, yeah, where we'll make it happen. Yeah. So we actually had a at the top of record, we had just had a community stand up which we do live on YouTube with the Avolonia people with the progress there. So go check that out if you're interested in that. But yeah, they're all on dot net right, and to some extent they are using our stuff, the examine stuff, the historically examine stuff, the bindings for like running on Android, for

running on iOS. But what they are doing extra like Avolonia has a very different angle, very different view on how to do these things. They follow kind of like more the Flutter model where they draw everything, right, So Mawi maps everything to the native control as it should look at feel on iOS, but Avolonia draws everything. So an entry is not really entry. It's just a border that's drawn that you can put a cursor in, and they build all the functionality of an entry to mimic

an entry. But it's just a drawn thing, right, which is great because it's super performance. It looks pixel perfect, the same across all platforms, but it's just a very different idea of what MAUI has.

Speaker 1

I want to go back really quick to what you talked about with web applications and how you're really focusing on desktop and mobile. But at that point, if a customer comes to me and says, we want these mobile apps and blah blah blah, and we also want it to be a web application, the first thing that comes to mind is a hybrid application. Yes, and so that's where most of my Maui development is these days, because

that's what my customers are asking for. But I noticed in the what's New documentation that the hybrid WebView now has a new way to invoke JavaScript, right.

Speaker 3

Yeah, absolutely so. Lots of investments there as well, So I just took the high now, right, because all over we have all kinds of improvements on all kinds of areas. This is definitely one of them. I should have mentioned

them earlier. So just to wrap up the little partner story, this is where this comes in as well, because Uno and I think Avlonia as well, they both have targets for the web, right, So you can take your investments, you can still share code, it can still be done at and you can also take it to the web and the big thing with Avlonia is like a the drawn things and b they can also run on Linux.

So what they're doing over at Avlonia right now is making sure that you can take your MAUI app, make little to note changes, run it on the Avlonia back end, and now suddenly you can also take it to Linux. And we're in close touch with them, like this is like a partnership everything, So we're working together with them so that they have what they need, we have what we need from them, and we can go all the ways and everyone can be successful. Right, So that's one

way to still take it to the web. And the other thing is like yes, absolutely, we have two solutions for that right now, which is the Blazer Hybrid web you sorry, the Blazer WebView, I should say, and the Hybrid WebView. And the Blazer WebView obviously is a specialized WebView for Blazer applications, right Blazer that that you will probably know and love. So you can just plug in your Blazer application and put that in your Maui app.

You still have a mobile application, but now you can do it in Razor and then webuis and all that stuff, but still leverage push notifications, the camera that's on there, the geolocation, all the power of the device. Same thing for the hybrid WebView. But there you can you can go outside of the Donat ecosystem if you want. You can go and take your React app, your view app, your I don't know what the latest JavaScript framework is.

It's just a WebView, so it should be able to run anything that's out there on the web, plug that

into a Maui app. And yes, we have like invested in making it easier to communicate between javascripts, so you can easily more easily make the bridge the connection between that JavaScript application and then going to the c sharp world to actually do like you know, access the sensors, the camera, c that I all just mentioned through the Maui APIs and that go back to your React application and then do the JavaScript things there and exchange all

the data and APIs there, so big investments there as well.

Speaker 1

Mm hmm. That's great, all right. So I invariably get frustrated with Apple. Mostly Android is great and I can do everything I want on an Android in an Android Maui app, But Apple sometimes has these crazy requirements for you know, in limitations for services. If you want to do like notification services just for one that's always been a thorn in my side. Has it gotten any easier?

And do you have any other issues that you wish Apple would enable or features that you wish they would make easier for Maui developers?

Speaker 3

Oh my goodness, where should I start? If anything?

Speaker 2

There?

Speaker 1

They're just yeah, the list is long.

Speaker 3

They're just making it harder. And I'm looking at Android for this one. So I was building what our team I think does really well go teama is. We build a lot of apps ourselves. Like our manager has like this whole thing going on where he manages He has a pool and there it goes in like things to keep it clean and temperatures and whatnot. He has that

app forever it has been examined. It's now Maui. And that's a great example because this is a production app and you know he's trying all the latest feature and see how it actually behaves in an app that's actually running without too much risk. Right. So I was building an app for myself and we have a couple of

those of other team members doing that too. And I was building an app myself and I wanted to track the location this was something you we were going to walk around the village here and people could sign up, and we wanted to know to generate kind of a heat map of where people were walking. Very innocent, we didn't have any ill intent with that. So we implemented that with background location on Android. Android nowadays is like, what are you going to do with that back location?

You can send us a thirty second video explaining why you need that, what it's doing, and they decided like, this is not crucial to your app, so gonna you're gonna have to take it out. I was like, what, okay, So that was really interesting. They're really cracking it for security reasons, I think so. And it's interesting because the way we implemented it now, of course we couldn't do it in the background, right. I think that's the big thing here. If you would do it, you would swipe

your app away. You could still do it in the background. So what we did now is like, hey, implement some kind of like signal R or whatever solution, which of

course only works whenever your app is into foreground, right. So, but now doing it that way, it doesn't require us to give us any permissions or whatever, right, So if we would do it like the legal way that Android once, it would give you all kinds of notices of like hey, your background is being tracked, blah blah, So the user would be much more aware than how we did it now, which was much more cod But anyway, little side ten.

Speaker 1

Android also has a foreground service right, which works like a background service.

Speaker 3

But I was just gonna say, ye, it's actually a bit lot more cu but yeah, those things is for some reason. And also, like you you mentioned notifications here as an example. One thing that I think and everyone with me would want Apple to fix is like the whole releasing an app certificate proficioning profiles. That whole thing is such a mess. No one understands.

Speaker 1

Yeah, and it changes all the time.

Speaker 3

It changes all the time, at least into portal. Because we had some documentation. We had a great Docks writer who did a great job documenting all that on the Microsoft side, and we had people saying like the Microsoft docs who are releasing native apps, like the Microsoft docs are better than the Apple ones. Yeah in explaining what it does, but yeah, then it will change the portal and you have to update it all. So it's very very ted is very not fine.

Speaker 1

I did a series on the dot Net Show where we built a dot net Rocks app and deployed it to Android and to iOS, and it's probably completely wrong now, Like you know, the documentation has changed so much, and you know, I guess you could only use it for contextual you know, information, but you have to translate it.

Speaker 3

I will say for that app that I build, Uh, this is not It starts to sound like marketing. I used Copilot and said how do I do this? It gave me a step by step plan and it worked. It gave me a c I script that just worked. I just needed to plug in like my apikes and whatever. I could release it without any issue. So that's your approachive right there.

Speaker 1

Yeah, yeah, the new normal.

Speaker 3

But yeah, that's that's one thing, the new normal, The new normal, absolutely.

Speaker 1

Yeah, anything else that you want to talk about. I see that there's a lot of quality of life updates and things like that, things that got renamed and stuff like that. But I but I think have we covered all the major.

Speaker 3

I think we've covered all the interestings absolutely.

Speaker 2

Well.

Speaker 1

What's next for you? Man? What are you doing next? What's in your inbox?

Speaker 3

What's in my inbox? Well, I've got a number of events planned, one of which, if we're sticking to the Maui topics, is the Maui Day, which is going to happen in London on February sixth, and I will tease here a little bit that there might be more coming this year. So that's always a fun thing.

Speaker 2

Maui Days, Maui Days.

Speaker 3

Yeah, So we've been doing that for a long time with xamin as well. Way back when was Examon still a separate company. Maybe I don't know, you had the Examine Deaf Days. I think they were just acquired by Microsoft. That was kind of like an event out of the box basically, even the agenda was specified for you. You didn't have to stick for it to it, but you know you could. And we were like, no, no, no, this is this is too simple, this is too entry level.

There is a need for expert content. So we went with and I remember being in touch with Jamie single than at that time and she's like, no, you cannot have examinated in front right, that will be legal issues. So we went with Expert Day for Examine horrible name, Horrible name. Later that got kind of like abbreviated to Exam Expert Day. Still not great, but it's on it. And we had it started with like a small meet up twenty people, but with deep tive content and that

was with Laurent Bon. He was the first one and we did it for a number of years here in the Cologne office which is super close to my Cologe Germany, and we did it there and he was close to there, so he was there and did kind of like the keynote and we had a couple of other people from Examine, which was really great. We did that for a couple and each year it grew and these are the the audience,

the speakers, they are so passionate. It's amazing people because it it We always ran it as a free event. There was one sponsor which was actually coincidentally sink Fusion, so Kudos and they would sponsor lunch and that was it. The vendue was free. The volunteer were volunteers. They were not getting paid. But the atentities were coming from Spain,

UK all the places. Hopefully their boss is paid. But there was some speakers that were they flew in from Bosnia at some point North Macedonia like all these exotic places almost and some of them just paid on their own dime and came there. So that's really amazing. That really speaks to I think the great community that examined and now also done at Maui has so of course Examine went away. It all went don at Maui. So

now we have the Maui Days going on. We did in Cologne last year twenty twenty five, we did the first one in London, which was a big hit as people love coming to London apparently because we sold out like in one day and we tried to keep it small, right, We don't live stream. That also gives us the opportunity. David ort now is usually there. I'm there because I hosted, and that gives us the opportunity to also be a little bit more candid, honest, have great conversations with customers

with like what goes well, what doesn't go well? How did this historically happen?

Speaker 1

Right?

Speaker 3

We can be a little bit more honest because it's not recorded. We were all friends there and what happens to you stays there, right, So those are always super fun.

Speaker 1

Very good.

Speaker 2

Oh we're gonna be at NDC London together. Friend. This show covers up just before London. Yeah, there you go.

Speaker 1

Yeah, all right, Gal, thank you very much. It's been a great honor and privilege to have you on the show and talk about Maui. What's new?

Speaker 2

Yeah? Good to do this more often, my friend, Yeah, absolutely, I'm always here.

Speaker 3

Invite me.

Speaker 1

Okay, we'll do that and we'll talk to you next week on dot net rocks. Dot net Rocks is brought to you by Franklin's Net and produced by Pop Studios, a full service audio, video and post production for facility located physically in New London, Connecticut, and of course in the cloud online at pwop dot com.

Speaker 4

Visit our website at d O T N E, t R O c k S dot com for RSS feeds, downloads, mobile apps, comments, and access to the full archives going back to show number one, recorded in September two thousand and two.

Speaker 1

And make sure you check out our sponsors. They keep us in business. Now, go write some code, See you next time.

Speaker 3

You got jas, middle Vans and

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android