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