Speaker 1: How'd you like to listen to dot net rocks with
Speaker 1: no ads? Easy? Become a patron for just five dollars
Speaker 1: a month. You get access to a private RSS feed
Speaker 1: where all the shows have no ads. Twenty dollars a month,
Speaker 1: we'll get you that and a special dot net Rocks
Speaker 1: patron mug. Sign up now at Patreon dot dot NetRocks
Speaker 1: dot com. Hey, and welcome back to dot net Rocks.
Speaker 1: I'm Carl Franklin and I'm Richard Campbell. You know, Richard,
Speaker 1: we've been doing this show for so long that we're
Speaker 1: up almost up to episode two thousand. Yeah, and there's
Speaker 1: something that's pretty special is going to happen on episode
Speaker 1: two thousand.
Speaker 2: I think we sort of sorted this out now because
Speaker 2: as soon as I thought about episode two thousand, I
Speaker 2: thought I got to talk about Y two K. Yeah,
Speaker 2: and then I realized all of the work for Y
Speaker 2: two K happened in nineteen ninety nine, so we should
Speaker 2: really do show nineteen ninety nine about Y two K.
Speaker 2: So yeah, putting that together. But two thousand, two thousand
Speaker 2: is a party.
Speaker 1: Two thousand is literally a party. We're going to record
Speaker 1: it live at the party with Palermo in Seattle. Yeah,
Speaker 1: 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
Speaker 3: I have not been at an MVP summit as a
Speaker 3: Microsoft fe so as an employee, which I've been there
Speaker 3: a couple of times as an MVP, So I would
Speaker 3: love to be there from the other side, from at
Speaker 3: least ones in my Microsoft review. But so far it
Speaker 3: hasn't happened yet. But who knows. Maybe this is the year.
Speaker 3: This sounds like a great reason sound Yeah, I hope.
Speaker 1: So it would be good to have you there, because
Speaker 1: what we're going to do is we're asking people right
Speaker 1: now to go to dot net rocks dot com and
Speaker 1: at the top menu, there's this vox pop section now
Speaker 1: in a spot page, and we want you to use
Speaker 1: that page to leave us a voice message. And we're
Speaker 1: going to gather up these short messages for the two
Speaker 1: thousandth episode, things like how long have you been listening
Speaker 1: to dot net rocks And by the way, we're gonna
Speaker 1: do nineteen ninety nine on Y two K. So if
Speaker 1: you worked on the Y two K problem in the
Speaker 1: late nineties, describe your experience, and you know, things like
Speaker 1: how has dot net rocks affected your career or anything
Speaker 1: that you want to say to us, we'd be happy
Speaker 1: to do that. So remember, go to the voxpop page
Speaker 1: at dot NetRocks dot com and leave a message. Okay, yeah,
Speaker 1: I'm sorry.
Speaker 3: I was around fourteen, so I didn't really work on
Speaker 3: the Y two K thing. I'm sorry. I do remember.
Speaker 3: I do remember. I do remember being at the computer
Speaker 3: because I was a nerd. Of course, aren't we all
Speaker 3: like we grow up nerves right like we started early off.
Speaker 3: 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
Speaker 3: that was it.
Speaker 1: Well, we're going to find out why nothing happened when
Speaker 1: we hear.
Speaker 2: When we do that, it's only because a whole bunch
Speaker 2: of people worked really, really hard and pulled it off.
Speaker 1: Yeah all right, Well let's roll the crazy music for
Speaker 1: better no framework.
Speaker 2: Awesome?
Speaker 1: Well, I have a new open source tool by guess who,
Speaker 1: Simon Krop How did you guess?
Speaker 2: You know? Thattman needs a hobby? Oh wait, I think
Speaker 2: he has one.
Speaker 1: He needs to spend more time with his family, it's
Speaker 1: what he needs.
Speaker 3: What do we got?
Speaker 1: This is called entity framework dot order by Okay, So
Speaker 1: basically it does default ordering for all entity framework queries
Speaker 1: based on fluent configuration, so you get automatic ordering. You
Speaker 1: don't have to do an explicit order by. It has
Speaker 1: support for include some nested collections are automatically ordered. You
Speaker 1: have multi column ordering, automatic indexes, and validation mode. Basically,
Speaker 1: you enable the interceptor and you can figure it with
Speaker 1: the with the default order buys right, and then you
Speaker 1: query without explicitly saying order by. You just you know, contacts,
Speaker 1: dot employees, dot two list, dasync or whatever. And Bob's
Speaker 1: your uncle, so he's basically just taking more, uh, taking
Speaker 1: more work away from you. You don't have to do this,
Speaker 1: and and let's face it, I mean order by is
Speaker 1: something that we always do. Yeah, why would you want
Speaker 1: just overhead? Why would you want a collection of things
Speaker 1: just randomly sorted?
Speaker 2: Yeah? Yeah, good, that's a good one. Thanks Sank Simon.
Speaker 2: 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
Speaker 1: us today?
Speaker 2: Hey? I grabbed a comment off of show nineteen eighty four,
Speaker 2: which is what we did with Sam and Jerome talking
Speaker 2: about Uno and dot net tennel. Well, we talked about
Speaker 2: Maui on that show as well. Yeah, of course, nothing
Speaker 2: but do but the only the comment we've I went
Speaker 2: through a bunch of Maui comments, including the ones on
Speaker 2: Gerald show. It's and you know, we've had a bunch,
Speaker 2: but we've also read them all. This comments is not
Speaker 2: actually about Maui, but it is relevant to the section
Speaker 2: of the show because this comments from John, who says
Speaker 2: plus one for incorporating the guests into the intro section. Yep, yeah, yeah,
Speaker 2: 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
Speaker 3: hope ye this opens the door for other guests. It's fine,
Speaker 3: it's fine.
Speaker 1: Well, the thing is, we've done it on occasion, but yeah,
Speaker 1: only you know, kind of when it's relevant to what
Speaker 1: we're talking about. But I think it's good. I think
Speaker 1: 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
Speaker 2: copy of music CODEY is on its way to you,
Speaker 2: and if you'd like, I can copy of music O buy.
Speaker 2: I write a comment on the website at dot NetRocks
Speaker 2: dot com or on the facebooks to publish every show there.
Speaker 2: And if you comment there and I read on the show,
Speaker 2: we'll send you copy of music O Bay.
Speaker 1: And what Richard's talking about is music to Code Buy.
Speaker 1: This is a collection of twenty five minute musical pieces
Speaker 1: that I wrote specifically for instrumentals and for focus, and
Speaker 1: people have been using it successfully to help them stay
Speaker 1: in a state of flow while they're coding. We have
Speaker 1: twenty two tracks now and you can get the whole
Speaker 1: collection at music too Coode by dot net in MP
Speaker 1: three wave or flak formats.
Speaker 2: Very nice.
Speaker 1: All right, Since this is episode nineteen eighty six, we
Speaker 1: 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
Speaker 1: April twenty six, a Chernobyl reactor exploded. Significant radioactivity material
Speaker 1: got spread across Europe, and it resulted from a flawed
Speaker 1: reactor design and operator errors leading to media in long
Speaker 1: term health impacts.
Speaker 2: The RBMK reactor design it needs careful control and they
Speaker 2: were racing to do a test to qualify this reactor
Speaker 2: for the power. Demands of the Soviet unit time were
Speaker 2: so high that they couldn't do it during the day
Speaker 2: because they needed the power. And so instead of taking
Speaker 2: the A team who was supposed to do the test,
Speaker 2: it was run at night with the C team, and
Speaker 2: they didn't set up the conditions properly. Like the series
Speaker 2: of mistakes is so dramatic, combined with the issues of
Speaker 2: the RBMK to actually create a steam explosion so violent
Speaker 2: that the fifty ton core of the reactor was blown
Speaker 2: across the countryside. Yeah, it's really very remarkably bad.
Speaker 1: Hands across America happened on May twenty fifth, millions participated
Speaker 1: in a fundraising event aimed at raising awareness for hunger
Speaker 1: and homelessness by forming a human chain across the United States.
Speaker 1: In sports Super Bowl twenty on January twenty sixth, Chicago
Speaker 1: Bears beat the New England Patriots forty six to ten.
Speaker 1: That was a whoopin'. The NBA Dunk Contest happened on
Speaker 1: February eight Spud Web at five seven when the NBA
Speaker 1: Slam Dunk Contest, showcasing his incredible athleticism. You know, it's
Speaker 1: not very often that a five foot seven basketball player
Speaker 1: can do any slam dunks at all, let alone. You know,
Speaker 1: when a slam dunk contest, usually it's the six seven
Speaker 1: foot people that could just drop it in the net.
Speaker 1: So that was pretty good. The rest I'm gonna leave
Speaker 1: to you, except for movies, go ahead.
Speaker 3: Okay, I know I just was going that I was
Speaker 3: totally prepared for, like your research, which is so good.
Speaker 3: Nineteen eighty six is a year I was born. So
Speaker 3: September tenth on a Wednesday. I still remember very vividly.
Speaker 3: No I don't. But I was like, you're leading into
Speaker 3: leading up to introducing me here, but absolutely not. So
Speaker 3: this lines up perfectly.
Speaker 1: This is good. Well, you know, we didn't say it
Speaker 1: 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
Speaker 3: my mother telling me. Of course she was pregnant with
Speaker 3: me at the time, so she was like they were worried, right,
Speaker 3: Like they had measures like in the Netherlands of like
Speaker 3: stuff floating in the air, so they were like worried
Speaker 3: of like what's that going to do and what effects
Speaker 3: is that going to have? So yeah, just a little
Speaker 3: 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
Speaker 1: want to go down the top ten movies of nineteen
Speaker 1: eighty six. Top Gun by far outgrossed the second most
Speaker 1: popular movie by about sixty million dollars. Crocodile Dundee, No boy,
Speaker 1: that's a knife. That's the best scene in the world.
Speaker 1: The Karate Kid Part two Back to School one of
Speaker 1: my favorites. Great performance by Sam Kinnison and History Class
Speaker 1: Aliens follow up to Alien. I don't know, just came
Speaker 1: to them. I guess The Color Purple. Very very good movie.
Speaker 1: Historic Star Trek four, The Voyage Home one of my
Speaker 1: favorite Star Trek movies of all time. Ferris Bueller's Day Off,
Speaker 1: of course excellent. Ruthless People. Do you know that that
Speaker 1: was a Walt Disney Studios movie. Ruthless People, No kidding? Yeah?
Speaker 1: And Out of Africa.
Speaker 2: That's grateful.
Speaker 1: My mother couldn't stop talking about meryls. Street. Some other
Speaker 1: notable films, Platoons, stand by Me, Color of Money. There
Speaker 1: was a lot of good movies, but those are the tops.
Speaker 2: Stun It another stunning ear. I mean ye. Movie wise,
Speaker 2: what can I say?
Speaker 3: It was a good year.
Speaker 1: Thanks JERRYL. All right, Richard, talk to us about space
Speaker 1: and tech.
Speaker 2: So there were two space shuttle launches in nineteen eighty six.
Speaker 2: The first was a January eighteenth, and it was the
Speaker 2: Columbia who did a normal mission STS sixty one sat
Speaker 2: C deploying some satellites doing experimentation. But of course the
Speaker 2: only one we remember is on January twenty eighth STS
Speaker 2: fifty one L when Challenger, after the seventy three seconds
Speaker 2: of flight, disintegrated, killing all seven astronauts on board. It
Speaker 2: was only Challenger's tenth flight, it was the most active shuttle.
Speaker 2: There was a number of reasons for the incident, the
Speaker 2: main one being the O ring system on the solid
Speaker 2: rocker boosters. Yeah, a shuttle won't fly again for another
Speaker 2: thirty two months. The out of they'll build an additional
Speaker 2: shuttle out of the spare parts to create a shuttle
Speaker 2: called Endeavor. It's also when the Air Force largely exits
Speaker 2: the program and Van der Berg will never get used,
Speaker 2: and the testing and evaluation of shuttles to make them
Speaker 2: safe for flight will get so long that they'll never
Speaker 2: apply more than five missions or six missions a year.
Speaker 1: That was one of those moments where you remember exactly
Speaker 1: where you were when you heard it. Yeah, I was
Speaker 1: driving my father's Toyota Ursell to college in the morning
Speaker 1: and I heard it on the radio and I just
Speaker 1: couldn't believe it. And then of course all the TV
Speaker 1: coverage and the family is just a horrible sure no.
Speaker 2: And it was the teacher in space, Krista McAuliffe, right, like,
Speaker 2: this was the civilian capable vehicle, and it just wasn't true.
Speaker 2: Flight in space is dangerous now, of course, it's an
Speaker 2: overwhelming story in space. But this is also the year
Speaker 2: that the mir space station is launched the initial module
Speaker 2: called the functional Cargo Block. It'll eventually be assembled to
Speaker 2: a much larger spacecraft that the Shuttle will visit. This
Speaker 2: is the year that Voyager two flies by Uranus. And
Speaker 2: this is also the year that Haley's comment is approaching
Speaker 2: the Sun, and so a fleet of spacecrafts, five of
Speaker 2: them in eighty six, Vega one to two, SUSA, SECA, Gata,
Speaker 2: and Giato all do flybys of Haley to get a
Speaker 2: 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
Speaker 2: the Compact Desk Pro three eighty six, first you know
Speaker 2: all thirty two bit machines. Also the year that ib
Speaker 2: ever releases the AT one oh one keyboard, which we
Speaker 2: all basically still use. I think it's everybody's derived from
Speaker 2: that keyboard more or less. The Scuzzy one standard is set. Also,
Speaker 2: the i E t F the Internet Engineering Task Force
Speaker 2: is formed, so they're getting series about you know what
Speaker 2: with a public internet looked like, although we're still years
Speaker 2: away from that.
Speaker 1: It's also the first Maybe that's why Scuzzy had so
Speaker 1: many versions.
Speaker 2: Oh yeah, everybody wants to do their own thing. This
Speaker 2: is the first time the term vaporware is written down.
Speaker 2: A writer in Time magazine, Philip Elmer DeWitt, talks about
Speaker 2: products that never are announced but never actually ships. And
Speaker 2: here's a computer you've never ever heard of, the Connection
Speaker 2: Machine CM one. So this was a computer designed to
Speaker 2: do neural network It was an artificial intelligence computer. It
Speaker 2: had sixty five and thirty six one bit processor wow,
Speaker 2: built in an array to do high scale or compute.
Speaker 2: They only made a couple of them. It didn't work.
Speaker 2: All that well, and it was very, very expensive, so
Speaker 2: so much for that, but just you know, it was
Speaker 2: the first time that we were we had waves of
Speaker 2: AI technology and we're going through that again. This also
Speaker 2: the year that Microsoft is listed on the New York
Speaker 2: Stock Exchange and Bill Gates becomes a billionaire. And to
Speaker 2: go along with that, they ship MS DOOFS three point
Speaker 2: two and the first ms dos virus is found in
Speaker 2: 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.
Speaker 2: Postcrists sequel group of ex Oracle guys want to make
Speaker 2: their own open source database and they go about it
Speaker 2: 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
Speaker 1: time to bring back on the show our guest Gerald Varslos.
Speaker 1: He's a software engineer at Microsoft, where he works on
Speaker 1: the dot Net team. With well over a decade of experience,
Speaker 1: he's built software solutions across industries, specializing in mobile and
Speaker 1: cross platform development with dot Net, Maui, Slash, Zamarin, asp Net, Azure,
Speaker 1: Get and these days of course AI, which we'll probably
Speaker 1: creep into this show somewhere because it always does.
Speaker 3: Yeah. I was gonna say, like, I hope we can
Speaker 3: make it without AI, but then you know, Maui is
Speaker 3: 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?
Speaker 3: What isn't? Yeah? Of course, like you know, we're recording
Speaker 3: this in the new year. This is going to be
Speaker 3: released in a new year. But in November of last year,
Speaker 3: of course, we had dot at ten, right, so that's
Speaker 3: of course our big point as well. We're part of
Speaker 3: the dot net ecosystem, the dot net product, so dont
Speaker 3: Maui also had a big release with dot at ten
Speaker 3: as well, and you know, we're all about kind of
Speaker 3: like quality performance, just like I guess the overall dot
Speaker 3: net product. But that's really been our focus as well,
Speaker 3: because it's been no secret that you know, we had
Speaker 3: a bit of a rocky start around don at five
Speaker 3: done at six, Yeah, but you know, things have gotten better.
Speaker 3: We're talking to customers all the time and they've been
Speaker 3: saying to us, like you're on the right path. We
Speaker 3: feel as of kind of like done at seven, done
Speaker 3: at a time frame. We feel confident that we can
Speaker 3: migrate our apps now to this version of don at Maui,
Speaker 3: and lots and lots of people have not just migrations
Speaker 3: but also new apps, and now I think we've done.
Speaker 3: At ten. We for the first time in a long
Speaker 3: time since the transition from examine forms. If you know
Speaker 3: a little bit about all the history here, we had
Speaker 3: some room to not just focus on quality like super important.
Speaker 3: No one is this debating that, right, but us as
Speaker 3: developers on it. I imagine that most of your listeners
Speaker 3: are developers, right, You like to also do some new stuff, right,
Speaker 3: not just bock fixing. We did it because we had to,
Speaker 3: because it's important, but for the first time in a
Speaker 3: long time, we now also had a little bit of
Speaker 3: room to add some new stuff, make some major improvements
Speaker 3: that some people have been waiting for for a long time.
Speaker 3: So that was really fun for us as well.
Speaker 2: Now I'm the historian around here, and so I'm gonna
Speaker 2: you weren't with Microsoft when this all went down, but
Speaker 2: I do know the story of what happened in two
Speaker 2: thousand and six because or with dot net six in
Speaker 2: the original version, because you guys they were the team
Speaker 2: was put in a possible situation. Dot Net six was
Speaker 2: a very important version of dot net. It was, you know,
Speaker 2: big shifts happening there. That's the pull off of the
Speaker 2: of the the ux APIs like really are restructuring. It's
Speaker 2: also vs. Twenty two, which is the only thing that
Speaker 2: we'll work on dot Net six and you guys are
Speaker 2: trying to make an API between a moving version of
Speaker 2: the framework and a moving version of the studio and
Speaker 2: there are no alternative tools, like there is no way
Speaker 2: you could have made that product at that time.
Speaker 3: That's yes, we were I think the kind of like
Speaker 3: the term in English is like we were we were
Speaker 3: building the bus while we were driving something along those lines.
Speaker 3: That's that's exactly what we were doing. Like and the
Speaker 3: other thing that you didn't even mention that people generally
Speaker 3: didn't receive very well because it was full of in
Speaker 3: development is the whole workloads the distribution of how dot
Speaker 3: at Bowie was distributed. That was a concept, but you know,
Speaker 3: there was still a lot to be built there. So yeah,
Speaker 3: we didn't really have an ide. We didn't really have
Speaker 3: a way to distribute. We didn't there was nothing for
Speaker 3: us to work with. I don't know how we did
Speaker 3: it back then. So yeah, it was it was crazy times.
Speaker 2: I I that's why David Norton now looks like that,
Speaker 2: 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
Speaker 2: the day and we just talked about that pain, and
Speaker 2: I'm like, what a situation to be in. And it
Speaker 2: was predictable, like they they could have known. Yeah, it's
Speaker 2: pretty obvious this is the situation you could be in.
Speaker 2: But within the within six months you kind of got
Speaker 2: to the release you meant to do. Yeah, but I'm
Speaker 2: with you. You've caught up since then, Yeah.
Speaker 3: Exactly exactly. Like you know, people have been investing in
Speaker 3: Examine because Examine has been around for like I don't know,
Speaker 3: a decade, right, all things counted and even before Nail
Speaker 3: kind of like yeah, so there's a lot of history
Speaker 3: there and everything worked also there. Just it's the nature
Speaker 3: of this framework, right, Like people will be like, oh,
Speaker 3: I'm so frustrated things break left and right, like, yeah,
Speaker 3: we're building tools on top of xcode, Android tooling that
Speaker 3: is constantly moving. We're not enemies, but we're also not
Speaker 3: necessarily friends, right, Like, they don't give us a heads
Speaker 3: up of like, hey, this is going to be a
Speaker 3: breaking change, especially Apple in point releases, they'll just break
Speaker 3: the hell out of us and it's going to be like, Okay,
Speaker 3: what happened? Right, So we're building on top of tools
Speaker 3: that are not necessarily meant to be combined to be
Speaker 3: worked on, and they're not going to stop us, right
Speaker 3: because at the end of the day, we're gonna have
Speaker 3: them more apps in the app stores and you're going
Speaker 3: to get revenue from that. So they're happy whatever the
Speaker 3: app is. But you know, it's it's it's a thing that, yeah,
Speaker 3: it has a lot of different sides to it, which
Speaker 3: makes it interesting. Let's say that way to.
Speaker 1: Work with There's one thing that I have been telling people.
Speaker 1: I've been teaching the Zamora and zamar inforums MAUI for
Speaker 1: a long time, and the thing that people really need
Speaker 1: to understand is that if you think of the cross
Speaker 1: platform nature of a web browser, right and how it
Speaker 1: just works so well on every platform on every browser, like,
Speaker 1: there there the differences and the experience between the browsers
Speaker 1: is really shrunk. And the reason for that is because
Speaker 1: all of these interested parties get together and create standards
Speaker 1: and then they implement those standards and all that stuff.
Speaker 1: Whereas you guys, for cross platform MAUI in particular, you've
Speaker 1: got Android to deal with, and you've got Apple to
Speaker 1: deal with, and you've got Windows to deal with, and
Speaker 1: you know, Linux and Mac and all those other things
Speaker 1: in places that it goes in. You one company basically
Speaker 1: has to do what an industry did for the browser,
Speaker 1: and you have to keep on top of that and
Speaker 1: make sure that everything works uniformly across all those platforms.
Speaker 1: And that's a big bite, isn't it.
Speaker 3: And exactly, and it's not just a framework, right, it's
Speaker 3: not just us saying like, hey, this is you define
Speaker 3: a button and then we translate that for you. But
Speaker 3: it's all the tooling around it. Again, especially iOS like
Speaker 3: they make sure that all their software runs on their hardware,
Speaker 3: so you need that hardware. Right. There's no way for
Speaker 3: us to get around that because it's simply in their licensing,
Speaker 3: so they're even legally, we just cannot work around that,
Speaker 3: so we cannot do anything to improve that tooling or
Speaker 3: provide you with the tooling. We have to work with
Speaker 3: what they put out there, and again it's not made accessible.
Speaker 3: It's made for their needs for their ecosystem, so it's
Speaker 3: it's everything in there, and that makes a lot of
Speaker 3: different ingredients and that also makes it sometimes interesting to
Speaker 3: work with. So yeah, all things considered, like, you know,
Speaker 3: I think we're we're doing a great job, if I
Speaker 3: may say so myself, but it's hard to sometimes explain
Speaker 3: that to customers because and I understand it from their
Speaker 3: perspective too, because before I joined Microsoft, I was a
Speaker 3: customer and I would be frustrated too with like what
Speaker 3: the heck they did break now?
Speaker 2: Right?
Speaker 3: Like what did they do now? But it's sometimes out
Speaker 3: of our control, and I think all things considered, like
Speaker 3: it's still you still get more gains than hopefully frustration.
Speaker 3: 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,
Speaker 3: but also modern right, so whatever already said, like iOS
Speaker 3: and Android, they progress. I think Android picked up to
Speaker 3: pace pretty much as well. So they're really saying at
Speaker 3: least yearly for iOS. It's pretty predictable by now we
Speaker 3: know the pace WWDC and then in September the actual
Speaker 3: release Android I think you know. They put out versions
Speaker 3: as well, and we had a couple of legacy things.
Speaker 3: One of them that I worked on, notably was like
Speaker 3: the media picker. Because it's twenty twenty six now all
Speaker 3: apps need to have some form of capturing a video
Speaker 3: or a picture, right, and we had the media Picker API,
Speaker 3: which was too simple. There's a whole history there. I
Speaker 3: won't bore you with that unless you really want you.
Speaker 3: But that had to do with the transition actually from
Speaker 3: Zambering to Maui, and we started implementing all the bits,
Speaker 3: but then Maui came along and we only had time
Speaker 3: to do the really basics, so we stuck with that,
Speaker 3: and then we had to do all the buck fixing right,
Speaker 3: so we never had the time to add new things
Speaker 3: 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,
Speaker 3: more modern APIs on the underline platforms right before they
Speaker 3: really get deprecated and get removed and we're really in trouble.
Speaker 3: Then we really have to. Ideally you want to be
Speaker 3: in front of that. So media picker, your APIs to
Speaker 3: get a picture, to get a video, and then you
Speaker 3: can use that for further processing maybe with AI. I'm
Speaker 3: obligated to mention that every obligatory. Yeah, so you know
Speaker 3: that's super helpful. But it's it's an all thing considered,
Speaker 3: it's a minor thing. What are all based Because Carl
Speaker 3: you mentioned it. You've been teaching Examine, You've been working
Speaker 3: with examin since forever. What are all the Examine, all
Speaker 3: the MAUI apps made of? It's example, right, Examle is everywhere,
Speaker 3: example everything, not just Examine and Maui, but also in
Speaker 3: all the other products. So it was about time that
Speaker 3: we did something there because if you know a little
Speaker 3: bit about exammle historically like that gets inflated at run time,
Speaker 3: So whenever you make a typo or do a thing,
Speaker 3: it will blow up at runtime. If you don't catch
Speaker 3: it during your testing, it will happen to your customer.
Speaker 3: Your app gets one star ratings, you will lose your job,
Speaker 3: you'll lose your house, your wife leaves you, your kids,
Speaker 3: 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
Speaker 3: already made it better at some point for examiner informs
Speaker 3: that also of course went into dotted. Now we added
Speaker 3: example compilation, so that already compiled your examle to intermediate language. Right,
Speaker 3: so the language that gets you know, she sharp gets
Speaker 3: compiled to before it actually runs on the diet run time.
Speaker 3: And that was already better. But not a lot of people.
Speaker 3: I know, like two people that can read IL, let
Speaker 3: 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
Speaker 3: 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
Speaker 3: and at that time that was the best that we
Speaker 3: could do. Right, We could do it to IL and
Speaker 3: that would give you a little bit more information, but
Speaker 3: it's still not great. Nowadays we have like and source
Speaker 3: generators and all that kind of crazy stuff, right, so
Speaker 3: what we can do now is take your examle and
Speaker 3: generate that to actual C sharp code, so it will
Speaker 3: always be C sharp code. It's not the prettiest to
Speaker 3: look at, right, because it's source generated. You need to
Speaker 3: have like fully the full name spaces everything written now
Speaker 3: so that there's no clashes and whatever. So it's a
Speaker 3: little bit hard to parse, but it's still c sharp.
Speaker 3: Code doesn't really matter because if we do our job correctly,
Speaker 3: you never have to look at that code. But everything
Speaker 3: you write, example, will now be generated in code, and
Speaker 3: that means much better performance because it doesn't need to
Speaker 3: be parsed, it doesn't need to be inflated. It's code already.
Speaker 3: 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,
Speaker 3: there is what's happening. You can debug through it. You
Speaker 3: 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
Speaker 3: this is I think this is just like I'm throwing
Speaker 3: it out, not based on any real data. I think
Speaker 3: this is our number one complaint. The debug version of
Speaker 3: your app is different than.
Speaker 2: The release version.
Speaker 3: Your debug app will work great, then people will release
Speaker 3: it and it will crash immediately. That all happens because
Speaker 3: of like AOT and trimming related stuff because we want
Speaker 3: to deliver the best app and for iOS that's always
Speaker 3: been super aggressive, like they need it ahead of time compiled,
Speaker 3: so we will trim off paths of code that you're
Speaker 3: not using. Exammle does not necessarily have a strong referencing code.
Speaker 3: So what will happen is that in your release build
Speaker 3: some things that are only defined exammle, because the compiler
Speaker 3: cannot see a path between your code and example, will
Speaker 3: get trimmed off, and suddenly things in your binary are
Speaker 3: missing and it will start crashing on release builds. Now
Speaker 3: that doesn't happen anymore because it's also sharp code. There
Speaker 3: is clear paths for the compiler to follow with like hey,
Speaker 3: this code needs to be an ear. It does not
Speaker 3: need to be trimmed away. So this is like a
Speaker 3: 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
Speaker 3: know people, I know me, I know me.
Speaker 1: It's very easy. You just flip it from debug to
Speaker 1: 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.
Speaker 3: So that's that's like the big thing, right, Like one
Speaker 3: of the bigger things that we've been working on together
Speaker 3: with that, we've we've introduced some other example optimizations there,
Speaker 3: like example can be very forbose. Right, so we have
Speaker 3: some simplification, some implicit namespacing, so you can really trim
Speaker 3: down your example by a lot. It's a little bit
Speaker 3: hard to explain by just talking about it is really
Speaker 3: something that you have to see, so go look that up.
Speaker 3: But you can really trim down your example in your
Speaker 3: files right now. So that's that's one of.
Speaker 1: The so is the UH is the way to code
Speaker 1: now in twenty twenty six, get code pilot, start, start
Speaker 1: having it write pages for you, having them connect them,
Speaker 1: put them together, and then when it all works, you
Speaker 1: generate the c sharp and put in your try catches
Speaker 1: and hit build on release and test it before you
Speaker 1: release it.
Speaker 3: Well, this is of course like the other big investment,
Speaker 3: right and I think this is even like beyond a
Speaker 3: ten and it's kind of like it doesn't follow like
Speaker 3: our release trends because it goes outside of the MAUISDK.
Speaker 3: But of course what we were really thinking about is
Speaker 3: like how can we make our customers more successful building
Speaker 3: MAUI apps through copilot? Right, So there's this is like
Speaker 3: a whole new world, and you've probably talked about that
Speaker 3: in all kinds of episodes from all kinds of angles.
Speaker 3: But we as a team really need to reinvent ourselves
Speaker 3: too with like, yes, we need to have all the
Speaker 3: documentation in order suddenly. Oh no, no one loves documentation,
Speaker 3: but this is important because that will be context for
Speaker 3: co pilots, for agents to look at on how to
Speaker 3: build MAOIAPP. So we need to make sure we're doubling
Speaker 3: down on like, hey, the things that we were like, eh, documentation,
Speaker 3: we'll do that when we get there. We need to
Speaker 3: have it now, right, So have that out there, have
Speaker 3: all the instructions out there, the custom agent. So that's
Speaker 3: what we have with the investing as well.
Speaker 2: I would bet that getting rid of the old documentation
Speaker 2: 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
Speaker 2: their data in order is about archiving. Yeah.
Speaker 1: Well, fortunately the documentation at Microsoft Learn now is keyed
Speaker 1: by version of dot net, right, so even even copilot
Speaker 1: knows that, well that was an old version.
Speaker 3: Yeah. So two things. That's that I think the whole
Speaker 3: going from Examine to MAUI of course we didn't know
Speaker 3: that at the time, because that's now four or five
Speaker 3: years ago. Is now a good thing because at least
Speaker 3: we kind of like got rid of the whole examine. Like, sure,
Speaker 3: a model will probably pick up on some of the
Speaker 3: history and find things that are similar, but at least
Speaker 3: it will search for MAUI and not examine anymore, right,
Speaker 3: because then it will find all that history there too.
Speaker 3: So that's the And yes, the Microsoft learned they also
Speaker 3: have a hosted MCP server, which really helps. I noticed
Speaker 3: because those models are trained up to a certain point.
Speaker 3: So if they're trained up till September twenty twenty five,
Speaker 3: it doesn't know much about the dot ne ten release.
Speaker 3: Actually working with MAUI is always funny because I will
Speaker 3: go and say to it, like because we're obviously using
Speaker 3: it to develop MAUI now as well, and I'll say like, oh,
Speaker 3: this looks like something iOS twenty six specific. And if
Speaker 3: you know a little bit about iOS, they jumped from
Speaker 3: iOS eighteen to twenty six, right, And I'll be like, oh,
Speaker 3: this is iOS twenty six, and we need to see
Speaker 3: if something changed here, and it will be like you said,
Speaker 3: iOS twenty six, But that doesn't exist. You probably mean
Speaker 3: iOS eighteen. So I'll just look up the iOS eighteen. No, no, no,
Speaker 3: this exists. Go to your online sources, look it up.
Speaker 3: So and then with having.
Speaker 1: That's just as bad as somebody who's been sleeping for
Speaker 1: the last ten years and then obstinate enough to tell
Speaker 1: you you're wrong.
Speaker 3: Yeah, yeah, right, yep, yeah exactly. So then Microsoft learned
Speaker 3: MCP really helps to connect and feed a model with
Speaker 3: the context of like, oh, these are all the new APIs,
Speaker 3: all the new stuff that I can actually work with
Speaker 3: without having the model actually have to be updated. So
Speaker 3: that really helps.
Speaker 1: I think this is a good place to take a break.
Speaker 1: So let's do that and we'll be right back with
Speaker 1: more with Gerald and Maui and all that happy stuff
Speaker 1: after these very important messages. All right, and we're back.
Speaker 1: 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
Speaker 1: stack there, So if you can clid back, we'll continue
Speaker 1: where we left off.
Speaker 3: Yeah, absolutely, So what else? Okay, let me mention one
Speaker 3: other thing. What we've been investing in is like the
Speaker 3: safe areas, right, So that's our term in the mobile
Speaker 3: space behind the notches and the dynamic islands, because basically
Speaker 3: all the phones and I think we're gonna go to
Speaker 3: the next hurdle now, which is foldable phones, if I
Speaker 3: have to believe the rumors, But right now we're still
Speaker 3: struggling with all the camera holes and all that kind
Speaker 3: of things, and you can lay out things behind them
Speaker 3: or not right. So again there we had a little
Speaker 3: bit of legacy code still lying around, which was like, hey,
Speaker 3: we had something to work with the APIs, but it
Speaker 3: was not super intuitive. So again there we made big
Speaker 3: investments to make that much much easier to work with.
Speaker 3: So especially I'm an iOS user, right so I think
Speaker 3: Android at some point started doing this as well. But
Speaker 3: especially on iOS, what you would have you would have
Speaker 3: to swipe up right, you will have a little bar
Speaker 3: down there or the dynamic island there at the top,
Speaker 3: and then whatever you stayed between these things, then it's
Speaker 3: that's kind of like your safe areas are the top
Speaker 3: and the bottom lines. So if you stay between them,
Speaker 3: then at the top you will have some white space
Speaker 3: and then at the bottom two your designer does not
Speaker 3: like that. The designer on your team is like no, no,
Speaker 3: I want to scroll behind that little part right there.
Speaker 3: So now we've made that easier to do that with
Speaker 3: mawips as well, which you know, one of those things,
Speaker 3: and with example too, like if we do our job right,
Speaker 3: you should not notice with the safe areas, you will
Speaker 3: like to have control. So that's what we did. Now.
Speaker 3: It's one of those things that are seemingly very small
Speaker 3: features like oh yeah, sure, I just flipped the switch
Speaker 3: and I draw behind it, but super hard to get
Speaker 3: it right for all the platforms.
Speaker 2: You know.
Speaker 1: I was just talking with Dan Roth on Blazer Train
Speaker 1: about the Blazer in dot net ten and he talked
Speaker 1: 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
Speaker 1: improve things ever so much.
Speaker 3: It took years of my life, but it's written away
Speaker 3: as quality of life like that should just be there, right,
Speaker 3: And that's that's how it goes. Yeah, and then one
Speaker 3: other big thing, the other thing that we love that
Speaker 3: also starts with an A in the dot net world
Speaker 3: is as part Yeah, and outside of the dot net world,
Speaker 3: Oh no, they're going to kill me if I say
Speaker 3: dot in contacts with Aspire. No, no, we can use it
Speaker 3: everywhere with JavaScript and Python because we went through the
Speaker 3: whole rebranding. Right, it's for everything, but now it's also
Speaker 3: for dot at Mawi. You can use it with dot
Speaker 3: at Mawi. So that's really cool stuff as well.
Speaker 1: If you ask saw your back end services, you're cashing
Speaker 1: all that stuff, your telemetry yep, all comes in for free.
Speaker 3: Yep, exactly exactly. So this was I'm definitely not as
Speaker 3: good with all the years and numbers as Richard is,
Speaker 3: but I want to say we're now to I think
Speaker 3: it's the end of twenty twenty four or something. The
Speaker 3: beginning of twenty twenty five, I was on the road
Speaker 3: with Sweatdug and sweeting a conference with Jeffritz who was
Speaker 3: also there. We went to visit a customer. We went
Speaker 3: to visit a user group as sweatgg session, and he
Speaker 3: had sessions about aspires. So he would go on and
Speaker 3: on and on, and I was like, I want this
Speaker 3: for AWI. This looks amazing. I didn't know much about
Speaker 3: it back then, and I was like, okay, this is great.
Speaker 3: I was just there in the room and I watched
Speaker 3: him do his thing, and I was like, Okay, this
Speaker 3: looks great, and I'm so bummed out that we do
Speaker 3: not have dot at Mauie this story. So when I
Speaker 3: got back home, I was like, we need to fix this,
Speaker 3: and a couple of people on our team did some
Speaker 3: experiments around it, so there was one piece there, one
Speaker 3: piece there. I sat down and I just made it
Speaker 3: 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
Speaker 1: the line, right, Yeah.
Speaker 3: Well yeah, well then she definitely definitely absolutely helped because
Speaker 3: of course, like she came from the Dotted Maui team
Speaker 3: now on the Inspire team, so she was the number
Speaker 3: one fan, right and that definitely opened doors with being
Speaker 3: like hey, on the Aspire team, like you need to
Speaker 3: look at this pr because we want to make this happen, right,
Speaker 3: So that definitely helped. But yeah, along the light, I
Speaker 3: think this is also something that not a lot of
Speaker 3: people saw the value in until we kind of like
Speaker 3: put it under their nose because this was like, oh,
Speaker 3: this is for district muted, it for micro services, for
Speaker 3: web based kind of like solutions. Right, But if you
Speaker 3: go look at kind of like the Maui documentation, you
Speaker 3: don't have to anymore because we have a copol it
Speaker 3: to do that for you. Now see there's my AI point.
Speaker 3: But if you would go like a caveman to a
Speaker 3: documentation page, there's a full documentation page on how to
Speaker 3: make your dot at Maui app communicate with a local
Speaker 3: back end service on your machine. Because what you're doing
Speaker 3: typically if you have a regular dotet project, you will
Speaker 3: 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,
Speaker 3: then local host is your phone. The server's not running
Speaker 3: on there. If you're running from an emulator on the
Speaker 3: same machine, guess what local host is not local host.
Speaker 3: If you're running the iOS remote simulator, which is actually
Speaker 3: running on your Mac hardware, but you have hooked it
Speaker 3: up to your Windows Visual Studio, local host is actually
Speaker 3: your Mac machine. So all kinds of paths and then
Speaker 3: I didn't even get started on like the invalid HDPS
Speaker 3: certificates and whatever, right that you need to trust on
Speaker 3: your device on your iOS device, blah blah blah. So
Speaker 3: just explaining that to people over and over and over
Speaker 3: again was enough reason to kind of like get this
Speaker 3: as fire thing done because now it will just have
Speaker 3: service discovery, it will know where the end point is.
Speaker 3: It will we are using defth tunnels in between, so
Speaker 3: that if you don't know about death tunnels, that's kind
Speaker 3: of like your public endpoint to connect to your local machine.
Speaker 3: So we go that route, We circumvent the whole HTPS
Speaker 3: certificates blah blah blah local host stuff right there, and
Speaker 3: it all works. It all lights up, You get all
Speaker 3: the telemetry, you get all the logging, and that's when
Speaker 3: people were really like, yeah, this, I see the value
Speaker 3: of this.
Speaker 1: So that was great, fantastic. Yeah. I don't have anything
Speaker 1: to say except thank you.
Speaker 3: Well it's a little bit rough. It's out in preview
Speaker 3: right now, so I'm definitely interested in all of your feedback,
Speaker 3: of course, to your listeners if you're going to use this.
Speaker 3: I definitely need to polish up a couple of more things.
Speaker 3: The getting started experience is documented. You can definitely do it,
Speaker 3: but there's some things to work out. But this was
Speaker 3: definitely something like, I want to put the first version
Speaker 3: out there because there is so many ways that we
Speaker 3: can kind of like go with this, but first I
Speaker 3: want to of course verify, like, hey, is this actually
Speaker 3: something that people want to use right here? And what
Speaker 3: is the next step that we are going to look at?
Speaker 3: Because yeah, like I said, thinking about this, talking this
Speaker 3: through with the Aspire team as well, you can you
Speaker 3: can go a lot of ways, So lots of possibilities there.
Speaker 2: Awesome. So to me, the strength of Maui is always
Speaker 2: the Android iOS story, one code base both devices, lots
Speaker 2: of respect. Are you getting more love into the Windows
Speaker 2: and mac space as well, because this seems like every
Speaker 2: stack is good at some but not all.
Speaker 3: Yeah, yeah, great question. Our supported platforms definitely include mac
Speaker 3: os and Windows since we went to don ed Maui.
Speaker 3: So if we're being honest to ourselves back in examine days,
Speaker 3: the primary candidates were absolutely iOS and Android and then
Speaker 3: huge Yeah.
Speaker 2: That's which is huge, right, like that to have one
Speaker 2: code base for both devices is a big deal. Like, y,
Speaker 2: thanks for that.
Speaker 3: App exactly, and I this is very much my personal opinion.
Speaker 3: So because a lot of people also ask us like, hey,
Speaker 3: when are we going to be able to target the
Speaker 3: web right so right now it's just like kind of
Speaker 3: like the running on on the actual platforms. When are
Speaker 3: you going to go to the web. My personal opinion
Speaker 3: is it's never going to happen, like unless we decide
Speaker 3: as a team we're going to do it. I'm going
Speaker 3: to do it. It's fine. Then I'll love it and
Speaker 3: I'll be it'll be amazing. But my personal opinion is
Speaker 3: like we shouldn't do it because already like mobile and
Speaker 3: desktop that are our supported platforms, and we make sure
Speaker 3: that we have the best experience across all of them.
Speaker 3: But having a great experience, I have seen little apps
Speaker 3: that work both, that have a shared code base, that
Speaker 3: run both on mobile and on desktop, because you're going
Speaker 3: to spend a lot of time. If you just polish
Speaker 3: the mobile app, run that on the desktop, that will work,
Speaker 3: but the UI will look horrible because it's all stretched out.
Speaker 3: You will have so much space that you're not using.
Speaker 3: So yes, functionally it works, but it doesn't look great.
Speaker 3: So then you're going to spend time polishing that. You
Speaker 3: can absolutely do that. The easiest way to do it
Speaker 3: is say like, hey, of course we have APIs to
Speaker 3: detect if you're running on Windows, or if you're running
Speaker 3: on a desktop, or however you want to go with that,
Speaker 3: and then you can say you can just swap out
Speaker 3: full views if that's what you want to do, right,
Speaker 3: so you can make a design that works for a desktop.
Speaker 3: Whenever you run a desktop, say I'm good to serve
Speaker 3: that entire view. If you want to find grain that
Speaker 3: a little bit more, then you're going to work on
Speaker 3: the layout level. So we've got all that, but what
Speaker 3: I typically see is that people will focus or on
Speaker 3: mobile or on desktop. Now I'm not sure if you
Speaker 3: were going this way, but I'm definitely are because this
Speaker 3: is a non technical thing that is definitely a major
Speaker 3: improvement release, whatever you want to call it. Already a
Speaker 3: year ago or a little bit more, we went to
Speaker 3: a close partnership with Sinfusion. You probably all know that
Speaker 3: because you know they're out there since forever making controls
Speaker 3: for wind forms and all the crazy stuff Blazer as well,
Speaker 3: and all kinds of cool things. So they've been out
Speaker 3: there and they're doing a lot more. But we have
Speaker 3: found in them a partner that has been helping us
Speaker 3: out maintaining dot net bowry itself. So they have been
Speaker 3: a great help with like hey contributing sixty percent of
Speaker 3: the community contributions I think between dot net nine and
Speaker 3: 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
Speaker 3: with like I think there are now thirty controls in there.
Speaker 3: So historically, you know, they're sweetest paid because they're a company.
Speaker 3: That's what they pay the bills with, so that's fine.
Speaker 3: But now they also have like an open source toolkit
Speaker 3: that's completely free that you can use with dot net
Speaker 3: BOWI controls, and they've been super helpful. On top of that,
Speaker 3: we've also now partnerships with You're gonna be a little
Speaker 3: bit surprised if you didn't know about this UNO and Avlonia,
Speaker 3: and you're gonna be like, but your competitors, how does
Speaker 3: that happen? That would be like a logical question, right.
Speaker 3: We get this response multiple times, but it's still all
Speaker 3: dot net, right, and they just have a slightly different focus.
Speaker 2: We just had the you know guys on they love
Speaker 2: you know, it's all love here, right exactly, We're all exactly.
Speaker 2: So I'd been trying to get an Avolonia show for
Speaker 2: 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,
Speaker 3: where we'll make it happen. Yeah. So we actually had
Speaker 3: a at the top of record, we had just had
Speaker 3: a community stand up which we do live on YouTube
Speaker 3: with the Avolonia people with the progress there. So go
Speaker 3: check that out if you're interested in that. But yeah,
Speaker 3: they're all on dot net right, and to some extent
Speaker 3: they are using our stuff, the examine stuff, the historically
Speaker 3: examine stuff, the bindings for like running on Android, for
Speaker 3: running on iOS. But what they are doing extra like
Speaker 3: Avolonia has a very different angle, very different view on
Speaker 3: how to do these things. They follow kind of like
Speaker 3: more the Flutter model where they draw everything, right, So
Speaker 3: Mawi maps everything to the native control as it should
Speaker 3: look at feel on iOS, but Avolonia draws everything. So
Speaker 3: an entry is not really entry. It's just a border
Speaker 3: that's drawn that you can put a cursor in, and
Speaker 3: they build all the functionality of an entry to mimic
Speaker 3: an entry. But it's just a drawn thing, right, which
Speaker 3: is great because it's super performance. It looks pixel perfect,
Speaker 3: the same across all platforms, but it's just a very
Speaker 3: different idea of what MAUI has.
Speaker 1: I want to go back really quick to what you
Speaker 1: talked about with web applications and how you're really focusing
Speaker 1: on desktop and mobile. But at that point, if a
Speaker 1: customer comes to me and says, we want these mobile
Speaker 1: apps and blah blah blah, and we also want it
Speaker 1: to be a web application, the first thing that comes
Speaker 1: to mind is a hybrid application. Yes, and so that's
Speaker 1: where most of my Maui development is these days, because
Speaker 1: that's what my customers are asking for. But I noticed
Speaker 1: in the what's New documentation that the hybrid WebView now
Speaker 1: has a new way to invoke JavaScript, right.
Speaker 3: Yeah, absolutely so. Lots of investments there as well, So
Speaker 3: I just took the high now, right, because all over
Speaker 3: we have all kinds of improvements on all kinds of areas.
Speaker 3: This is definitely one of them. I should have mentioned
Speaker 3: them earlier. So just to wrap up the little partner story,
Speaker 3: this is where this comes in as well, because Uno
Speaker 3: and I think Avlonia as well, they both have targets
Speaker 3: for the web, right, So you can take your investments,
Speaker 3: you can still share code, it can still be done
Speaker 3: at and you can also take it to the web
Speaker 3: and the big thing with Avlonia is like a the
Speaker 3: drawn things and b they can also run on Linux.
Speaker 3: So what they're doing over at Avlonia right now is
Speaker 3: making sure that you can take your MAUI app, make
Speaker 3: little to note changes, run it on the Avlonia back end,
Speaker 3: and now suddenly you can also take it to Linux.
Speaker 3: And we're in close touch with them, like this is
Speaker 3: like a partnership everything, So we're working together with them
Speaker 3: so that they have what they need, we have what
Speaker 3: we need from them, and we can go all the
Speaker 3: ways and everyone can be successful. Right, So that's one
Speaker 3: way to still take it to the web. And the
Speaker 3: other thing is like yes, absolutely, we have two solutions
Speaker 3: for that right now, which is the Blazer Hybrid web
Speaker 3: you sorry, the Blazer WebView, I should say, and the
Speaker 3: Hybrid WebView. And the Blazer WebView obviously is a specialized
Speaker 3: WebView for Blazer applications, right Blazer that that you will
Speaker 3: probably know and love. So you can just plug in
Speaker 3: your Blazer application and put that in your Maui app.
Speaker 3: You still have a mobile application, but now you can
Speaker 3: do it in Razor and then webuis and all that stuff,
Speaker 3: but still leverage push notifications, the camera that's on there,
Speaker 3: the geolocation, all the power of the device. Same thing
Speaker 3: for the hybrid WebView. But there you can you can
Speaker 3: go outside of the Donat ecosystem if you want. You
Speaker 3: can go and take your React app, your view app,
Speaker 3: your I don't know what the latest JavaScript framework is.
Speaker 3: It's just a WebView, so it should be able to
Speaker 3: run anything that's out there on the web, plug that
Speaker 3: into a Maui app. And yes, we have like invested
Speaker 3: in making it easier to communicate between javascripts, so you
Speaker 3: can easily more easily make the bridge the connection between
Speaker 3: that JavaScript application and then going to the c sharp
Speaker 3: world to actually do like you know, access the sensors,
Speaker 3: the camera, c that I all just mentioned through the
Speaker 3: Maui APIs and that go back to your React application
Speaker 3: and then do the JavaScript things there and exchange all
Speaker 3: the data and APIs there, so big investments there as well.
Speaker 1: Mm hmm. That's great, all right. So I invariably get
Speaker 1: frustrated with Apple. Mostly Android is great and I can
Speaker 1: do everything I want on an Android in an Android
Speaker 1: Maui app, But Apple sometimes has these crazy requirements for
Speaker 1: you know, in limitations for services. If you want to
Speaker 1: do like notification services just for one that's always been
Speaker 1: a thorn in my side. Has it gotten any easier?
Speaker 1: And do you have any other issues that you wish
Speaker 1: Apple would enable or features that you wish they would
Speaker 1: 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
Speaker 3: for this one. So I was building what our team
Speaker 3: I think does really well go teama is. We build
Speaker 3: a lot of apps ourselves. Like our manager has like
Speaker 3: this whole thing going on where he manages He has
Speaker 3: a pool and there it goes in like things to
Speaker 3: keep it clean and temperatures and whatnot. He has that
Speaker 3: app forever it has been examined. It's now Maui. And
Speaker 3: that's a great example because this is a production app
Speaker 3: and you know he's trying all the latest feature and
Speaker 3: see how it actually behaves in an app that's actually
Speaker 3: running without too much risk. Right. So I was building
Speaker 3: an app for myself and we have a couple of
Speaker 3: those of other team members doing that too. And I
Speaker 3: was building an app myself and I wanted to track
Speaker 3: the location this was something you we were going to
Speaker 3: walk around the village here and people could sign up,
Speaker 3: and we wanted to know to generate kind of a
Speaker 3: heat map of where people were walking. Very innocent, we
Speaker 3: didn't have any ill intent with that. So we implemented
Speaker 3: that with background location on Android. Android nowadays is like,
Speaker 3: what are you going to do with that back location?
Speaker 3: You can send us a thirty second video explaining why
Speaker 3: you need that, what it's doing, and they decided like,
Speaker 3: this is not crucial to your app, so gonna you're
Speaker 3: gonna have to take it out. I was like, what, okay,
Speaker 3: So that was really interesting. They're really cracking it for
Speaker 3: security reasons, I think so. And it's interesting because the
Speaker 3: way we implemented it now, of course we couldn't do
Speaker 3: it in the background, right. I think that's the big
Speaker 3: thing here. If you would do it, you would swipe
Speaker 3: your app away. You could still do it in the background.
Speaker 3: So what we did now is like, hey, implement some
Speaker 3: kind of like signal R or whatever solution, which of
Speaker 3: course only works whenever your app is into foreground, right. So,
Speaker 3: but now doing it that way, it doesn't require us
Speaker 3: to give us any permissions or whatever, right, So if
Speaker 3: we would do it like the legal way that Android once,
Speaker 3: it would give you all kinds of notices of like hey,
Speaker 3: your background is being tracked, blah blah, So the user
Speaker 3: would be much more aware than how we did it now,
Speaker 3: which was much more cod But anyway, little side ten.
Speaker 1: Android also has a foreground service right, which works like
Speaker 1: a background service.
Speaker 3: But I was just gonna say, ye, it's actually a
Speaker 3: bit lot more cu but yeah, those things is for
Speaker 3: some reason. And also, like you you mentioned notifications here
Speaker 3: as an example. One thing that I think and everyone
Speaker 3: with me would want Apple to fix is like the
Speaker 3: whole releasing an app certificate proficioning profiles. That whole thing
Speaker 3: 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
Speaker 3: we had some documentation. We had a great Docks writer
Speaker 3: who did a great job documenting all that on the
Speaker 3: Microsoft side, and we had people saying like the Microsoft
Speaker 3: docs who are releasing native apps, like the Microsoft docs
Speaker 3: are better than the Apple ones. Yeah in explaining what
Speaker 3: it does, but yeah, then it will change the portal
Speaker 3: and you have to update it all. So it's very
Speaker 3: very ted is very not fine.
Speaker 1: I did a series on the dot Net Show where
Speaker 1: we built a dot net Rocks app and deployed it
Speaker 1: to Android and to iOS, and it's probably completely wrong now,
Speaker 1: Like you know, the documentation has changed so much, and
Speaker 1: you know, I guess you could only use it for
Speaker 1: contextual you know, information, but you have to translate it.
Speaker 3: I will say for that app that I build, Uh,
Speaker 3: this is not It starts to sound like marketing. I
Speaker 3: used Copilot and said how do I do this? It
Speaker 3: gave me a step by step plan and it worked.
Speaker 3: It gave me a c I script that just worked.
Speaker 3: I just needed to plug in like my apikes and whatever.
Speaker 3: I could release it without any issue. So that's your
Speaker 3: approachive right there.
Speaker 1: Yeah, yeah, the new normal.
Speaker 3: But yeah, that's that's one thing, the new normal, The
Speaker 3: new normal, absolutely.
Speaker 1: Yeah, anything else that you want to talk about. I
Speaker 1: see that there's a lot of quality of life updates
Speaker 1: and things like that, things that got renamed and stuff
Speaker 1: like that. But I but I think have we covered
Speaker 1: 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?
Speaker 1: What's in your inbox?
Speaker 3: What's in my inbox? Well, I've got a number of
Speaker 3: events planned, one of which, if we're sticking to the
Speaker 3: Maui topics, is the Maui Day, which is going to
Speaker 3: happen in London on February sixth, and I will tease
Speaker 3: here a little bit that there might be more coming
Speaker 3: 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
Speaker 3: with xamin as well. Way back when was Examon still
Speaker 3: a separate company. Maybe I don't know, you had the
Speaker 3: Examine Deaf Days. I think they were just acquired by Microsoft.
Speaker 3: That was kind of like an event out of the
Speaker 3: box basically, even the agenda was specified for you. You
Speaker 3: didn't have to stick for it to it, but you
Speaker 3: know you could. And we were like, no, no, no,
Speaker 3: this is this is too simple, this is too entry level.
Speaker 3: There is a need for expert content. So we went
Speaker 3: with and I remember being in touch with Jamie single
Speaker 3: than at that time and she's like, no, you cannot
Speaker 3: have examinated in front right, that will be legal issues.
Speaker 3: So we went with Expert Day for Examine horrible name,
Speaker 3: Horrible name. Later that got kind of like abbreviated to
Speaker 3: Exam Expert Day. Still not great, but it's on it.
Speaker 3: And we had it started with like a small meet
Speaker 3: up twenty people, but with deep tive content and that
Speaker 3: was with Laurent Bon. He was the first one and
Speaker 3: we did it for a number of years here in
Speaker 3: the Cologne office which is super close to my Cologe Germany,
Speaker 3: and we did it there and he was close to there,
Speaker 3: so he was there and did kind of like the
Speaker 3: keynote and we had a couple of other people from Examine,
Speaker 3: which was really great. We did that for a couple
Speaker 3: and each year it grew and these are the the audience,
Speaker 3: the speakers, they are so passionate. It's amazing people because
Speaker 3: it it We always ran it as a free event.
Speaker 3: There was one sponsor which was actually coincidentally sink Fusion,
Speaker 3: so Kudos and they would sponsor lunch and that was it.
Speaker 3: The vendue was free. The volunteer were volunteers. They were
Speaker 3: not getting paid. But the atentities were coming from Spain,
Speaker 3: UK all the places. Hopefully their boss is paid. But
Speaker 3: there was some speakers that were they flew in from
Speaker 3: Bosnia at some point North Macedonia like all these exotic
Speaker 3: places almost and some of them just paid on their
Speaker 3: own dime and came there. So that's really amazing. That
Speaker 3: really speaks to I think the great community that examined
Speaker 3: and now also done at Maui has so of course
Speaker 3: Examine went away. It all went don at Maui. So
Speaker 3: now we have the Maui Days going on. We did
Speaker 3: in Cologne last year twenty twenty five, we did the
Speaker 3: first one in London, which was a big hit as
Speaker 3: people love coming to London apparently because we sold out
Speaker 3: like in one day and we tried to keep it small, right,
Speaker 3: We don't live stream. That also gives us the opportunity.
Speaker 3: David ort now is usually there. I'm there because I hosted,
Speaker 3: and that gives us the opportunity to also be a
Speaker 3: little bit more candid, honest, have great conversations with customers
Speaker 3: with like what goes well, what doesn't go well? How
Speaker 3: did this historically happen?
Speaker 1: Right?
Speaker 3: We can be a little bit more honest because it's
Speaker 3: not recorded. We were all friends there and what happens
Speaker 3: 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
Speaker 2: show covers up just before London. Yeah, there you go.
Speaker 1: Yeah, all right, Gal, thank you very much. It's been
Speaker 1: a great honor and privilege to have you on the
Speaker 1: show and talk about Maui. What's new?
Speaker 2: Yeah? Good to do this more often, my friend, Yeah, absolutely,
Speaker 2: I'm always here.
Speaker 3: Invite me.
Speaker 1: Okay, we'll do that and we'll talk to you next
Speaker 1: week on dot net rocks. Dot net Rocks is brought
Speaker 1: to you by Franklin's Net and produced by Pop Studios,
Speaker 1: a full service audio, video and post production for facility
Speaker 1: located physically in New London, Connecticut, and of course in
Speaker 1: the cloud online at pwop dot com.
Speaker 4: Visit our website at d O T N E, t
Speaker 4: R O c k S dot com for RSS feeds, downloads,
Speaker 4: mobile apps, comments, and access to the full archives going
Speaker 4: back to show number one, recorded in September two thousand
Speaker 4: and two.
Speaker 1: And make sure you check out our sponsors. They keep
Speaker 1: us in business. Now, go write some code, See you
Speaker 1: next time.
Speaker 3: You got jas, middle Vans and