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