Avalonia 12 with Mike James & Matt Lacey - podcast episode cover

Avalonia 12 with Mike James & Matt Lacey

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

Episode description

Avalonia continues to evolve! Carl and Richard talk to Avalonia CEO Mike James & Matt Lacey about the latest version of Avalonia, the open source UI framework for building cross-platform applications with .NET. Mike's conversation with the Google Flutter team has led to replacing the Skia rendering engine in Avalonia with the newer Impeller Rendering Engine that Flutter itself depends on. This opens the door to excellent smartphone implementations with Avalonia, alongside its usual desktop and embedded roles. With enterprise editions and the new Avalonia Accelerate, there's more to come from the team!

Transcript

Speaker 1

How'd you like to listen to dot NetRocks 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. Hi, this is Carl Franklin.

Speaker 2

And this is Richard Campbell.

Speaker 1

We've got two special shows coming up soon, episode nineteen ninety nine and two thousand.

Speaker 2

For episode nineteen ninety nine, we're collecting people's y two k stories what did you do to help the Y two k event not actually happen?

Speaker 1

And for episode two thousand, we're going to be sharing stories about how dot net shaped your career.

Speaker 2

We have a special page at dot netroocks dot com slash voxpop where you can record messages for us that we can play on these special episodes.

Speaker 1

So tell us what you did for Y two k and what dot net means to you, and of course how long you've been listening to dot NetRocks.

Speaker 2

So go to dot netroocks dot com slash voxpop now and leave us a message before the thought of operates like whiskey left in a glass overnight.

Speaker 3

Do it?

Speaker 1

Hey, welcome back to dot net Rocks. I'm Carl Franklin.

Speaker 3

And I'm Richard Campbell.

Speaker 1

Richard, do you realize we've been doing this show for almost two thousand episodes?

Speaker 3

Getting there? Yeah, two thousand is approaching.

Speaker 1

And you know you probably just heard the bumper where we're going to be at the MVP summit or right before at party with Palermo doing our two thousandth show, and we ask people to call in with our voxpop. Go to dot nerocks dot com and look for voxpop at the menu or just slash vox pop. We only have three messages. Come on, people, come on, and they're from old friends, right, you know, but that's not what

we want. We want to show, so come on, give us some anyway, Let's start with what happened in nineteen ninety three, and Mike and Matt you can join in if you want to. Bill Clinton was inaugurated, The World Trade Center was bombed for the first time.

Speaker 3

Yeah, that was that was the truck bomb in the underground.

Speaker 1

Yeah, didn't really do anything, So make a mess.

Speaker 3

Blue three floors out of the base Bend. Well, a lot didn't bring the building down. It's only because eight years later what you know that you would think of it was huge at the time.

Speaker 1

You're right, you're right about that. The Branch Davidians were invaded in Waco, Texas. That wasn't bad. Major global events included the Storm of the Century blizzard, and from what I'm hearing, that was nothing compared to what we just went through in the northeast.

Speaker 3

No, that storm killed a lot of people, Like I hope there's not a lot of fatalities out right now. You guy's kind of what you're doing up there when it comes to bad winter storms.

Speaker 1

Yeah, yep. Let's see, the Storm of the Century hit the East coast in March, massive flood effected the midwest. Czechoslovakia peacefully split into the Czech Republic and Slovakia on January first, and the Brundian Civil War began.

Speaker 3

Yeah, as opposed to what was happening south of there in the former Yugoslavia where everybody was killing everybody.

Speaker 1

It was terrible. Yeah, So what happened in science and space, Richard.

Speaker 3

Well, I'd also throw in in June of nineteen ninety three was when Kim Campbell became the Prime Minister of Canada, first time a female prime minister in Canada, although admittedly she was put in place after Brian mulroney resigned, so she was really just sort of interim from June until the federal elections in December when Jean Kreshen will be elected. Yeah. Starting on the space side, so we have seven shot missions. Most are not particularly interesting, three Space Lab missions, a

few satellite launches. But in December the first hubble repair mission, so arguably the most complex Space Shuttle mission ever. I had a opportunity to actually have dinner once with Story Muskrave who helped architect that mission. The guy just astonishing, person, Wow, this is done out of the Shuttle endeavor. Remember hubble Ed launched in nineteen ninety and then after checkout they realized the mirror had been miss ground and so.

Speaker 1

Didn't they fix it with software rather than attempt to do some process to the mirror itself.

Speaker 3

Now they absolutely put in new optics as well as software upgrades. They also replaced all the gyros and upgraded a bunch of instruments and changed out the solar panels. It had already been up for three years at this point, so it was sort of an opportunity. And this is the first time ever to do this kind of repair. The Shuttle had been designed to retrieve satellite to prepare them and relaunch them, and it had done a bunch

of that, but most of them were fairly straightforward. This was a crazy repair and you and I saw the test articles for the optical correction when we went to the Goddard Space Center to see the James Web, if you recall. So, yeah, a very complex mission, but ultimately successful. Of course they didn't know at the time. You know, they figured all this stuff out, but then you have to put it all together, relaunch, and then it takes

months to actually complete the testing to resolve that. Also, in human spaceflight T sixteen from now, the Russian Federation flies to Mirror and put some new satellites up, put some new astronauts or cosmonauts up on the Mare space station. The Shuttle Mirror relationship is in negotiations, it hasn't started yet. Well, we'll talk about that in future shows. And one more thing on the space side, which I talked about last show, but let's go a little bit of detail on it,

which was Mars Observer. So Mars Observer was launched on Titan three in nineteen ninety two. That's what we talked about the last show. It originally was supposed to be launched by a shuttle, along with many other kinds of satellites, but the Challenger disaster had created a huge number of delays when they started prioritizing satellites. There were satellites that really could only be launched by a shuttle like Galileo,

Magellan and the Ulysses, so they got priority. So there was a rethink around Mars Observer, and it was a big satellite. This was an over a one ton orbiter based on a bus that was really meant to be around Earth or they're going to fly it to Mars.

So instead they launched on a Titan three, in fact, the last Titan three, and then three days before it was supposed to start its burn to go into orbit around Mars, during the checkout sequence where they were pressurizing the fuel system and so forth to get ready to do that, something went wrong and they abruptly lost contact with Observer. The guess is, and it's a pretty good guess.

The fuel system, which wasn't designed to be turned off for six months during the cruise phase, the seals had froze and so as they repressurize system, it leaked hypergolics into the chassis, which then would combine and burst out in any direction they could so suddenly spun the satellite out of control and so lost it. Now being a large satellite, it had a lot of instruments on it,

and there were test articles of these same instruments. So over the intervening years after the loss of Observer, all of those instruments were ultimately flown. So five of the eight were flown as a Global surveyor. In nineteen ninety six, or literally the next opportunity to fly, they took five of those instruments on a smaller spacecraft that would last

for ten years. The gamma y spectrometer w we'ld end up on Mars Odyssey we had flew in two thousand and one, and then the infrared radiometer flies on reconnaissance Order in two thousand and five. So ultimately they got all the same science, just much later, and really since then, other than the perseverance and curiosity the big landers, we've never flown anything that big to Mars. Again, it's just it's tough to fly big vehicles that far, and you have to do very specific designs.

Speaker 1

I remember they really changed their approach to those rovers, you know, wrapping them in balloons, that kind of you know, all kind of low tech solutions for getting them there.

Speaker 3

You know, the original Viking missions were stunningly expensive. Right to land a large vehicle on Mars where it has just enough atmosphere that you can't just maneuver down, but not enough atmosphere to really slow you down, it's a it's a tough balance. And so to reduce costs, they use they said, the inflatable approach, so hypersonic parachute to do the initial breaking any heat shield. And then this

set of balloons allow you to bounce to landing. But that will only handle like one hundred kilos.

Speaker 1

And we'll talk about that more in a couple of months, right.

Speaker 3

Yeah, when we get we get to those missions. But and then ultimately the largest system we have rush now, which was for those two big rovers which are our e metric ton, is what they call the sky hook system, which is insanely complicated, but it's a precise landing system for more than a ton on the Mars, and it's the best we've got.

Speaker 1

Mike is nodding. Do you remember that all that stuff?

Speaker 4

No, I'm just the sky hoof.

Speaker 5

I've been watching YouTube videos when the wie's away. I get to watch really nerdy things and watching about how we land stuff on Mars, and I find all of that very fascinating.

Speaker 3

Precision landing is bloody hard because you don't know how much atmosphere you're going to hit, so you don't know how much you're going to slow down, and so there's a bunch of moments you have to decide to do some maneuvering to get where you're planning to go.

Speaker 4

Yeah, and it's not like you can just tweak like in real time.

Speaker 5

A message from Earth to Mars to adjust courses got to be thought about ahead of time.

Speaker 3

Yeah. The entire event of entering the atmosphere and landing happens before the first signal arrives at Earth's incredible, right, It's seven minutes from arbitilator face to landing, and it's eleven minutes to transmit data.

Speaker 1

One way about that the next time you don't get a text answer right away.

Speaker 3

Yeah, has to go to space. But now think about this, knowing that they were still able to take pictures of the re entry and ultimate landing of Perseverance with the Odyssey orbiter purely by timing, to say, basically, time that Odyssey was in the right place to take pictures in the right location downward and gut shots of the parachute and the heat shield ejection.

Speaker 1

Like, that's cool.

Speaker 3

All but all done. All of it had happened before we knew any of it. It's all maths just had to do to maths. Yeah, okay, should we talk about computing because an I three was a very good year for computing, Yes, at least for the Internet side, So

cern that's our friend. Tim Berners Lee releases the source code for the first web server, the one that ran on the next, which makes it a whole lot easier to build web service because as of the beginning of the year in nineteen ninety three, there's an estimate exactly fifty web servers in the whole world. Don't worry, but it.

Speaker 1

Was it was written in a different language, though it wasn't like C.

Speaker 3

It was written Yeah, I was written an objective C because that was the language of the next right, that's.

Speaker 1

Job objective cy, so you had to figure that out first.

Speaker 3

But meantime, there are other tools on the Internet to use the Internet. Right this is before the Web, and the most one of the most profita onest one called Gopher, written by a group at the University of Minnesota, and literally it was for you go for info, and it was widely used by academics in the universities. It was also used by the Library of Congress, like it was the way at the time. I remember surfing Gopher, however, and they and they were talking about incorporating features that

were webbish, like hyperlinking and so forth. And then I decided it was getting popular enough that they wanted to charge for a server for it, and oddly enough, nobody wanted to pay, and so everybody just switched switched to web technologies. Which is useful because over in the University of Illinois, Urbana Champlaine, they are just releasing a browser called Mosaic. This is also the year that Windsock comes out for Windows. So that's remember that Windows at this

time does not use TCPIP by default. That uses net buoy, and so if you want to get on the Internet. You need to use CCPP, so you use windsof.

Speaker 1

There are all sorts of ads in the back of you know, PC Week and all those magazines for TCPIP libraries. I remember at that time because there wasn't anything in Windows.

Speaker 3

And O'Reilly has a web page up already and they are the first to sell ads on it. In nineteen ninety three. Wow, yeah, yeah, other computing stuff besides windsock, we have a good operating system year. This is the year that free bsd gets released. Microsoft puts out m STAS six NT three one, the original NT without a Guy, and Visual Basic three. One of the best proof points that the third versions of things made by Microsoft are

the best ones. Yes, the first Intel Pentium ships, they didn't want to call it the five eighty six because they've been doing the two eighty six, three eighty six, forty six things. They pent as in five and it's a whole three million transistors and three hundred megahurts.

Speaker 1

Had a hard time keeping that thing cool, didn't they.

Speaker 3

The later pen the first Gigaherts pendiums are the ones that were really tough to cool.

Speaker 1

But wasn't that the thing that sort of triggered the more process or more CPUs on a core, more cores on a CPU.

Speaker 3

We're a few years away from that, yet this is the beginning of that problem that as you research of density, the temperature gets up too high, so and they can't keep the cycle rates increasingly. We're three hundred mega hurts. We're going to keep running up over at gigahertz and so forth. We're going to peek around three or four, and then we're going to back off because it's just so much electron erosion and problems. And now now we're

starting to creep up again because new designs are working better. Yeah, a couple of last things and we'll move on. Two important games in nineteen ninety three. One of them is missed by broder Bond first real multi media game, So am be in such experiential Yeah, I loved it, really set the class and it is a you know, not just gave me the year, but al eamn, a game of the decade or more. And the story was it was all about the story, right totally. It was like

in this slow discovery playing a movie. No narration, Yeah right, you just had to figure it out. It was great. And the other game for mid software Doom. Yeah, first person Shooter. Yep. And that's what I got, all right.

Speaker 1

Before I move on to Better Know Framework, let's just quickly go over the top ten selling albums worldwide nineteen ninety three. The hits the B sides by Prince Key tracks are seven and Cream if you remember that one. Yeah, the chronic by Doctor Dre Nutting, but a g thang Let Me Ride. We talked about that last show because it's still going on. Eric Clapton Unplugged is still there. Number eight, Tears in Heaven and Laila Versus Pearl Jam, Number seven, Daughter Go and Animal The big hits there

Janet Jackson estimated sales fourteen plus million. That's the Way Love Goes If and Again, ten Summoners Tales by Sting, If I ever Lose my faith in You, Fields of Gold in Shape of My Heart, Great songs Aerosmith puts Out Get a Grip Number four estimated sales twenty plus million. Tunes like Living on the Edge, Crying Crazy and Amazing Number three, Bat Out of Hell two Back into Hell by meat Loaf. I do anything for love, but I won't do that. You had such a great sense of humor,

and then rock and roll dreams come through. Number two The Bodyguard. We talked about that, Whitney Houston. I Will Always Love You, I Have Nothing and I'm every Woman. Number two in nineteen ninety one, forty five plus million sold, and the number one selling is Music Box by Mariah Carey twenty eight to thirty two million, Dream Lover, Hero, Without You and Anytime You Need a Friend. And that's it for our nineteen ninety three review. I guess now it's time for better, no framework, awesome.

Speaker 3

It's.

Speaker 1

A man.

Speaker 3

What do you got?

Speaker 4

Well?

Speaker 1

Last week I talked about t unit.

Speaker 3

Yes, remember yep, Simon Krapp.

Speaker 1

Well, no, he didn't write it, He just brought it to our attention. And then he went on to write a tool called t unit migrator. Oh, that's a dot net tool that migrates test projects from MS test and unit x unit and x unit v three to t unit because he really loves t unit. Well, this is who wouldn't love t unit. This is the classic developer open source project. You need it for yourself and you think other people would benefit from it, so you make

a tool and happily share it. Yeah, and that's what it is, it's cool and of course t unit is a modern testing framework for dot net that uses source generated tests in parallel execution, native AOT support and it's all good stuff and it's the new hotness and unit testing and that's it. Richard, who's talking to us.

Speaker 3

Today grabbing comment off a show seventeen eighty five which you did back in twenty two talking to Dan Walmsley about Avalonia one point zero because I know we're going to get a little chance to revisit Avalonia and we have comment on the show from Aaron Stalisbury this a few years ago where he says I've been using Avalonia for desktop and it's been a pleasure. It's one project and everything just works. It might help people to know

that they getthub repo Avalodia community slash awesome. Avalonia curates a great collection of add ons. I love the air awesome lists. Yeah, thanks for your info. Hope it helps people, though committedly it's a few years old. And a copy of music codey is on its way to you, and if you'd like a copy of music Cobey, I write a comment on the website at dot at rocks dot com or on the Facebook's publish every show there, Andy comment there, I'll read it on the show was at your copy of music O Music.

Speaker 1

To Code by Still Going Strong twenty two tracks, twenty five minutes each designed to keep you in a state of flow while you're writing code. You can get it at music toocode by dot Net. All right, so I guess it's time, after this horribly long introduction to introduce Mike James and Matt Lacy. Mike is the CEO of Avalonia UI. He has spent his entire career focused on crossplat development, starting as a developer building with QT before

joining Zamorin and subsequently Microsoft. He has dedicated his career to enabling developers to build apps for every platform. He's now focused on continuing the mission with Avalonia UI. And Matt Lacy is a software developer at Avalonia, building software since the late nineties and has worked on more platforms and in more languages than he can remember over the years. I don't know, does say something about your memory or about the number of platforms.

Speaker 6

I'm going to say both.

Speaker 1

Over the years, he's created systems that have processed hundreds of millions of dollars in transactions and apps that have been installed more than half a billion times today. His focus is on helping other developers build software that generally genuinely delivers value to the people who use it. He's also an author and has been a Microsoft MVP since twenty fifteen. Welcome guys. Hey, I guess we're going to

start with the state of Avalonia. We've talked to death about what it is, and if you don't know what it is, just go do that on your own time. We know what it is. What's going on with Abolonia, Well.

Speaker 5

There's so much going on with Ablonia. It feels like more has happened in the last twelve months than the last twelve years. We've got the open source which was created in twenty thirteen. That's been like a slow adoption over those initial years, and then the snowball is just picking up speed, and so we've seen just a huge amount of growth from the community just picking it up.

Speaker 4

It's all.

Speaker 5

People just recommending it to each other, which is lovely. We don't have any sales or marketing. It's all just natural word of mouth.

Speaker 1

Good time.

Speaker 5

Yeah, and then like the team is now seventeen people, so we've got a load of folks that's working on building this out to try and deliver on the goal of creating the best UI framework for donnet. So, yeah, there's just a ton of things that have been happening. It's difficult to know where to even begin.

Speaker 1

Matt, you want to throw in your two cents. It looks like you're smiling there, you've got an idea of how to begin.

Speaker 6

No, I'm smiling because I recognizing the size of the topic. Yeah, okay, Yeah, So I joined the company at the end of last year having been well aware of them for a long time and having seen that being one of a number of companies and projects in the same sort of cross platform dot net space. And when I joined, what really surprised me was the number of people who are using it.

Speaker 4

It's this.

Speaker 6

People have gone out and found it and fallen in love with it and just been using it and building really big projects and really sort of core and key line of business apps. And you know, the team's not been shouting about all they've been doing, but lots of people are using it to build some really powerful things. And there's all sorts of partnerships and other projects which have sort of come along in response to that, just as the wider ecosystem has recognized what's there and what's possible.

Speaker 1

Partnerships with say Google or Maui.

Speaker 4

Yeah, both of those.

Speaker 5

So the Google ones I think really interesting because so one of the things that we have to do as platform stewards is to think about the next five ten years. So we cater to largely speaking to enterprises. It's those line of business apps, and those enterprises want long term stability, so we have to kind of look out part the immediate horizon to decide where do we want to push the framework. A key part of that is performance and the rendering stack, and we've used skier Sharp for years.

It's been the bedrock of how we've been able to go cross platform. But if you look at Flutter and their moves towards Impeller, which is much more performance for tiling based GPUs, which is what you're going to see on your phones, but also if you've got a modern Mac that's a tiling based GPU. So we're kind of looking at the border ecosystem and seeing these opportunities for improvements within Avalonia that aren't you know, an immediate win,

but something to kind of aspire to be building. We create lots of experiments and one of those was around below, and the folks from Impella on the Flutter team reached out and said, is there any interest in a collaboration. Our minds were like, our minds were blown because number one, they were praising Avalonia and saying that they've been following the project for years from the sidelines. And it's like the fact that there's folks on the Flutter team that are even aware of Avalonia.

Speaker 3

Is that you even know my name precisely?

Speaker 1

Are you kidding me?

Speaker 5

Yeah, So there's a huge sense of pride in that. But we get on the call and we chat with them, and it's, you know, engineers to engineers, and there's this common goal of how can we take impeller and enable it to work for more than just Flutter developers, and so in our case, it's dot net, so we want

to bring it toward dot net developers. But to do that, there's some difficult engineering work that needs to happen on both sides because it is designed very much for Flutter, it's not really designed to.

Speaker 3

Be used and Flatter has its own sort of approach to you I which I always thought was very mobile centric, that kind of flow design.

Speaker 5

Yeah, but even just at the Impeller level, it's made assumptions that it's a very different beast to Skier. So it's made assumptions that are challenging for us. So you know, we have to collaborate to to work out where do we where do we make those changes. Do we do it in Impeller where it's going to help other projects that might want to take on that dependency, or do we change our rendering back end to adjust to the way that Impeller works.

Speaker 4

So there's like this.

Speaker 1

One more time. Tell me more about Impala. You said you changed from Skia Sharp to impoler. Is Impala your thing or is it an open source project?

Speaker 4

You?

Speaker 5

Yeah, so it's from Google. It's it's their replacement to Skier. So ski has been around for years. If you use Google Chrome, that's powered by Skier. It's the two D graphics library. So you're drawing. If you need to draw anything in an app, you're probably going to use Skier set or ski sharp within the dot ecosystem.

Speaker 3

Right, this is from the Mano stack.

Speaker 4

Exactly that said Miguel created.

Speaker 5

I think did the first set of commits, huge, huge, number of commits, and then Matthew came in and took it over when we were at Zamarin, and it's allowed us to go cross platform. So we have this cross platform drawing functionality that works everywhere. But as I say, it's it's been replaced on the flatter side with Impeller, which is the new two D graphics rendering library that is much more optimized for modern GPUs.

Speaker 3

Right.

Speaker 5

So, as I say, it's that tile tile based GPUs, which is what you've got on your phone, it's what you've got in your your max your modern desktop GPUs can you can still get some performance increase, but it's nowhere near as significant as if you were.

Speaker 3

Although to be clear desktop GPUs, you know you're not struggling to render on a desktob GPU.

Speaker 4

No exactly that. But you know I've got this.

Speaker 5

I mean, it doesn't help your podcast listeners, but I've got a little rasbry pie with a screen.

Speaker 3

Attached to it, right, great device, and it's it. I love these, Yeah, but.

Speaker 5

This is the kind of device where you want to extract as much performance out of it as possible.

Speaker 3

Yeah, cycles count in that little pie.

Speaker 5

Exactly that, And this is I mean, this pie is considered a high powered device for some of the things that we run on. Sure, you'd be surprised at just how low the hardware aspects for some of these devices that we support can go to ESP two's I don't think the oldest that we're running on in production. It's like a five hundred megahertz thirty two bit ARM CPU from two thousand and two.

Speaker 4

Okay.

Speaker 5

We spent a very very long time with that customer optimizing everything to make that work.

Speaker 3

Oh man, you got to call the ball on that one too, Like, is it worth it for such a one off?

Speaker 4

Oh, it was worth it. Yeah.

Speaker 5

It was an important customer and a relationship that we wanted to maintain core and that records through of course everything. If we can get those performance increases on.

Speaker 3

If you can optimized for a five hundred megahertz ARM device, my life's going to be pretty easy. Running around in my four gigar hurts, you know, Pentium or inteled Ultra of nine exactly that.

Speaker 5

So, yeah, Impeller is it's going to be the future. We think of the rendering stack for Avalonia right now, we're still using Skier sharp Avalonia twelve. We'll ship with skier Sharp as the default. We will bring Impeller probably within V twelve, so maybe zero point two, three point four, not sure when, but it will come when it's ready. And we're using V twelve as an opportunity to experiment with different back ends and different rendering technologies to see

what works. And we're going to release various different proof of concepts as previews and see what sticks, what do people like, what's the most performant, and kind of us up for when we ship B thirteen that we can move stuff into stable and that can start to replace SKEA shop.

Speaker 1

Very good.

Speaker 3

How many apps out there running Avalonia are for mobile versus small form factor versus desktop?

Speaker 4

Yea. Mobile has historically not been our strength.

Speaker 3

Yeah, that's my thought has always been you with the guys, you sold the WPF problem for me, right exactly.

Speaker 4

That.

Speaker 5

We can do mobile, but we've just never shipped like mobile focused controls. So we're fixing that with V twelve, people are shipping mobile apps. Is it comparable to Flutter, No, we are very much. Still the best experience is still desktop. Sure, but there's always been this dichotomy. If you're really good at mobile, you struggle mightily on the desktop, and if you're really good at desktop, it's tough to fit it in the marble.

Speaker 4

Yeah, it's I.

Speaker 5

Mean, just look at mac Catalyst. If you take a mobile app and run it on a desktop, you're going to have some unhappy desktop users. And if you take a desktop app and try and strip it down into a mobile app, then you've got unhappy mobile users. You have to think a cross platform doesn't mean that you should be reusing one hundred percent of your code across every platform. You do need to be kind of cognizant

of the different ux paradigms of each platform. Yeah, but we're strong on mobile from a technical perspective, it's the the controls that we're lacking. Performance is good, especially with the V twelve release, but our strength is really desktop and embedded. Embedded is really where we shine interesting business.

Speaker 1

Well, this seems like a good point to break, so we'll be right back after these messages don't go away, and we're back at starting at Rocks. I'm Carl Frank Glence, my friend Richard Campbell, and Mike and Mattner here talking about Avalonia and one of the things that I thought about when you said that we're not you know, we can do mobile, but that's not our main focus. Was that one of the was that an impetus to partner with Maui or how did that relationship come.

Speaker 5

I mean, I've always my background is zama and I joined zamoring in twenty thirteen. I stayed through the acquisition. When I joined zamorin, it was mono touch monodroid right. It was we had monotuchdot dialogue. I don't know if anyone remembers that, but that's how I got into the zamora and ecosystem was through mcguel's library, which was a precursor to zamor in forms. So I've always had good relationships and connections into the zamoring team and the Maui team. Once they did the rebuild.

Speaker 4

The Maui thing comes about.

Speaker 5

I was sat in a cafe with Joseph Hill, who was a co founder of Zamorin, and we were just chatting about Avalonia and what do we want to do?

Speaker 4

And I mentioned in passing that.

Speaker 5

It would be really cool if we could build out a back end for Maui based on Avalonia. It would solve some problems for Maui because it would give them Web and Linux immediately. I know that they've wanted drawn UI for a while as an option, So that you get native or drawn, you get to pick and then from outside. I mean it's not purely altruistic from our side. We've hired several folks from Microsoft that know that code based very well, and by doing this it helps us

fill in the gaps on our mobile side. So you know, we're going to have the navigation control that's is working on at the moment and additional APIs that were missing in Avalonia that just make us a bit more competitive on the mobile side. So it's mutually beneficial for everyone.

Speaker 1

Yeah, that's pretty obvious. And so you were mentioning drawing the UI, like, are we talking about visual basic style?

Speaker 4

So you mean like a rad where you're dragging and dropping?

Speaker 1

Yeah, is that what you mean by drawing the UI?

Speaker 3

No?

Speaker 4

So I mean, I mean this all gets a bit.

Speaker 5

It turtles all the way down when you think about it too deeply. But we draw onto a canvas. So if you think about how with wind forms you're effectively wrapping Win thirty two controls, but with WPF it's just a direct x canvas that you're drawing into.

Speaker 4

Yeah.

Speaker 1

So when you say drawing, you mean with code.

Speaker 4

Yeah, so it goes down to WPF.

Speaker 5

It's into mil core, which is a media integration layer, and that was onto directex canvas. So when you ask for a button, you're not getting a Win thirty two button. WPF is just drawing a button for you. We're the same, but we're not using directexs. We're using Skier, So it's cross platform. And then I think there's an interesting discussion there about what is native because lots of people will say that Avalonia isn't native, but WPF is, and then

it's like, well is it? How are we divining native?

Speaker 3

Yeah?

Speaker 4

So yeah, I could talk about that for hours.

Speaker 3

Well, the whole discussion of what is native is interesting or by itself.

Speaker 5

It really is, especially when you think how web technology as well is actually rendered and how you're getting down to pixels on the screen. Like, it's hard to argue that web isn't actually equally as native as WPF, so it all comes a bit blurry when you stare at it too long.

Speaker 1

Well, the whole I mean is that even a I don't know, that seems like it was more of an issue back in the VB days where you know you had interpreted versus native code, and you know that was so much faster. Now machines are so fast that does it matter?

Speaker 4

Yeah?

Speaker 1

Is that a plus an argument? Anymore?

Speaker 3

Native also means not compatible? Yeah, right, if you're poking into memory in a video card, you better be very sure of everything. There are distraction layers for a reason, right.

Speaker 4

Yeah.

Speaker 5

But in terms of like the VB six drag and drop Brad style, this is something that Matt, Matt will know that we've we've talked about massively internally about what the the use of that is in the in the future of development. Maybe Matt wants to jump in with some of his thoughts.

Speaker 6

So, yeah, I want to avoid recovering topic you've covered many times on the show, but the idea of the transition between a single VB six drag and drop, I will drop my control here. It'll be fine, It'll be there for everywhere. It will always be that size screen, it will always be that aspect ratio. I don't have to think about, you know, thousands and thousands of potential different device permutations. That's easy, you know, it's how it

needs to reflow and dynamic documents. And you think about web development and web development now is you expect the same website to work on the mobile and on a desktop and everything to reflow. And there's a reason web developers stopped using drag and drop. Yeah, it's because drag and drop is really hard when you have to account for all those different flows and layouts and variations.

Speaker 1

Yeah, we've talked about this to death on this show before. Yeah, it's and it's not a pixel based world anymore.

Speaker 3

When the reality is that devs would use it if the tool has existed, But it seems like an impossible tooling actually making tools that would allow you to drag and drop to build a UI that would also then have that multimodal nature. There's just a lot of information you have to feed into that.

Speaker 5

We've used internally a tool for our marketing website called Framer so that our designer could work on it, and that works where you can set up breakpoints and then you effectively have different variants of your web page for each form factor and that's probably the best ux I've seen for it, but it's still infinitely more frustrating as a developer to use that ux and just go in and write code.

Speaker 3

Yeah. It seems to me that the Visual Basic sixth designer was a point in time when the variation of resolution of screens was relatively small. They were ten twenty four x seven sixty eight and we had to fix UI largely menu bar across the top, you know, file open help and dockable windows like that was a moment, Yeah, and that moment has passed, Like it's just the now.

You expect the supercomputer in your pocket to work, and the tablet and you're in the insert sleeve in your bag to work, and the forty three inch four K screen and in front of you or the combination of screens. I've got to sit in front of me right now to work. We just live in a different planet. You can't build software this way that way anymore.

Speaker 5

I also think it went about my dead loop and how it's evolved in the last twelve to eighteen months of more often than not, if I want to change something, I'll open up clawed code and just prompt it and it will go off and it will tweet. So do I need a Dragon Drop designer When I can just ask ask my aide.

Speaker 3

We're spending most of our time describing our software now not.

Speaker 4

Writing precisely that I mean. I used.

Speaker 5

Google Stitch, their AI designing tool. They've got an MCP server for it. I connected that up to our dev tools MCP, and I prompted it in the morning to say I wanted to build a sample app for us. It used Google Stitch to design it. Claude then implemented it and used our dead tools to confirm whether or not what it had created matched the images that Google had provided.

Speaker 3

The testing was sort of user accepting, testing does this look like what you described exactly that?

Speaker 5

And when it didn't, it would just go back and keep editing that. I said to it that when you're confident that it matches, launched the app. So I then went back into spreadsheets and doing boring things, and then was greeted with the surprise of an app launching that looked really nice.

Speaker 3

I also noticed, like your Carousell scroll on the main page of Avalonia is mostly visualizations, because let's face it, that's what you want your screen to have on it these days, with new text interfaces and the change of the software anyway, what you're looking for now is visualizations of data that are that better suit you making decisions rather than clicking buttons and filling in textboxes.

Speaker 5

Yeah, yeah, yeah, I mean the the apps that are on the carousel. You've got things like Lunacy, which is a competitors to Figma, like a hugely complex application. So it's it's incredible. Matt mentioned earlier, it's incredible what people are building with Avalonia. If we were I think, if we were better at marketing and enjoyed that, then we would probably have significantly more GitHub styles and you know,

more blog posts and things. But we ought to focus on the code instead of the flashy marketing.

Speaker 1

Are you finding a lot of your customers using the l m's, the cloude code and the co pilots to completely build out Avalonia applications?

Speaker 5

Now, I don't think I've spoken to anyone that's built out an entire app using an LLM. We're enterprise focus, so there's a lot of you know, we're quite insulated in the scheme of things. I think that dot net in general is going to be one of the last ecosystems to really embrace AI.

Speaker 4

I think we'll get there eventually, I think so.

Speaker 5

I think so, yeah, I think there are going to be some organizations that just can't. I mean, one of our customers builds stuff that's used for NATO planning, Like, I don't think they're going to be feeding their source code into some random LLLM.

Speaker 1

Yeah, it's true. Well, I'm hopeful that at some point in the future we'll be able to use local lms that do the same thing but keep everything local. And I'm ready for it because I got my honkin' machine here with the Scream and GPU, but I haven't. I haven't had that experience yet. I've tried, but I haven't. It hasn't worked.

Speaker 5

I'm all about clawed code. That's my current current agent of choice.

Speaker 3

You can deny. Avalonia's growth is astonishing, you know, and the fact without the marketing really speaks to people are finding it and keeping it and those that are using it are taking to the next project, the next project, the next problem.

Speaker 5

Yeah, we have we have some telemetry, so it's all open source. People go and have a look at what we collect. It's very minimal, but it gives us an insight into the adoption. So last year or one hundred twenty two million bills, which was up thirty one point month on month growth two point one million unique projects. I mean, it's it's really incredible the amount of growth that we've seen.

Speaker 3

So how do you guys make a living? That good question.

Speaker 5

I have a very supportive wife. I mean that that is there's a joke to that, but it's also the truth.

Speaker 4

I mean, we.

Speaker 5

Building a business around this has been just a huge learning curve and uphill struggle.

Speaker 4

Open source sure well.

Speaker 3

And you know, for me as an architect, when people are asking about Avalonia, it's like, how do you know this thing's going to survive? Like what's the main open sours is one thing, but I'm not prepared to take over this library if you guys go away, Like, how do we have some confidence?

Speaker 4

Yeah?

Speaker 5

That's that's the mindset that we make all of our decisions through, is how do we ensure the long term viability of what we do because we have to be around in ten years time because the folks that are building on Avalonia have taken a bet on us and they need that enterprise timeline. So part of that is a rejection of outside capital. We don't We've we've had offers for VC injection, but that puts us on a We did it with Zamorin. It's a very condensed timeline.

You've got to have an exit and that does not bring long term stability for anyone. So we've said no to that. So then it was like, well, how do we monetize this thing that we give away all of the value. So there was XPF, which is our cross platform WPF and this.

Speaker 3

Is sort of your claim to fame of Hey, you've got a WPF app and you want to run it on here you go.

Speaker 5

I read an email earlier from a guy that they've got two applications WPF apps. They got both of them running on Mac within fifteen minutes of signing up to our customer portal.

Speaker 3

Yeah what's that word?

Speaker 5

Yeah, they were blown away by it. So that's that's been huge for us. That's really helped. But I think the other main thing that's helped us this year, the reason that we're at seventeen is Devolutions, one of our customers. They've sponsored the project for three million dollars, so we get a million dollars a year, and our attorney couldn't believe it. So I sent her the contract and she responded and she said, Mike, people don't give a million dollars for nothing?

Speaker 1

What longs did you break?

Speaker 4

Yeah?

Speaker 5

What what's happening here? This is not normal? And I was like, I trust these people. We've worked with them for a while now. They seem genuine and yeah, they have been everything that we could ever want in a partner.

Speaker 3

Wow, that's great.

Speaker 5

Their their view is that they want to ensure that we're around that they're investing heavily in porting their app to Avalonia, so it benefits them for the platform to be stable, and it gives us a runway to be able to invest in the core technology without having to be so concerned about, you know, where's the money coming from.

Speaker 3

It's got to be cost effective for them, Like somebody must have done the math to say, should we build this ourselves? And it was more money than that.

Speaker 5

Yeah, I'm not I mean to build this. If you look at who builds your WI frameworks, you've got to be pretty crazy to do it.

Speaker 3

It's like Google, Yeah, no, it's a solve problem.

Speaker 4

Yeah, it would be madness. Yeah.

Speaker 5

So Devolution three million dollars, So we get a million dollars a year. We've got I think two and a half years left of that. We've got XPF, we sell support agreements, and we do some development work, but we try and avoid that as much as we can. And then we've got Accelerate, which is a huge part of why I reached out to Matt and was like, would you please come and work for us? Because Matt is

one of the experts. I think anyone who's looks say his GitHub, or followed him or knows of him, knows that he is an expert when it comes to visual studio development and tooling and understanding how to deliver delightful developer experiences.

Speaker 1

Can you explain accelerate?

Speaker 4

I can.

Speaker 5

So Accelerate is our value add So we give away everything within Avalonia for free, so you don't have to pay a penny to use it. But there are bits of it that are really the ide. Tooling that is really difficult engineering, and it takes a certain type of person to enjoy.

Speaker 4

Working on that stuff. People like Matt and.

Speaker 5

These types of folks don't work for GitHub stars. They need some cold, hard cash at the end of the month. So we were looking at how do how do we keep having a lonely sustainable and fund these more challenging parts. So we created Accelerate which is an optional set of tools and components. So you've got a visual studio, visual studio code dev tools, and then a packaging app. And

then the components are webe media player, markdown editor. In the final stages of completing, some other components that will go into that suite as well. Yeah, the goal is to have that generate some of the revenue to help sustain the project so that we can keep working on this, keep hiring, and keep investing in a platform that is solving a problem that hundreds of thousands of enterprises have got.

Speaker 1

So give us the give us a few of the tools that are in Accelray. Here's your chance for little sales pitch. I know you don't like marketing, but might as well.

Speaker 4

I'm terrible it.

Speaker 5

Maybe Matt can tell us why the Visual Studio extension is incredible, because I think that's the main thing that most folks are excited for.

Speaker 6

So having been talked up, so I joined the company with the goal of making the best UI tooling that's available.

That is that's my remit. And so you know, WPF is kind of the benchmark for visual studio integration, and we have a timeline for reaching and surpassing that we have views for sort of parity with visual radio code, and then that's just the catching up, and then I've got ten years of imagining what the tooling could be like to play in the future, different ways of visualizing what can be done, what the code might look like, and then what code you're actually writing. Obviously, zamor has

its critics. No C sharp as a language of creating UI is you know, some of us deserved, some of it not so much. C sharp can be used to create UI, but there are pros and cons of that as well, And obviously with the rise of AI, I'm looking heavily at what the future of that might be like, because it's great that we can describe our AI in are UI in like in full English sentences or any other language sentences. But that's a level of abstraction, which

is a big leap between what actually it runs. And so I'm sort of keenly following all the experiments that are happening at the moment around maybe some new language might serve us better as an abstraction between you know, what we speak and what the code needs to do. Take us by some of that guesswork, some of that interpretation and the vagueness. So things like code Speak, which is the new language from the guy who created Cotlin,

is kind of really exciting for me. I'm just sort of really keen to see that what that can look like. I did some experiments last year about what a more human friendly version of Zama might look like. You know, we still have this we want to strictly define our U why, but we don't need XML to do that, and so the ideas around that, and then of course

testability becomes and testing becomes even more important. It's great to say I will describe what might want my app to do, you go build it and it runs.

Speaker 4

That's great.

Speaker 6

And then six weeks later I will describe a a change and that gets made and no one notices the things that are broken in the meantime that you know, l m's are very good at making more changes than a desirable or necessary and if you haven't got something in place to spot those changes and see when it breaks something subtle, that's kind of really important. So that's kind of those are the things we're thinking about for

the future, and that's what accelerate we'll go to. At some point I expect to hope.

Speaker 1

What's your relationship to Blazer.

Speaker 5

We don't really have We don't really have a relationship to Blazer. There's some projects that I've seen where you can use like Blazer style syntax to build out an avalo of your application. When I've discussed with the team about alternative syntax, one of the things I've often said is that I think if we did it, if we wanted.

Speaker 4

To move away, we'll not move away.

Speaker 5

But adn't an extra language than using Blazer or some kind of HTML like language is probably a smarter choice.

Speaker 1

I agree, That's why I brought it up. It seems like, you know, rather than improving Xamle, you have something that works that's really a nice little component model using angle brackets.

Speaker 4

Yeah.

Speaker 5

Yeah, if I like Blazer, I think when you think about who are ideal target is right now there the folks that have invested a huge amount in Xamle, they've already got all of that those skills, So we've got that nailed.

Speaker 4

So yeah, Matt's job is to think about the future. Yeah.

Speaker 6

You know, as I've alonne you, we're heavily enterprise focused, and that means maintaining things for a long time. We want to be building new features, not rebuilding the stuff we already have, unless unless it's a really really strong reason. Sure, you know, I like the idea of or if you'll build this new language on top of the thing that already exists, or the two can work together, and that

compatibility in anything new is really important. The strength of cross platform is we can build four different platforms with the same technology, not necessarily that the same thing works everywhere.

Speaker 1

If people are going to be using Claude in the like for building Abalonia apps, what's the importance of going so far down into ZAM or learning that is, if you were going to do it by hand, if you can just describe it, you know, to an LM and habit right the ZAM I guess readability, I.

Speaker 6

Think, yeah, yeah, it's how much you trust what Claude does or whatever tool does without looking at the code. And if we can get to a point where I'm really happy that it's not going to break something, I can I can clearly describe everything that I want, or I don't care about the specifics enough that I can just describe it and it can do it. That's fine. But when you want to be sure about what's changed.

You need to be able to look at the code and understand it, or someone needs to be able to I don't think.

Speaker 4

I don't.

Speaker 6

I think there's always going to be this position where we need something between what runs on the machine at like some really low level and the human speech. The kind of needs to be something in between.

Speaker 1

I'm having a hard time in visioning a future where I can be confident in the code that an LM writes, just to make sure it didn't misunderstand, you know, make sure it didn't make a bad assumption. I mean, I can't imagine. I mean, I'm probably it's probably going to come sooner than I think, but I just can't imagine

being able to trust an l and that much. Not only that, but you know, it's your head on the chopping block if things go sideways, and you know that to some people that mean might mean a little embarrassment, but to other people it could cause it could cost lives, you know.

Speaker 5

Yeah, I mean, if you look at where Avaloni is used, we've used in operating theaters to make sure that you know, surgeons are drilling into people's.

Speaker 3

Legs exactly, that they're.

Speaker 5

Drilling into the right places. You wouldn't want a vibe coded app.

Speaker 1

Dealing with that, certainly not in twenty twenty six.

Speaker 4

No, No, we're a little way away from that.

Speaker 1

Well, guys would come to the end of the show. Is there anything else that you want to mention before we before we wrap it up?

Speaker 5

Avaloni twelve it's a preview now is already available, so if anyone wants to give that a world the performance is really good on mobile and yeah, just check us out on get hub. Let's say you won't see us at conferences or doing any marketing, you'll only hear from us as people have used it and liked it.

Speaker 1

It's great stuff. Thanks guys, Mike James and Matt Lacy from Avalonia. Thank you and we'll talk to you next time.

Speaker 4

Dot net Rocks.

Speaker 1

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.

Speaker 3

Thousand and two.

Speaker 1

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

Speaker 3

A summer time that means home. Then my Texas in line red ball

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