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 NetRocks patron mug.
Speaker 1: Sign up now at Patreon dot dot NetRocks dot com. Hey,
Speaker 1: welcome back to dot net Rocks, the Internet audio talk
Speaker 1: show for dot net developers. I haven't said dot in
Speaker 1: about twelve years.
Speaker 2: There you go.
Speaker 1: I'm Carl Franklin, an AMATE account. We got the UNO
Speaker 1: guys here with us today. I'm really psyched about that, Richard.
Speaker 1: But what's new with you?
Speaker 2: Well, the theory. It's twenty twenty six now. Of course
Speaker 2: we're still recording us back in twenty twenty five. But
Speaker 2: I'm back home after what ten weeks of travels?
Speaker 1: So yeah home, good gy levanting, Yeah good.
Speaker 2: There was much manting.
Speaker 1: I don't really have much small talk other than to
Speaker 1: say we should probably just roll the crazy music for
Speaker 1: better no framework, all right, all right, So I have
Speaker 1: never used a media manager like PLEX or anything like that,
Speaker 1: but I know people love these things. Sure, And there's now. Well,
Speaker 1: I don't know if now, but it's trending. A free
Speaker 1: software media system on GitHub called jelly Finn. Have you
Speaker 1: guys heard of this? Oh yeah, no, Sam Jeron, have
Speaker 1: you heard of this thing?
Speaker 3: Yes? I heard a bit.
Speaker 2: Ok.
Speaker 1: Yeah. So it's a free software media system that puts
Speaker 1: you in control of managing and streaming your media. It's
Speaker 1: an alternative to the proprietary MB and flex to provide
Speaker 1: media from a dedicated server to end user devices. We
Speaker 1: have multiple apps. It's descended from MB's three point five
Speaker 1: point two release, imported to the dot net platform to
Speaker 1: enable full cross platform support, no strings attached, no premium
Speaker 1: licenses or features, so you know, naturally, I think our
Speaker 1: listeners will like that.
Speaker 2: It's nice.
Speaker 3: Yeah, as long as it's containerized, that's good.
Speaker 2: Yeah.
Speaker 1: Yeah, well it's dot net, it must be able to
Speaker 1: be containerized, so no learning. Love it. That's all I got. Richard,
Speaker 1: who's talking to.
Speaker 2: Us, grabbed a comment of a show nineteen eighty, the
Speaker 2: one we did with Gary ewen Park. We were talking
Speaker 2: a bit about package management of the whole. Got a
Speaker 2: couple of nice comments off of that one, not the
Speaker 2: least of which saying, hey, thanks for uniget ui. That's
Speaker 2: just what I needed. Yeah, but a comment I wanted
Speaker 2: to read was from Lucas, who said, hey, can you
Speaker 2: keep the yearly intros please, especially the tech and aerospace parts.
Speaker 2: It's extremely enjoyable, like drinking hot chocolate with marshmallows. Very cool. Nice.
Speaker 1: Yeah, we got a mixed bag because we got one
Speaker 1: comment that was like, geez, it's taken so long to
Speaker 1: get to the guests.
Speaker 2: All right, it's always a question should we just cut
Speaker 2: right to it or do you know there's preambles useful?
Speaker 1: But well, the good news for these people who find it,
Speaker 1: you know, too long, is that next year will be
Speaker 1: done because we'll catch up to twenty twenty five.
Speaker 2: We're gonna hit two thousand and two and loop out.
Speaker 2: Is that what's going to happen?
Speaker 1: Okay, twenty twenty six, No, twenty twenty six, Yeah, twenty
Speaker 1: twenty six, Okay, yeah, that'll be the last one in
Speaker 1: Maybe that's you know, arguably, we could probably stop now
Speaker 1: because everybody was probably born back in these days.
Speaker 2: Yeah, I know, we don't want to get too far
Speaker 2: in the future. Then what will you do?
Speaker 1: That's true.
Speaker 2: Lucas goes on to say, you kept going back to
Speaker 2: how crazy it is for someone to be running a
Speaker 2: dot net framework in Windows twenty twelve system. Personally, I
Speaker 2: you know a few like this. They were built, deployed
Speaker 2: and there is no more budget to do anything with
Speaker 2: it except basic maintenance and bug fixes. Not looking far
Speaker 2: the core component of Power Platform Data versus Dynamics CRM
Speaker 2: twenty eleven with some makeup on it. I guess was
Speaker 2: our ad ins runs on. Iis with ASP dot net
Speaker 2: web forms and dot net four six two the plug
Speaker 2: in samdbox, which is where most of the business logic
Speaker 2: lives on twenty twelve. This is a premium Microsoft business
Speaker 2: offering that still runs on old tech because of backward compatibility,
Speaker 2: upgrade costs, and loss of talent because these days everything
Speaker 2: is outsourced, right, which is interesting because that you know,
Speaker 2: how long before you cannot outsource work on a four
Speaker 2: to six y two app? You know, like those people
Speaker 2: will eventually go away too.
Speaker 3: Hey it's gonna help, Yeah, we can tell.
Speaker 2: Well that's you know, you make the perier points you're own,
Speaker 2: which is that modernization tools have been gotten dramatically better.
Speaker 2: Oh yes, like the the use of LLMS in modernizing
Speaker 2: old applications and so forth. Means you just don't need
Speaker 2: the same skill set to rehab these things. So it
Speaker 2: is interesting to see how these things move forward. But Lucas,
Speaker 2: thank you so much for your comment, and a copy
Speaker 2: of music Code is on its way to you. And
Speaker 2: if you'd like a copy of music co buy, I
Speaker 2: right a comment on the website at dot at rocks
Speaker 2: dot com or on the facebooks. You publish every show there,
Speaker 2: and if you comment there and I reading the show,
Speaker 2: we'll send you copy of Musico.
Speaker 1: Music to Koba, still being used by thousands of developers
Speaker 1: to stay in focus. Twenty five minute long tracks. There's
Speaker 1: twenty two of them now. I'm still working on twenty three.
Speaker 1: But that should be here before Christmas, which means that
Speaker 1: you already missed it should be already here. Okay, yeah,
Speaker 1: So yeah, that's it. Music to go by dot net
Speaker 1: if you want to get the collection in wave, flak
Speaker 1: or MP three formats. So let's talk about what happened
Speaker 1: in nineteen eighty four, and so much stuff happened. We're
Speaker 1: going to keep this list pretty short, sure, because this
Speaker 1: is episode nineteen eighty four. Brunei gained full independence from
Speaker 1: the UK on January first, and Derek Gandhi was assassinated
Speaker 1: Prime Minister of India on October thirty first. The first
Speaker 1: embryo transfer on February third, from one woman to another
Speaker 1: resulted in a live birth.
Speaker 2: Wow.
Speaker 1: Summer Olympics for held in Los Angeles from July twenty
Speaker 1: eight to August twelfth. Van Halen released their album nineteen
Speaker 1: eighty four on January ninth, which was a huge hit.
Speaker 1: And there are so many good movies that came out
Speaker 1: in nineteen eighty four. I'll just list a few. The Terminator, I'medais,
Speaker 1: Once Upon a Time in America, Indiana, Jones and The
Speaker 1: Temple of Dune, Ghostbusters, Nightmare on Elm Street. This is
Speaker 1: spinal tap, moment of silence for Rob Reiner. Yeah, very sad, Gremlins,
Speaker 1: Beverly Hills Cop and the Karate Kid.
Speaker 2: That is a crazy roster crazy Yeah.
Speaker 1: The Karate Kid, Holy crap, I mean yeah. And that's
Speaker 1: just like the top ten. So that's what I got.
Speaker 1: Richard talk about space and technology in nineteen eighty four.
Speaker 2: All the action in space in nineteen eighty four is
Speaker 2: shuttle flights, primarily. I'm not going to go with all
Speaker 2: those actually six of them, three for Discovery and three
Speaker 2: for Challenger, which is interesting because like, how are they
Speaker 2: going so fast? Because this is before the Challenger disaster
Speaker 2: and everything slows down. Columbia doesn't fly at all in
Speaker 2: nineteen eighty four. I fect you won't fly again until
Speaker 2: nineteen eighty nine because she's in the midst of a
Speaker 2: refit having flown the first six missions and now is
Speaker 2: going to have her objection seats removed and some other
Speaker 2: upgrades and things done to her. Of the most interesting
Speaker 2: flights for that year. This is the year of the
Speaker 2: manned maneuvering unit. So the fourth flight of Challenger STS
Speaker 2: forty one B Bruce McCandless puts on a suit basically
Speaker 2: a space suit with a chair attached to it that
Speaker 2: he can fly, and he's now his own portable spacecraft
Speaker 2: and does the first other completely untethered flight away from
Speaker 2: a shuttle and first time any human's ever flown completely alone.
Speaker 2: Pretty amazing in a space He went about three hundred
Speaker 2: feet roughly ninety meters away from Challenger. Apparently one of
Speaker 2: the goals of the mission was at some point he
Speaker 2: was supposed to turn away from Challenger and like look
Speaker 2: Out in the darkness of space, and he never did it,
Speaker 2: so I strongly suspect he was a little nervous out there.
Speaker 2: Apparently he was really cold, actually turn the cooling systems
Speaker 2: off to try and stay comfortable. But this is the
Speaker 2: only year that the MMus will be used, and they
Speaker 2: will be used later. There'll be another mission where they'll
Speaker 2: launch a pair space of satellites Westar six and PAPLA
Speaker 2: B two, and neither one of them will actually fire
Speaker 2: their boosters and go into their correct orbits, and so
Speaker 2: later that year they'll come back out in another shuttle
Speaker 2: and use the MMus to retrieve those satellites, repair them,
Speaker 2: and finish their flights. There was one other mission, the
Speaker 2: Solar Maxim mission, where they tried to use THEMMU to
Speaker 2: retrieve the satellite but couldn't lock onto it. There was
Speaker 2: things in the way, and so they ended up doing
Speaker 2: it entirely manually by getting the shuttle close to enough
Speaker 2: to it and stopping it by hand. Wow, with three people,
Speaker 2: a little crazy, but that is nuts. They were able
Speaker 2: to retrieve the smm and repair it and get it
Speaker 2: on its way. So you know, this is a period
Speaker 2: of shuttle and I think a lot of people have
Speaker 2: forgotten about where they were launching satellites, retrieving and repairing satellites,
Speaker 2: all of which will end in nineteen eighty six after
Speaker 2: the Challenger disaster. And so the MMU was used on
Speaker 2: three flights in eighty four and never used again.
Speaker 1: How much money did they spend on all that stuff?
Speaker 2: Quite a bit?
Speaker 1: But yet billions and billions.
Speaker 2: Yeah, it's not that expensive. Okay, this is the year
Speaker 2: that Ronald Reagan approves a space station design. The time,
Speaker 2: the specification was for less than eight billion dollars and
Speaker 2: no more than eight billion dollars. They were very wrong
Speaker 2: about that. There were eight different designs proposed. The ones
Speaker 2: selected they called the Power Tower, which is actually kind
Speaker 2: of similar to the ISS. It had four big solar
Speaker 2: panels about seventy five kilowatts worth and a long main
Speaker 2: spine that would house various units. This is not the
Speaker 2: course of the station that would get launched. They were
Speaker 2: supposed launch just one in nineteen einety one, and it
Speaker 2: would be built over twelve admissions. The ISS, of course,
Speaker 2: comes almost a decade later, with far more international cooperation
Speaker 2: and a lot more flights. On the computing side, this
Speaker 2: two different computers launched by IBM. This, of course, the
Speaker 2: original IBM PC was a few years before. This is
Speaker 2: the year of the PC junior code named Peanut Oh,
Speaker 2: with an eighty eighty eight one hundred and twenty K
Speaker 2: of RAM. It was about thirteen hundred dollars and a
Speaker 2: complete failure. They sold a couple hundred times. But also
Speaker 2: the year of the model fifty one to seventy, also
Speaker 2: known as the PCAT. This was a much more expensive machine,
Speaker 2: about six thousand retail when it came out with a
Speaker 2: two to eighty six six gigahertz later upgraded to or sorry,
Speaker 2: six megahertz later upgraded to eight megahertz. You get it
Speaker 2: with two hundred fifty six or five hundred twelve K
Speaker 2: on board upgradable to three and a half megs with cards,
Speaker 2: a twenty megabyte hard drive. That was the AT part
Speaker 2: and the ever amazing EGA or in ANST graphics. Yes
Speaker 2: that's right, six forty by three point fifty with sixteen colors.
Speaker 2: Sixteen colors, yeah, on a nine pin connector.
Speaker 1: I upgraded from an XT turbo clone to an AT
Speaker 1: and then to a three eighty six later, and at
Speaker 1: each level I was like, oh my god, this is
Speaker 1: faster than anyone will ever need.
Speaker 2: It was such a big.
Speaker 1: Because I was judging it by how fast it printed
Speaker 1: text on the screen. That's it.
Speaker 2: That, you know. This is the horsepower race. Same year
Speaker 2: that the famous Apple nineteen eighty four commercial comes out
Speaker 2: at the Super Bowl. It is shown exactly once and
Speaker 2: announces the Macintosh computer, which we released later that year.
Speaker 2: Also the year that CD ROMs, initially made by Sony
Speaker 2: and then by everybody come out in the idea of
Speaker 2: multimedia in computers, the idea that we'd have music and
Speaker 2: sound and graphics and video all synchronized.
Speaker 1: I remember that year there was a mac commercial on
Speaker 1: TV where father is putting together a PC and he
Speaker 1: says to a kid, want to see some dinosaurs? Billy, yeah, Dad,
Speaker 1: all right, let's any guys typing configus. He's like, dinosaurs now, Dad, yeah, yeah, yeah,
Speaker 1: hang on a second Auto exec bat buffers dinosaurs, Dad
Speaker 1: yeah yeah, give me a mite, you know, And then
Speaker 1: he finally says, I'm going to David's house.
Speaker 2: He's got mad nice.
Speaker 1: It was just the first and a whole bunch of
Speaker 1: slam rubbit in Windows Faces commercials that would come later.
Speaker 2: Last, but not least certainly not for me. The book
Speaker 2: Neuromancer is published by author is William Gibson. He's out
Speaker 2: of Vancouver and he's the guy who coined this term cyberspace.
Speaker 2: Right well, writing that book on a wedgewood typewriter. Awesome, yeah,
Speaker 2: very cool. Apparently it's finally being made into a TV
Speaker 2: show or a movie or something after all these years.
Speaker 1: Awesome, all right, Sam and Jerome, we.
Speaker 4: Are, yes, sir, And for what it's worth, I really
Speaker 4: enjoy the year Retrospectives and Past twenty twenty five, twenty six.
Speaker 4: I think you should go on for at least another
Speaker 4: one hundred more to see how far off we are.
Speaker 1: Going to the future. Right all right, Well, that was
Speaker 1: the voice of Sam Bassu. He's a technologist, author, speaker,
Speaker 1: Microsoft MVP and developer advocate for the UNO platform. With
Speaker 1: a long developer background, he now spends much of his
Speaker 1: time advocating modern development platforms and AI tools for cross
Speaker 1: platform technology stacks. His spare time, this is the best part.
Speaker 1: His spare times call for travel, fast cars, cricket, and
Speaker 1: culinary adventures. And you can find him on the internet.
Speaker 4: Sure, I am so thank you for having me. I
Speaker 4: think it's my fourth or fifth with you folks, and
Speaker 4: Jerome Provd is the same.
Speaker 1: And Jerome Lebon is here. He's been programming since nineteen
Speaker 1: ninety eight, mainly involved in dot net and see sharp
Speaker 1: development as a teacher, trainer consultant in France. He is
Speaker 1: the CTO of the UNO platform, a framework trying to
Speaker 1: improve the development cycle of cross platform apps using Windows, iOS,
Speaker 1: Android and web assembly using Mono and zamorin Welcome Jerome.
Speaker 3: Well, thank you, well well anoyse that mean, it's been
Speaker 3: a while. It's the it's full dotte that now and
Speaker 3: uh and of course you all right others, So yeah,
Speaker 3: it's been it's been a while. You know, technologies have
Speaker 3: been evolving.
Speaker 1: Somebody needs to update their bio on the UNO website.
Speaker 3: Oh yeah, I do need I do need to update
Speaker 3: that for sure, probably step in some of a I
Speaker 3: then it's been yeah, I've been doing that for for
Speaker 3: a few months now.
Speaker 1: It's you changing, yes, yes, well, welcome to you both.
Speaker 1: And it's been a while since we talked to anyone
Speaker 1: about who know for you know, for a while. But
Speaker 1: bring us up to speed. What are you guys doing,
Speaker 1: What are you working on?
Speaker 4: Yeah, let me start and thank you again for having us.
Speaker 4: So I'll go start with the basics here, because I'm
Speaker 4: sure Jeri has talked about it like a thousand times now.
Speaker 4: But you know, here we are end of twenty twenty five,
Speaker 4: starting out twenty twenty six, and UNA platform as it
Speaker 4: stands today is the most flexible, mature, open source stack
Speaker 4: for dot net developers to build cross platform apps that
Speaker 4: simply run everywhere, single shared code base. But you know,
Speaker 4: we take you to iOS and Android for mobile, you know,
Speaker 4: web browser web assembly that's done, and then Windows and.
Speaker 1: Not using Mono or zamorin right.
Speaker 3: No, no, no, actually no it is it is. It
Speaker 3: is Mono for the web. Yes, it's the Mono VM underneath.
Speaker 3: So you know it's not completely outdated. Okay, it's moving,
Speaker 3: you know, Maxaft is moving to use corclr on the web,
Speaker 3: but it's not there yet.
Speaker 4: Okay continues Yeah, and then all of the you know,
Speaker 4: desktop and embedded devices, Windows, mac Os and Linux and
Speaker 4: everywhere else you want. So that's the stack, and that's
Speaker 4: always been open source and very welcoming to everybody. We
Speaker 4: have been working a lot on tooling, trying to squeeze
Speaker 4: out every bit of productivity that we can from developers.
Speaker 1: And I know it's been a while since we talked
Speaker 1: to gave the elevator pitch about UNO. But what is
Speaker 1: the the UI technology that you're using, Like you know,
Speaker 1: some people use Ammal, Blazer uses mark up. What is
Speaker 1: your stack?
Speaker 3: So yeah, so you know is enzammle. You know, so
Speaker 3: Zammal and sea Sharp. So we have two ways for
Speaker 3: people to to do UI in that sense, we know
Speaker 3: that not everyone's using Exammle or love Examle. So that's
Speaker 3: why we introduced a few years back sea sharp markup,
Speaker 3: so there's a way to pretty much express the same
Speaker 3: UI but using Sea Sharp constructs. The Sambal flavor is
Speaker 3: is the win UY one and so it's using the
Speaker 3: same type of type of constructs that that winnipe is
Speaker 3: DK and and win Uy three has been using for
Speaker 3: a while. So we're providing that that same that same experience.
Speaker 3: On top of that, we we have also everything is
Speaker 3: non uy and that's the important part pretty much, you
Speaker 3: know win our team, so we're talking about sensors, file
Speaker 3: system access, resources, access, you know, networking and everything like that,
Speaker 3: and that that is another core component of we know
Speaker 3: to be able to provide unified a p I for
Speaker 3: actually saying everything, uh, using one code base everywhere.
Speaker 2: So how does dot net ten impact you guys, because
Speaker 2: we just got past the latest dot Net cop and
Speaker 2: there were a lot of announcements and obviously a new
Speaker 2: version of the framework.
Speaker 4: Yeah, so I can tell you that. So huge performance improvements. Obviously,
Speaker 4: you know we all wait for Steven Tubes. Uh, you know,
Speaker 4: novel of a blog post, the greatest blog post ever,
Speaker 4: right right, to have to take two days off to
Speaker 4: read it. But it's amazing. And every you know, November,
Speaker 4: we get a new dot Net and every time there
Speaker 4: is you know, new performance tuning. So absolutely we gain
Speaker 4: all the performance improvements. But also dot net is a
Speaker 4: very you know, open and welcoming stack, so we actually
Speaker 4: partner up with the dot net teams over at Microsoft,
Speaker 4: and you know, we have very you know deep expertise
Speaker 4: in certain parts of the dot net stack, especially how
Speaker 4: it relates to iOS and Android and you know native
Speaker 4: AOT and Skia rendering, so we actually help and maintain
Speaker 4: parts of that stack. So it's all out in the open.
Speaker 4: So we are collaborating and you know, moving the whole
Speaker 4: ecosystem forward.
Speaker 1: Together, modernizing existing applications to dot net ten. Isn't just
Speaker 1: an option now, it's necessary. I mean we I have
Speaker 1: a customer that we are doing that with an aspnut
Speaker 1: web forms application. In some cases they were creating UI
Speaker 1: and concatenating strings of HTML together with code, and we
Speaker 1: changed that to use dot net ten and span of
Speaker 1: T and we got up to a five thousand percent
Speaker 1: increase in speed. I mean, you think about that for
Speaker 1: a minute.
Speaker 4: Yeah, it is nice.
Speaker 3: Yeah, the performance improvements are there, you know, everything related
Speaker 3: to span and to you know, refstruck and everything like that.
Speaker 3: We're using that extensively inside of you know, and every
Speaker 3: every duration of dot net is bringing us you know,
Speaker 3: significant performance improvements and uh, you know, it's it's always
Speaker 3: a pleasure to see, as Sam said, and you to
Speaker 3: see h uh, Stefan will provide all of those two
Speaker 3: bits of information for each platform, and you know, we're
Speaker 3: we're seeing in the future, you know, everything that's that's
Speaker 3: converging to core c l R having the same kind
Speaker 3: of improvements everywhere the web is going to be very
Speaker 3: interesting to see in the upcoming version of dot net
Speaker 3: to have the same kind of you know, uh, smaller
Speaker 3: and down to the down to the up codes. They're
Speaker 3: executed in every single platform and wasn't included. Getting everything
Speaker 3: you know, optimized to the to the maximum is going
Speaker 3: to be very interesting. So it's uh, it's very nice
Speaker 3: to see for at every iteration, you know, to the enhancements.
Speaker 4: We need tooling to be good with what we do.
Speaker 4: So VS twenty twenty six is out of Visual Studio
Speaker 4: called ships so often, so it's a good time.
Speaker 1: I love twenty twenty six, really good stuff.
Speaker 2: Hey.
Speaker 3: They also improved the workloads of dot net. You know,
Speaker 3: it's been the most infamous part of of not that deployment.
Speaker 3: Uh you know, it was it was being used by
Speaker 3: OS and Android for for a long time that wasn't
Speaker 3: started using it and then Spider uses it now. So
Speaker 3: it makes for everything go a lot faster, a lot
Speaker 3: faster and smooth. And it's been a while since I've
Speaker 3: wined against anything related to workloads, so it's a good
Speaker 3: thing they've improved that quite a bit. And uh, you know,
Speaker 3: we we have no check when when you want to
Speaker 3: install and start with we know, so we start with
Speaker 3: no check and then and install everything and we just
Speaker 3: call that up installed everything that's needed and off you go.
Speaker 3: It's it's getting very easy with to start to get
Speaker 3: started without that.
Speaker 2: Yeah, I'm always finding an interesting schism between you know,
Speaker 2: where do beginners go because people tend to send them
Speaker 2: to Visual Studio Code, but then they still have to
Speaker 2: figure out all of the bits they're going to need.
Speaker 2: Where Visual Studio has everything in there, but it's so
Speaker 2: intimidating when you fire it up, like it's kind of unfair,
Speaker 2: like it has all the things you need and yet
Speaker 2: you just struggle to find them or even understand what
Speaker 2: you're looking at.
Speaker 4: Yeah, different beasts. You know, Visual Studio will always be
Speaker 4: that rich idea that gets you everything. But you know,
Speaker 4: if you do know what the run time pieces that
Speaker 4: you need, and most frameworks will have you know, one
Speaker 4: installer that you know brings down the tooling or one
Speaker 4: SELI tool that gets you all set up. So yes,
Speaker 4: you do need to know that piece. But otherwise you
Speaker 4: know you have the lightweight editor experience. That's true everywhere.
Speaker 2: Yeah. Yeah, so I now I hear people can play.
Speaker 2: It's like, I'm tired of firing up Visual Studio Code
Speaker 2: because it takes so long now because they put so
Speaker 2: many add ins to it that they beaped it up.
Speaker 2: Yeah it's heavy.
Speaker 3: Oh it's still it's a balancing act. Yeah, it's not
Speaker 3: as heavy as as VS. I mean VS is starting
Speaker 3: up fast, but VS code still is starting pretty quickly.
Speaker 1: Yeah, you know, just be like me, get an I
Speaker 1: nine that's what IM.
Speaker 2: That thing comes most power.
Speaker 4: Or the Apple M four hips, they're amazing.
Speaker 1: Oh there you go, Yeah, there you go. That works.
Speaker 1: Auto can fix this.
Speaker 3: Oh yeah, definite fix th eighty six.
Speaker 1: Yeah.
Speaker 4: Uh so Carl, you you asked about you know, what's
Speaker 4: the UI stack? My UI stack is I don't care anymore.
Speaker 4: It's it's a very different world these days, right, Yeah,
Speaker 4: we may have heard of this thing called AI. It's
Speaker 4: starting to change how we live our lives and definitely
Speaker 4: how we write software and.
Speaker 1: How we write software. So let me ask the obvious question.
Speaker 1: I think I ask it every time we talk to
Speaker 1: somebody on you know, you got MAUI got h know, Well,
Speaker 1: why would I choose one or the other? Or would
Speaker 1: I always choose?
Speaker 4: You know, I can take that staff here as well.
Speaker 4: It's not actually an either R. So you know I
Speaker 4: was with you know, David Dartnau when we were talking
Speaker 4: about dotnor Maui updates in dot net ten. So we're
Speaker 4: partnering up with the dot or Maui folks again maintaining
Speaker 4: parts of the stack because it's all open source dot net.
Speaker 4: So there's a time and place for either. And you know,
Speaker 4: there's some flexibility in the tech stack that you know,
Speaker 4: we think we bring, but Maui will you know, remain solid.
Speaker 4: It goes to iOS, Android, Windows and Mac. But the
Speaker 4: moment you want to go to Linux or you want
Speaker 4: that you know web Assemily experience, that's where you might
Speaker 4: you know, want to look at, you know. And then
Speaker 4: also if you have had Zamora and apps or zamain
Speaker 4: forumsapp or apps, you know, it's it's not something that
Speaker 4: you have to completely throw away. We especially if you
Speaker 4: are wanting to be on iOS or Android, then we
Speaker 4: do what's called Maui embedding, so you can actually bring
Speaker 4: all your UI and all of the UI from the
Speaker 4: Maui world into an no platformat.
Speaker 1: When that make it bigger and heavier than just the
Speaker 1: Maui app by itself jero, So you'd have to have
Speaker 1: a reason to do that.
Speaker 3: Yeah, so not really the thing is that so when
Speaker 3: you talk, when you're looking at Maui and and you
Speaker 3: know the differences in technical architecture that you have between
Speaker 3: actual Maui and then and you know the you have
Speaker 3: to split that into two pieces. At least Maui is
Speaker 3: actually the UI parts and then the underlying dot net
Speaker 3: bindings that provide the access to the underlying platform. And
Speaker 3: what we what we know does is that it sits
Speaker 3: on top of that second part. So in effect, what
Speaker 3: you have is that when you when you use you know,
Speaker 3: you don't have the Maui parts, who know, and then
Speaker 3: you just have the uh, you know parts are there
Speaker 3: that replaced the Maui side. Now, of course, if you're
Speaker 3: start to use Maui em bitdding, then you get to
Speaker 3: pull in Maui the actual Maui UI bits. But if
Speaker 3: you don't, then it's pretty much the same infrastructure in
Speaker 3: terms of you know, your one replaces the other and
Speaker 3: we sit on top of that net on both sides.
Speaker 1: Now, my favorite stack is Maui Blazer Hybrid, So I
Speaker 1: get to write my code in Blazer and I get
Speaker 1: to use the htm olt Blazer razor markup what what
Speaker 1: is Zuno are going to offer me?
Speaker 4: It's the same story. So essentially you know, we love
Speaker 4: all types of web because again that's what's you know,
Speaker 4: ubiquitous once everywhere on every browser. And it's not just
Speaker 4: laser like. You can think of your Angular or react
Speaker 4: or view or any other JavaScript investments. So same story.
Speaker 4: MAUI has a you know, Blazer WebView. We have a
Speaker 4: WebView too, which is essentially the same one that you
Speaker 4: know Edge uses on Windows, So same exact WebView. It's
Speaker 4: an abstraction that is smart to realize what from that
Speaker 4: you're running on gives you the corresponding web view of
Speaker 4: that browser on that platform. And yeah, you can happily
Speaker 4: render all types of WebUI very cool.
Speaker 2: The other stack that comes up now and again is Avalonia. Right,
Speaker 2: I don't know where you guys see Avalonia fitting this equation.
Speaker 3: Yeah, Avalonia is a is a fierce contender on our side,
Speaker 3: and it's a it's a it's always amazing to have competition.
Speaker 2: Uh.
Speaker 3: You know, Uh, Avalonia is on the WPF stack. So
Speaker 3: if if people are developing WPF apps, you know they're
Speaker 3: the target is most of the time. Avalonia. We also
Speaker 3: have that support. You know, we're targetly thinking pretty much
Speaker 3: the same targets. Uh, what way we make a difference
Speaker 3: for ourselves is the vertical integration. So we're not just
Speaker 3: the UIRE framework. We're a platform, so we're providing tooling,
Speaker 3: we're providing additional extensions for navigations, We're providing different pieces
Speaker 3: for now with with AI that we are egically vertically integrating.
Speaker 3: You know, for instance, we have the docs m c P.
Speaker 3: That's the that's our tooling that allows for enhancing uh uh,
Speaker 3: the the the app generation. We also have an app
Speaker 3: m c P, which is pretty much an equivalent of uh,
Speaker 3: you know, being being able to give eisenhands to an app,
Speaker 3: to to an agent's to to to uh uh you
Speaker 3: interact with an app right the For us, it's it's
Speaker 3: are we're at platform, We're not at framework. We're trying
Speaker 3: to be bigger than that and make sure that we
Speaker 3: integrate uh from top to bottom, and that's where we
Speaker 3: dofferentiate the most uh in that respect.
Speaker 2: Well, why don't we drag it to this platform store.
Speaker 2: Before we do that, let's take this brief break.
Speaker 1: Did you know that you can work with a w
Speaker 1: S directly from your I d E. A w S
Speaker 1: provides toolkits for visual studio visual studio code and jet
Speaker 1: Brains Rider. Learn more at a w S dot Amazon
Speaker 1: dot Com, slash Net, slash.
Speaker 2: Tools, and we're back. It's dotn Rocks Amateurd Campbell. Let's
Speaker 2: call Franklin Yo. Talking to Jerome and Sam from UNO.
Speaker 2: A bit about the platform studio. Is that what you're
Speaker 2: calling it now?
Speaker 1: Yeah?
Speaker 3: No platform studio. It's on a platform studio, yes.
Speaker 2: So what's platform studio again?
Speaker 4: I can try here first. So UNO platform is the
Speaker 4: open source tack that's the entire vertical stack that Jerome
Speaker 4: talked about. It's not just about UI and we all
Speaker 4: run on top of dot net, but you know it's
Speaker 4: meant for flexibility for devs. So right out of the
Speaker 4: gate when you are building a cross platform app, you
Speaker 4: have some choices to make sure you can go with
Speaker 4: native UI like you know on IOSR Android. But we
Speaker 4: are also big fans of Skia. The s gear sharpened
Speaker 4: rendering is extremely fast compared to everything else and gives
Speaker 4: us one unified UI pipeline that works and looks ex
Speaker 4: exactly the same everywhere. So we are big fans of that.
Speaker 4: But it's also about extensions and tooling and theming and
Speaker 4: all types of things that you know you know, a
Speaker 4: dot ne developer who wants to write cross platform app
Speaker 4: needs to have that's all done. And that's kind of
Speaker 4: what we have been doing for you know, fifteen years now.
Speaker 4: But on top of UNA Platform, which is our stack,
Speaker 4: we have built up UNA Platform Studio that is really
Speaker 4: meant to elevate the developer experiences, especially if you're an
Speaker 4: enterprise and you care about productivity. That is, you know,
Speaker 4: trying to bring in the pieces that you might find
Speaker 4: missing in other dot net stacks that you know, augments,
Speaker 4: how quickly you work. We are you know, big fans
Speaker 4: of talking about the inner dev loop, like how quickly
Speaker 4: can you make a change and see it in a
Speaker 4: running app? Is it you know, I have to go
Speaker 4: get coffee because my bill takes you know a long time,
Speaker 4: or I need to deploy to your device versus you know,
Speaker 4: really really quick. So that's where UNA Platform Studio shines,
Speaker 4: and it's got you know, four or five foundational things
Speaker 4: that we bring to the table. Uh. You know, we
Speaker 4: you know, support developers as you're building up on you know,
Speaker 4: the open source stack. We have get have issues, we
Speaker 4: have support, but NO Platform Studio is really meant for
Speaker 4: those professional developers.
Speaker 3: Okay, and instead of our studio, we're providing all sorts
Speaker 3: of pieces. So the biggest one is is hot design.
Speaker 3: So our future, which is which is allowing for designing
Speaker 3: an app that runs, so trying to not have the
Speaker 3: you know, the pitfalls of the original designers that were
Speaker 3: that were designing on you just off of the markup
Speaker 3: that is there, but just going to the app, seeing
Speaker 3: a page and then hitting the design button and design
Speaker 3: the app as it runs, so that that gives all
Speaker 3: sorts of cool things like being able to see all
Speaker 3: your custom controls or your external controls, like for instance,
Speaker 3: you have a chart control, any kind of control, you
Speaker 3: put that in and it will just work, which is
Speaker 3: not something that that standard designers are are able to do.
Speaker 3: We're we're sitting on top of hot reload to be
Speaker 3: able to do this. So it makes it pretty nice
Speaker 3: to work with. And your hot reloads has been that
Speaker 3: key component that makes everything work, and it's improved very
Speaker 3: significantly over the past few years.
Speaker 1: It's not perfect, even in Blazer.
Speaker 3: No, no, it's not.
Speaker 1: Sometimes you're waiting minutes and you just say screw it
Speaker 1: and I'm going to restart my app.
Speaker 2: You should have reached its rebuilt, right.
Speaker 4: Yeah, it's I call it a marketing problem. Had they
Speaker 4: just called it lukewarm reload, then or expectations.
Speaker 1: Are or at least they should, you know, give you
Speaker 1: a guess as to how long it's going to take.
Speaker 1: You know, if it's going to take me five minutes,
Speaker 1: I'm not going to push some button.
Speaker 3: It's changed quite a bit, you know, the last version,
Speaker 3: specifically in twenty twenty six, there's something that mystuft that
Speaker 3: has changed where you know, the previous version of Visual Studio,
Speaker 3: where you know, they pretty much had the issue of
Speaker 3: they were starting the hot reload building once you started
Speaker 3: the app. Now what they do is that they reuse
Speaker 3: the bill that they made to make the app and
Speaker 3: then start from there. So that means that that waiting
Speaker 3: for a few minutes to get something that actually builds
Speaker 3: is supposed to be gone, and it mostly is. And
Speaker 3: that's making for a very big difference in behavior.
Speaker 1: Yeah, truth be it told, I haven't tried it with
Speaker 1: twenty twenty six. I'm still developing for my customers in
Speaker 1: twenty twenty two, but that should change soon. Yeah, I'm
Speaker 1: looking forward to that.
Speaker 4: I mean, the to Gerome's point, it's a big engineering
Speaker 4: problem actually behind the scenes to make everything work. Like sure,
Speaker 4: you're on a screen and you're changing up UI, but
Speaker 4: the moment you change up more foundational pieces about the
Speaker 4: data context and other things that that piece of UI need.
Speaker 4: So you're looking at a lot behind the scenes. So yeah,
Speaker 4: to Jerome's point, we have tried to perfect that quite
Speaker 4: a bit with hot reload. But you know, I'm you know,
Speaker 4: I love heart design because again for those of us
Speaker 4: who come from the Windows Forms world, the DOUBLEPF world,
Speaker 4: and we look at you know, so many hundreds of
Speaker 4: you know, getub issues and threads where people want that
Speaker 4: same experience. Never had it in zamorin zamine forums or
Speaker 4: MAUI because it's a it's a big engineering investment to
Speaker 4: build that, and even if you do build it, there
Speaker 4: always remains a gap. And there are other things that
Speaker 4: are you know, in the vicinity, things like live preview.
Speaker 4: You can you know, do a hot restart when your
Speaker 4: app is running on a phone or tablet, but that
Speaker 4: gap between design time and run time is always there.
Speaker 4: You're usually dealing with like fake data. So our approach
Speaker 4: has been to say, you know, your app doesn't stop
Speaker 4: running right, So your running app becomes your design surface.
Speaker 4: So we essentially suspend the app and we open it
Speaker 4: up in a mode in which you can tweak the UI.
Speaker 4: We give you a toolbox of all the UI that
Speaker 4: you can drag and drop. You know, Zamal apps are
Speaker 4: known for having, you know, complex visual trees. That's how
Speaker 4: enterprise you know, complex apps work, so full visibility as
Speaker 4: to what the parent child relationship, where exactly is that
Speaker 4: piece of UI that you are tweaking, and then being
Speaker 4: able to change all of the properties you know on
Speaker 4: the fly. But then the key piece for us is
Speaker 4: something we call the dev server. Is while you're doing
Speaker 4: all of that fun stuff, you can still interact with
Speaker 4: the app on the design surface. But once you're happy
Speaker 4: with your EUI tweaks, you can come back to a
Speaker 4: regular running app and all of your code changes just
Speaker 4: make it back to your ID, so the ID and
Speaker 4: the design surface always remain insane.
Speaker 1: So you you mentioned contextual AI tooling, is that using
Speaker 1: the MCP specifically so that you really never have to
Speaker 1: develop UI. You can just say, hey, build me a
Speaker 1: form that takes these models and saves them to a
Speaker 1: data base or whatever.
Speaker 4: Jerome already started talking about it, and you know, we
Speaker 4: have been having a lot of fun off lates. So
Speaker 4: here's what we announced actually going with dot ne conf
Speaker 4: in twenty twenty five. A lot of updates to you know,
Speaker 4: our tooling that bring in contextual AI, and updates to
Speaker 4: a platform studio which is now a two point zero,
Speaker 4: So a couple of key foundational things in here. When
Speaker 4: we look at AI today, it's amazing what most of
Speaker 4: the large language models can do, especially with coding. And again,
Speaker 4: like our experiences are different, like GPTs or sonnets or Gemini,
Speaker 4: whatever is that that you want to choose. We want
Speaker 4: to be agnostic to the OS, to the ID and
Speaker 4: the AI agent that you're using, because again, everyone bring
Speaker 4: your own tools. So we are big fans of Model
Speaker 4: context Protocol. And you know Jeral was talking about how
Speaker 4: this whole thing is about a year old. It shows
Speaker 4: the need that Anthropic started something and then everybody is
Speaker 4: wanting to perfect this because everyone wants that standard. Everyone
Speaker 4: sees the need. So this as of now is the
Speaker 4: most flexible way for AI agents and models to talk
Speaker 4: to somebody else who knows what they're talking about and
Speaker 4: not just hallucinate and guess all over the place, you know,
Speaker 4: not dealing with timestamp knowledge documentation that is old. We want,
Speaker 4: you know, the latest thing, greatest things, and most importantly,
Speaker 4: we want context of what you are doing. Sure you
Speaker 4: can look up docs as an LLM, but while your
Speaker 4: app is running, what's my visual tree?
Speaker 2: Like?
Speaker 4: Can you actually see what I'm building? Can you click
Speaker 4: on a button? Can you paste a piece of text
Speaker 4: in here? Those are the things that are really hard
Speaker 4: to do and without those, you know, we developers sometimes
Speaker 4: don't have as much confidence in some of the AI tools.
Speaker 4: So we have written up quite a bit of MCP tooling.
Speaker 4: This is all Jerome and the engineering team here. Two
Speaker 4: MCP servers. One is kind of what we call una
Speaker 4: platform remote MCP or just MCP, and then there's an
Speaker 4: app MCP. So the remote MCP is meant to bring
Speaker 4: the context of all of our docs and how you
Speaker 4: fetch you know, things about a certain topic, like tell
Speaker 4: me about mvux and it, you know, looks up all
Speaker 4: of our docks and tells you all the right things,
Speaker 4: or bring me a certain page that talks about just
Speaker 4: one particular piece of UI. So we do all of
Speaker 4: that and we kind of pry the AI agents to say,
Speaker 4: you know, here you have all of this tool please
Speaker 4: stop guessing, use the tools. So how you you know,
Speaker 4: set up a new app just by you know, the
Speaker 4: best practices.
Speaker 2: And all of that.
Speaker 4: So that's all the app you know, or the platform MCP,
Speaker 4: and then the app MCP comes in. Once your app
Speaker 4: is running, where are all my target frameworks? Can you
Speaker 4: see my app? Can you see my UI? Can you
Speaker 4: click on this? Does my navigation work? And you know,
Speaker 4: does my data context work on that AI? So two
Speaker 4: full blown MCP servers that are very easy to work
Speaker 4: with on whichever be of your ide of your choice
Speaker 4: or AI agent you know, surface of your choice. So
Speaker 4: full flexus.
Speaker 1: So in a sense, could you do testing with the
Speaker 1: app MCP? It sounds less. That's what you're really doing
Speaker 1: is testing all the That's what it is endploy to
Speaker 1: make sure they're working.
Speaker 3: So it's actually two scenarios. The there's the just uh,
Speaker 3: you know, replace the developer in a sense that make
Speaker 3: me my feature. But the model doesn't see exactly what
Speaker 3: it's doing. So it's generating code but it doesn't exactly
Speaker 3: know what it's doing. So the idea is that the
Speaker 3: model is going to generate that code, build a code,
Speaker 3: and then run the code. And then after that, you know,
Speaker 3: if you don't give it a way to do anything else,
Speaker 3: then it will stop. It will just look at the logs.
Speaker 3: And that's it. What we're bringing with this is the
Speaker 3: ability for the for the model to see what it's
Speaker 3: actually doing. So if it's developed a page navigation or
Speaker 3: form or anything like that, it will be able to
Speaker 3: go and go and about and click around, you know,
Speaker 3: test the validation, see that navigation is working properly, things
Speaker 3: like that, and then ensure that at the end, you know,
Speaker 3: it's actually done the right thing. So if it doesn't
Speaker 3: behave the right way, it will stop the app or
Speaker 3: just use hot reload. You know, it can do use
Speaker 3: hot reload as well. That's the that's the cool thing.
Speaker 3: Make the modifications iterate again, test again, and then if
Speaker 3: it's done pretty much like what the developer would do,
Speaker 3: it's you know, it's testing the same way we're when
Speaker 3: we're developing, well launching the app. See if it actually
Speaker 3: does what we think it should do. Then if it doesn't,
Speaker 3: we start again and then we loop. That way is
Speaker 3: doing the same thing, and that's the developer flow. Now
Speaker 3: there's a second flow, which is actual UI testing in
Speaker 3: the same way that you have Playwright doing that. So
Speaker 3: you have the MCP for play right that does that
Speaker 3: the exact same way, except that it's against HTML. But
Speaker 3: our app MP's pretty much be heaving the same way.
Speaker 3: It's providing the same kind of tools you know, to type, click,
Speaker 3: you know, take screenshot, take snapshot, things like that.
Speaker 1: Great for generating documentation.
Speaker 3: Exactly, yes, exactly. So it's a it can be used
Speaker 3: either way. You can be full UI testing QA validation anyway,
Speaker 3: or it just can be replicate the developer behavior.
Speaker 1: That's cool. So just in general I want to reiterate
Speaker 1: this that you can bring your own agent here. Right,
Speaker 1: you're not replacing an agent. You're not replacing GitHub Copilot
Speaker 1: or you know, the stuff that's built into any of
Speaker 1: these IDEs. What you are doing is allowing that agent
Speaker 1: to access your MCP. So now you can ask the
Speaker 1: agent to you know, questions about your app or about
Speaker 1: you know, what the MCP specialty is, the documentation for example.
Speaker 2: That's correct.
Speaker 1: Yeah, I find there's confusion there.
Speaker 4: Yes, you're right, but there are you know, more things
Speaker 4: we can do. You have full flexibility with the you
Speaker 4: know agentic workflows, so you you know, not too developers
Speaker 4: do the exact same thing or their workflow, so you know,
Speaker 4: start this up however you want. So if you want
Speaker 4: just to start from a CLI, because you know, people
Speaker 4: who use Cloud are big fans of you know, that
Speaker 4: CLI experience or codecs, you want to start up everything
Speaker 4: and then you want to you know, you know, build
Speaker 4: up your dream app. You create a brief of what
Speaker 4: your app needs to be, and then you hand it
Speaker 4: off to the agents to go actually build the app.
Speaker 4: So that's a flow. A lot of dotinent developers are
Speaker 4: just used to maybe visual Studio file new or vs
Speaker 4: code build me a new app. In that case, you
Speaker 4: have an empty app. But then you do have copilot.
Speaker 4: You do have you know, Cloud inside of vs code
Speaker 4: or you know, any other AI agent that you can
Speaker 4: think of that you know, Copilot will call into those
Speaker 4: other models and there you have the flexibility of you know,
Speaker 4: choosing whichever AI model that works the best for you
Speaker 4: or our agent, and then you start. However you are
Speaker 4: like I, you know, start from an empty app and
Speaker 4: then I start building up the UI. But if you
Speaker 4: want to have the agent create the app in the
Speaker 4: first place. Then that's that's fine too.
Speaker 1: So let's talk about greenfield versus brown field apps. Where
Speaker 1: do you think who know shines.
Speaker 3: It's actually both? So one one one key one key example. Uh,
Speaker 3: you know we've been talking about that those migration scenarios
Speaker 3: and and you were mentioning, you know, all the apps
Speaker 3: that dene migration of net six four six two. What
Speaker 3: we've been trying is experiment with migration migration paths from
Speaker 3: from previous apps and models are pretty good at mapping
Speaker 3: and translating. And if you think about it, you know,
Speaker 3: what's translating from English to French that's different from translating
Speaker 3: from uh, you know, uh WPF to when you are
Speaker 3: it's pretty much it's close. Let's say it's it's the
Speaker 3: English from England friend, and you know, and the difference
Speaker 3: with the English from the US. You know, it's close,
Speaker 3: but not exactly. It's their variants. You need to translate
Speaker 3: a few things, but it's translation pretty much to US.
Speaker 3: So so we've been we've been testing that out and
Speaker 3: and uh, we've we've migrated a few, migrated a few apps,
Speaker 3: you know, one from w PF that you know, there
Speaker 3: was a kind of a notepad made made by potherot
Speaker 3: so it made a notepad app h a few years back,
Speaker 3: and we just took that up and asked it as
Speaker 3: the model just translate that app from one to the other.
Speaker 3: So that that's clearly you know, it's more than brown field,
Speaker 3: it's just no field. So we're just yeah, so so
Speaker 3: we're just migrating from one to the other. And and
Speaker 3: the model is able to you know, assisted by our
Speaker 3: our docs mcp that that takes our documentation to the latest,
Speaker 3: assisted by Microsoft docs as well as sted by all
Speaker 3: sorts of m cps that you can find that that
Speaker 3: can make it understand the code bays properly. Then you
Speaker 3: can migrate from one to the other. So so that's
Speaker 3: the that's the brownish field, and that that you can
Speaker 3: get and further new apps. But it's pretty much the
Speaker 3: same way. I mean, uh, you can create new apps
Speaker 3: from blank completely or from our wizard. We have just
Speaker 3: a few set of scenarios that get there or just
Speaker 3: start for something else. You know, you have samples that
Speaker 3: are there. You just ask the model to refractor the
Speaker 3: app and and make it yours pretty much, and and
Speaker 3: that that can work as well in that context. Uh,
Speaker 3: it's it's amazing to see the models being able to
Speaker 3: grasp deeply the apps that that we're giving them to
Speaker 3: be able to uh to manipulate them and and and
Speaker 3: do the right things. Uh, not from the get go,
Speaker 3: but almost. You know, you still have to be there
Speaker 3: to to guide a little bit. But it's it's able
Speaker 3: to understand quite a bit.
Speaker 2: Trying to envision a case where you might want to
Speaker 2: introduce another m c P, like you bring in a
Speaker 2: library or something that comes its own MCP as well,
Speaker 2: and you could just add it to the equation like
Speaker 2: you're you're already running your app MCP and your platform
Speaker 2: MCP separately. Just I'm just thinking through, like what's the
Speaker 2: pattern here long term.
Speaker 3: For more mcps?
Speaker 2: You mean, do we need more mcps or do just
Speaker 2: expect the agents to be able to interpret the code
Speaker 2: that already exists and be able to figure out what
Speaker 2: to do from there.
Speaker 3: There are two sides from this, you know, thinking about it,
Speaker 3: and it's I mean, this is all fair and new.
Speaker 3: We were talking about mcps and everything like that, you know,
Speaker 3: I remember in the MVP some mean we were talking
Speaker 3: about mcps that will all the rangel you know, we
Speaker 3: need to do something about it, and then just six
Speaker 3: months later we have something everyone is having. It's always
Speaker 3: the own MCP for doing things like that. But I
Speaker 3: see mcps are as two things that kind of you know,
Speaker 3: extend models in some way. The first one is knowledge,
Speaker 3: because the cutoff of the knowledge from the model is
Speaker 3: not you know, it's what it is. And then it's
Speaker 3: always going to stale in the same way that once
Speaker 3: you write documentation it's out of date. You know, it's
Speaker 3: pretty much in the same way that you can think
Speaker 3: about it. So giving it access to something that's more
Speaker 3: recent and probably dynamic in a sense that that's probably best.
Speaker 3: But the second thing is your model cannot do anything
Speaker 3: on its own. So you know, with our platform MCP
Speaker 3: app MCP giving access to the app is one thing,
Speaker 3: but can be something like you know, manipulating Azure, manipulating uh,
Speaker 3: you know, some database in the back or some payment
Speaker 3: system and third party tools that you would access in
Speaker 3: some other way. So with security in mind, you know,
Speaker 3: if you don't want the model to delete your your
Speaker 3: your old production as a result, but still there's things
Speaker 3: like that that that will be you know. That's the
Speaker 3: two aspects that I do see of importance for models
Speaker 3: that don't know everything.
Speaker 1: I can give you my experience with third party tools
Speaker 1: and the agents. Generally, it's pretty good at going out
Speaker 1: on the Internet and finding the documentation for a third
Speaker 1: party control or whatever and being able to configure it
Speaker 1: and use it correctly. You know, if I say I
Speaker 1: want to use this particular control to do something, pretty
Speaker 1: good about going out finding the documentation even though there's
Speaker 1: no MCP for it. You know, it's it's Internet information.
Speaker 1: It's out there. So that's been my experience.
Speaker 4: It is, and you know, these experiences can be a
Speaker 4: little different, and models are getting smarter. There are times
Speaker 4: when even though you have all of these mcps wired up,
Speaker 4: it may choose not to you know, invoke so sometimes,
Speaker 4: like we joke that you always got to be polite
Speaker 4: with the AI agency, got to say, hey, look, you
Speaker 4: do have those tools, please use them because sometimes they
Speaker 4: will choose not to. So, yeah, they will, you know,
Speaker 4: they can be doing some cashing. They will pull up docs,
Speaker 4: but so docs are not you know, that's the you know,
Speaker 4: low hanging fruit. Yes, you can do an internet search
Speaker 4: and bring the docs, but what if you needed more,
Speaker 4: what if you needed those you know, unique use cases
Speaker 4: about changing up one thing in your UI that unless
Speaker 4: you read through a lot of forums, you just don't know.
Speaker 4: And unless you have that deep platform expertise, you just
Speaker 4: don't know. And to your own's point, like if you
Speaker 4: really wanted to tell a model like I need you
Speaker 4: to run this app and take five screenshots and compare,
Speaker 4: it just doesn't know how to do some of those
Speaker 4: actions right right, So again, like mcps are shining, and
Speaker 4: you know, still early days we are seeing multiple, you know,
Speaker 4: registries come up. So you know, people have it very
Speaker 4: easily from whatever ideas that you have as your choice
Speaker 4: to bring in the mcps. And again you can check
Speaker 4: things on and off. So just like you know, you
Speaker 4: have different workloads and ways of working with the Vision studio,
Speaker 4: maybe when you're doing Azure development or when you're doing development,
Speaker 4: you don't need the other mcps, so in asients can
Speaker 4: be smart to turn things on and off.
Speaker 2: I certainly talk to folks who are getting into the
Speaker 2: mindset of there's a deployment MCP that follows the guidelines
Speaker 2: of our organization and points to this is our cloud,
Speaker 2: this is our pre prod prod QA configuration. Like they're
Speaker 2: they're trying to get into consistent behavior with that and
Speaker 2: using the MCP, I guess is a way to box
Speaker 2: any given agent unto you must follow my policies essentially.
Speaker 3: Absolutely, this is a given access to the world. You
Speaker 3: scope it to what it can.
Speaker 2: Do because the theory you would be able to do
Speaker 2: that with a prompt, but we're finding that they don't
Speaker 2: always follow the prompts.
Speaker 3: Yeah, it's true, that's completely true.
Speaker 4: And it takes a lot to write those prompts. So yeah,
Speaker 4: we are fans of instructions, you know, copilot instructions or
Speaker 4: agents MD, and those are the guard rails, but it
Speaker 4: takes a long time to write up those guardrails, those
Speaker 4: system prompts to you know, make sure they stay on course.
Speaker 4: So that's where mcps kind of bring all of that
Speaker 4: from the get go because it's already wired.
Speaker 1: So it happened again, Richard, we turned a perfectly saying
Speaker 1: talk about UNO into an AI show.
Speaker 3: Well there, Well, I can give you some about that.
Speaker 3: We did started it. But one of the things that
Speaker 3: were I think we have talked about that one. So
Speaker 3: one of the m cps that exist, or even no
Speaker 3: MCP at all, is the ability for the for the
Speaker 3: models to be able to generate u I properly, but
Speaker 3: from an image, and that's something that's that's quite amazing.
Speaker 3: It understands quite a few things.
Speaker 2: Well, you guys always said that Sigma interface that I
Speaker 2: thought was wildly cool.
Speaker 3: Yeah it is.
Speaker 4: Yeah, we still still do. It's it's a design to code,
Speaker 4: so you can start from a Pigma design and you know,
Speaker 4: we generate C sharpened ZAMO. And now to to Jerome's point,
Speaker 4: now you've got Figma m CPS to bring over that
Speaker 4: thing to our MCPS, so agents have all of that
Speaker 4: deep knowledge as to how you build your UI.
Speaker 1: That's cool, Mike, and I said this before on the show,
Speaker 1: but my only experience with Figma it hard coded pixel
Speaker 1: wits and stuff like that. It did not generate responsive CSS,
Speaker 1: and it probably was my fault. I probably didn't have
Speaker 1: a setting somewhere correctly.
Speaker 4: But Figma is not not for kids. It's very busy,
Speaker 4: it's for sure. It's it's for designers who know.
Speaker 1: Goog Goog got Google.
Speaker 3: It's changed quite a bit. You get models are are
Speaker 3: pretty good. You know, the bigger ones, like the premium
Speaker 3: ones like gpt E T five or you know Sonnet
Speaker 3: or others and Jimini three to the most important extent
Speaker 3: you give you give it an image and it will
Speaker 3: figure out how the structure is built. You give something
Speaker 3: to you that's pretty close to your to the original, uh,
Speaker 3: you know, and and fig I is able to give
Speaker 3: a the internal structure of what that design is. And
Speaker 3: then if you if if the the agent is able
Speaker 3: to mix both, it's able to figure out you know,
Speaker 3: the colors, the structure, the flow and everything like that
Speaker 3: and just generate in our case, some exammle that do
Speaker 3: make that does make sense in a in a very
Speaker 3: fast way.
Speaker 1: Uh.
Speaker 3: And you know, you know, if your design just moves up,
Speaker 3: you know, give it another image and it will figure
Speaker 3: out what's to change and then then adjusted visually. It's
Speaker 3: it's remarkable, you know. As a result, it.
Speaker 2: Is how far are we from a tool, you know,
Speaker 2: harnesses something like play right that navigates through an old
Speaker 2: asp dot net web forms app screen shotting along the
Speaker 2: way and then feed those screenshots to this tool to
Speaker 2: spit out simuno app.
Speaker 3: I'm pretty sure it's just the single from to say,
Speaker 3: just play right you take the I was talking about
Speaker 3: the WPF thing, that migration that we did we give it.
Speaker 3: You know, we said to the AI, this is the
Speaker 3: folder that that contains the previous app. Make it, you know, translated,
Speaker 3: and make it run inside of that all the folder
Speaker 3: that contains the app. Right, there's no difference, you know
Speaker 3: if you if you do the same thing, you could say, well,
Speaker 3: I'm giving you a ur l use a prey rite
Speaker 3: m CP to figure out what the website is doing.
Speaker 3: Make it again, you know in my app. It's that
Speaker 3: simple in a sense. You know, it might not be
Speaker 3: able to figure out all the business roles, but because
Speaker 3: you know, it's not able to figure out everything, but
Speaker 3: to a certain extents, it's able to figure out at
Speaker 3: least what the visible behavior of of the app and
Speaker 3: replicate something that that can be funnctional for sure.
Speaker 4: So to that point, Richard, we have been having. You know,
Speaker 4: I have not had this much fun and that I've
Speaker 4: had in the last one month. And I have not
Speaker 4: written a single line of ZAMO because I feel like
Speaker 4: I don't need to anymore.
Speaker 2: So the God.
Speaker 4: I love my but sure it gets a little bit.
Speaker 2: Does love you XML?
Speaker 3: That's for sure? And then do love XML? That's an
Speaker 3: important thing, you know, They they do they understand the
Speaker 3: beginning and the end. It's better than Jason or anything
Speaker 3: like that. It's so it's pretty cool what they do.
Speaker 1: So one after all, right, step one put down the
Speaker 1: crack pipe.
Speaker 3: XML for models. It's something that is better understood, uh
Speaker 3: than Jason or anything else. And and the main thing
Speaker 3: is that the tag at the beginning and the end
Speaker 3: give context into what's before and after, which is very
Speaker 3: different from Carlie.
Speaker 1: Branches don't do that.
Speaker 3: No, they don't. For so it has to go backtrack
Speaker 3: and everything. You know, and even if you're writing documentation
Speaker 3: with headers and everything like that, it's not the same.
Speaker 3: You will see that major prompts that have been developed
Speaker 3: by teams are using kind of fake XML syntax when
Speaker 3: they they make sections of the prompts based off XML
Speaker 3: to say this is the beginning of your personality. This
Speaker 3: is the beginning of beginning and then of personality beginning
Speaker 3: and end of restrictions and output and everything like that.
Speaker 3: So in a sense for us, because Examal's XML, it
Speaker 3: kind of makes sense for understanding that context.
Speaker 1: It's if you think about it, HTML is XML.
Speaker 4: It is it is it is it is. Yeah, but
Speaker 4: you know copilot or Claude or Sonnet. They all do
Speaker 4: a phenomenal job at understanding this. So you know, in
Speaker 4: the last one month or so, we have had a
Speaker 4: few you know, we have thrown it up to the
Speaker 4: developer community, like DEF two is a vibrant community. We
Speaker 4: you know, threw up a challenge to say, show us
Speaker 4: what you can build. Bring your creativity. We have twelve
Speaker 4: days of Christmas because that's the season. Let's build some
Speaker 4: amazing apps. And it's mind blowing to see what we
Speaker 4: can build, you know, like a matrix reign of you know,
Speaker 4: digital numbers, win amp uh, you know our you know,
Speaker 4: our thing that we grew up with with skins and
Speaker 4: so on, which well, you know, any of those will
Speaker 4: take like weeks and weeks to get the ZAMO right.
Speaker 4: It's a matter of minutes because you know AI again,
Speaker 4: don't trust it blindly, but you know, damn it's a
Speaker 4: good starting point to get that UI out of the door.
Speaker 4: Based on a couple of prompts.
Speaker 1: Okay, it's cool. Is there anything we missed, guys, anything
Speaker 1: that you want to talk about.
Speaker 4: One last thing, and this is all the MCP stuff.
Speaker 4: This is all meant to bring more context and you know,
Speaker 4: grounding to the AI agents that you are using. But
Speaker 4: what if we could do more out of the box.
Speaker 4: What if you just want to open up an empty
Speaker 4: platform app and not do anything else to it. Just
Speaker 4: see the running app. You you maybe you come from
Speaker 4: a non deav background. You just want to see the
Speaker 4: running app, and then you have an agent right there.
Speaker 4: That's something we call the heart Design agent. So heart
Speaker 4: Design again is our visual tool that lets you tweak UI.
Speaker 4: But now you just move over to one tab over.
Speaker 4: Now you have an agent running right there with your
Speaker 4: app and it works the same way across you know,
Speaker 4: Windows browsers and mobile. It's always there. And that has
Speaker 4: some very key features where it can generate UI. Like
Speaker 4: if you are on a blank screen, you can say,
Speaker 4: build me the next login app, build me a next
Speaker 4: you know X or whatever it is that you're building,
Speaker 4: and it'll take stabs and compared to the agents in
Speaker 4: the ide where you based on your prompt, it's going
Speaker 4: to start, you know, making code changes for you. And
Speaker 4: sure you can you know, approve things a few times.
Speaker 4: But then what if you wanted to go back in
Speaker 4: time and say, now, what I had like five iterations
Speaker 4: back was kind of better so we kind of maintain
Speaker 4: a history off the UI, so you get to churn
Speaker 4: and churn and see what the ai is agent is generating,
Speaker 4: and then once you're happy with a particular one, then
Speaker 4: you say apply. Then we're going to come in and
Speaker 4: change up the zamal not just in your in a
Speaker 4: running app, but all the way back to your ID.
Speaker 4: So that's a hot design agent and that's something we
Speaker 4: have been working on, so expect more things out of it.
Speaker 2: Cool, very cool.
Speaker 1: Well, thank you guys, it's always enlightening talking to you,
Speaker 1: and well, thank you. Yeah, congratulations on the new stuff,
Speaker 1: and everybody go check out Who Know and we'll talk
Speaker 1: to you next week on dot netros. Dot net Rocks
Speaker 1: is brought to you by Franklin's Net and produced by
Speaker 1: Pop Studios, a full service audio, video and post production
Speaker 1: facility located physically in New London, Connecticut, and of course
Speaker 1: in the cloud online at pwop dot com.
Speaker 5: Visit our website at d O T N E t
Speaker 5: R O c k S dot com for RSS feeds, downloads,
Speaker 5: mobile apps, comments, and access to the full archives going
Speaker 5: back to show number one, recorded in September two.
Speaker 1: Thousand and two. And make sure you check out our sponsors.
Speaker 1: They keep us in business. Now go write some code.
Speaker 1: See you next time.
Speaker 2: You got Vans
Speaker 1: And