1
00:00:01,080 --> 00:00:04,799
Speaker 1: How'd you like to listen to dot NetRocks with no ads? Easy?

2
00:00:05,360 --> 00:00:08,560
Become a patron for just five dollars a month. You

3
00:00:08,599 --> 00:00:11,320
get access to a private RSS feed where all the

4
00:00:11,359 --> 00:00:14,599
shows have no ads. Twenty dollars a month, we'll get

5
00:00:14,599 --> 00:00:18,440
you that and a special dot NetRocks patron mug. Sign

6
00:00:18,519 --> 00:00:22,920
up now at Patreon dot dot NetRocks dot com. Hi,

7
00:00:23,000 --> 00:00:24,679
this is Carl Franklin.

8
00:00:24,239 --> 00:00:25,480
Speaker 2: And this is Richard Campbell.

9
00:00:25,839 --> 00:00:30,000
Speaker 1: We've got two special shows coming up soon, episode nineteen

10
00:00:30,120 --> 00:00:32,039
ninety nine and two thousand.

11
00:00:32,399 --> 00:00:35,079
Speaker 2: For episode nineteen ninety nine, we're collecting people's y two

12
00:00:35,159 --> 00:00:37,560
k stories what did you do to help the Y

13
00:00:37,600 --> 00:00:39,719
two k event not actually happen?

14
00:00:40,240 --> 00:00:42,960
Speaker 1: And for episode two thousand, we're going to be sharing

15
00:00:43,000 --> 00:00:45,479
stories about how dot net shaped your career.

16
00:00:46,000 --> 00:00:48,719
Speaker 2: We have a special page at dot netroocks dot com

17
00:00:48,719 --> 00:00:52,159
slash voxpop where you can record messages for us that

18
00:00:52,200 --> 00:00:54,000
we can play on these special episodes.

19
00:00:54,439 --> 00:00:56,479
Speaker 1: So tell us what you did for Y two k

20
00:00:56,759 --> 00:00:59,039
and what dot net means to you, and of course

21
00:00:59,079 --> 00:01:01,159
how long you've been listening to dot NetRocks.

22
00:01:01,640 --> 00:01:04,799
Speaker 2: So go to dot netroocks dot com slash voxpop now

23
00:01:04,840 --> 00:01:07,079
and leave us a message before the thought of operates

24
00:01:07,079 --> 00:01:09,200
like whiskey left in a glass overnight.

25
00:01:09,159 --> 00:01:09,640
Speaker 3: Do it?

26
00:01:22,519 --> 00:01:26,280
Speaker 1: Hey, welcome back to dot net Rocks. I'm Carl Franklin.

27
00:01:25,799 --> 00:01:26,799
Speaker 3: And I'm Richard Campbell.

28
00:01:26,959 --> 00:01:29,400
Speaker 1: Richard, do you realize we've been doing this show for

29
00:01:29,480 --> 00:01:32,280
almost two thousand episodes?

30
00:01:32,480 --> 00:01:35,319
Speaker 3: Getting there? Yeah, two thousand is approaching.

31
00:01:35,040 --> 00:01:38,959
Speaker 1: And you know you probably just heard the bumper where

32
00:01:38,959 --> 00:01:41,840
we're going to be at the MVP summit or right

33
00:01:41,879 --> 00:01:45,640
before at party with Palermo doing our two thousandth show,

34
00:01:45,680 --> 00:01:48,519
and we ask people to call in with our voxpop.

35
00:01:48,560 --> 00:01:51,599
Go to dot nerocks dot com and look for voxpop

36
00:01:51,640 --> 00:01:54,400
at the menu or just slash vox pop. We only

37
00:01:54,439 --> 00:01:58,200
have three messages. Come on, people, come on, and they're

38
00:01:58,200 --> 00:02:00,920
from old friends, right, you know, but that's not what

39
00:02:00,959 --> 00:02:03,719
we want. We want to show, so come on, give

40
00:02:03,760 --> 00:02:07,680
us some anyway, Let's start with what happened in nineteen

41
00:02:07,719 --> 00:02:11,520
ninety three, and Mike and Matt you can join in

42
00:02:11,560 --> 00:02:17,479
if you want to. Bill Clinton was inaugurated, The World

43
00:02:17,560 --> 00:02:19,680
Trade Center was bombed for the first time.

44
00:02:21,400 --> 00:02:24,400
Speaker 3: Yeah, that was that was the truck bomb in the underground.

45
00:02:24,680 --> 00:02:27,199
Speaker 1: Yeah, didn't really do anything, So make a mess.

46
00:02:27,680 --> 00:02:30,840
Speaker 3: Blue three floors out of the base Bend. Well, a

47
00:02:30,840 --> 00:02:33,719
lot didn't bring the building down. It's only because eight

48
00:02:33,800 --> 00:02:35,719
years later what you know that you would think of

49
00:02:35,759 --> 00:02:37,000
it was huge at the time.

50
00:02:37,199 --> 00:02:40,599
Speaker 1: You're right, you're right about that. The Branch Davidians were

51
00:02:40,759 --> 00:02:46,280
invaded in Waco, Texas. That wasn't bad. Major global events

52
00:02:46,280 --> 00:02:49,520
included the Storm of the Century blizzard, and from what

53
00:02:49,599 --> 00:02:52,400
I'm hearing, that was nothing compared to what we just

54
00:02:52,439 --> 00:02:53,800
went through in the northeast.

55
00:02:53,919 --> 00:02:57,199
Speaker 3: No, that storm killed a lot of people, Like I

56
00:02:57,199 --> 00:02:59,120
hope there's not a lot of fatalities out right now.

57
00:02:59,159 --> 00:03:00,919
You guy's kind of what you're doing up there when

58
00:03:00,919 --> 00:03:02,240
it comes to bad winter storms.

59
00:03:02,319 --> 00:03:10,000
Speaker 1: Yeah, yep. Let's see, the Storm of the Century hit

60
00:03:10,039 --> 00:03:14,000
the East coast in March, massive flood effected the midwest.

61
00:03:15,680 --> 00:03:20,280
Czechoslovakia peacefully split into the Czech Republic and Slovakia on

62
00:03:20,400 --> 00:03:23,400
January first, and the Brundian Civil War began.

63
00:03:23,840 --> 00:03:26,680
Speaker 3: Yeah, as opposed to what was happening south of there

64
00:03:26,719 --> 00:03:29,759
in the former Yugoslavia where everybody was killing everybody.

65
00:03:29,840 --> 00:03:34,319
Speaker 1: It was terrible. Yeah, So what happened in science and space, Richard.

66
00:03:34,120 --> 00:03:37,120
Speaker 3: Well, I'd also throw in in June of nineteen ninety

67
00:03:37,120 --> 00:03:40,319
three was when Kim Campbell became the Prime Minister of Canada,

68
00:03:40,360 --> 00:03:43,960
first time a female prime minister in Canada, although admittedly

69
00:03:44,319 --> 00:03:48,639
she was put in place after Brian mulroney resigned, so

70
00:03:48,759 --> 00:03:51,280
she was really just sort of interim from June until

71
00:03:51,319 --> 00:03:55,919
the federal elections in December when Jean Kreshen will be elected. Yeah.

72
00:03:55,960 --> 00:04:00,560
Starting on the space side, so we have seven shot missions.

73
00:04:00,599 --> 00:04:04,199
Most are not particularly interesting, three Space Lab missions, a

74
00:04:04,199 --> 00:04:09,080
few satellite launches. But in December the first hubble repair mission,

75
00:04:09,800 --> 00:04:14,199
so arguably the most complex Space Shuttle mission ever. I

76
00:04:14,240 --> 00:04:16,639
had a opportunity to actually have dinner once with Story

77
00:04:16,720 --> 00:04:20,959
Muskrave who helped architect that mission. The guy just astonishing, person, Wow,

78
00:04:21,480 --> 00:04:23,399
this is done out of the Shuttle endeavor. Remember hubble

79
00:04:23,480 --> 00:04:27,519
Ed launched in nineteen ninety and then after checkout they

80
00:04:27,560 --> 00:04:31,240
realized the mirror had been miss ground and so.

81
00:04:31,319 --> 00:04:35,720
Speaker 1: Didn't they fix it with software rather than attempt to

82
00:04:36,240 --> 00:04:38,079
do some process to the mirror itself.

83
00:04:38,160 --> 00:04:41,839
Speaker 3: Now they absolutely put in new optics as well as

84
00:04:41,920 --> 00:04:45,319
software upgrades. They also replaced all the gyros and upgraded

85
00:04:45,319 --> 00:04:48,000
a bunch of instruments and changed out the solar panels.

86
00:04:48,279 --> 00:04:50,240
It had already been up for three years at this point,

87
00:04:50,319 --> 00:04:52,439
so it was sort of an opportunity. And this is

88
00:04:52,480 --> 00:04:56,120
the first time ever to do this kind of repair.

89
00:04:56,399 --> 00:05:00,399
The Shuttle had been designed to retrieve satellite to prepare

90
00:05:00,439 --> 00:05:02,040
them and relaunch them, and it had done a bunch

91
00:05:02,079 --> 00:05:04,720
of that, but most of them were fairly straightforward. This

92
00:05:04,879 --> 00:05:08,560
was a crazy repair and you and I saw the

93
00:05:08,639 --> 00:05:12,079
test articles for the optical correction when we went to

94
00:05:12,120 --> 00:05:14,600
the Goddard Space Center to see the James Web, if

95
00:05:14,600 --> 00:05:19,879
you recall. So, yeah, a very complex mission, but ultimately successful.

96
00:05:19,879 --> 00:05:21,920
Of course they didn't know at the time. You know,

97
00:05:22,000 --> 00:05:23,800
they figured all this stuff out, but then you have

98
00:05:23,839 --> 00:05:26,199
to put it all together, relaunch, and then it takes

99
00:05:26,319 --> 00:05:30,360
months to actually complete the testing to resolve that. Also,

100
00:05:30,360 --> 00:05:34,279
in human spaceflight T sixteen from now, the Russian Federation

101
00:05:34,560 --> 00:05:38,480
flies to Mirror and put some new satellites up, put

102
00:05:38,519 --> 00:05:41,680
some new astronauts or cosmonauts up on the Mare space station.

103
00:05:42,240 --> 00:05:47,279
The Shuttle Mirror relationship is in negotiations, it hasn't started yet. Well,

104
00:05:47,279 --> 00:05:50,959
we'll talk about that in future shows. And one more

105
00:05:51,000 --> 00:05:53,959
thing on the space side, which I talked about last show,

106
00:05:53,959 --> 00:05:55,480
but let's go a little bit of detail on it,

107
00:05:55,519 --> 00:05:58,759
which was Mars Observer. So Mars Observer was launched on

108
00:05:58,800 --> 00:06:00,720
Titan three in nineteen ninety two. That's what we talked

109
00:06:00,720 --> 00:06:02,959
about the last show. It originally was supposed to be

110
00:06:03,040 --> 00:06:05,639
launched by a shuttle, along with many other kinds of satellites,

111
00:06:05,680 --> 00:06:08,279
but the Challenger disaster had created a huge number of

112
00:06:08,360 --> 00:06:12,160
delays when they started prioritizing satellites. There were satellites that

113
00:06:12,240 --> 00:06:15,439
really could only be launched by a shuttle like Galileo,

114
00:06:15,480 --> 00:06:18,319
Magellan and the Ulysses, so they got priority. So there

115
00:06:18,360 --> 00:06:20,480
was a rethink around Mars Observer, and it was a

116
00:06:20,519 --> 00:06:24,480
big satellite. This was an over a one ton orbiter

117
00:06:25,519 --> 00:06:27,000
based on a bus that was really meant to be

118
00:06:27,000 --> 00:06:29,120
around Earth or they're going to fly it to Mars.

119
00:06:30,160 --> 00:06:31,879
So instead they launched on a Titan three, in fact,

120
00:06:31,920 --> 00:06:35,120
the last Titan three, and then three days before it

121
00:06:35,160 --> 00:06:37,279
was supposed to start its burn to go into orbit

122
00:06:37,319 --> 00:06:41,040
around Mars, during the checkout sequence where they were pressurizing

123
00:06:41,079 --> 00:06:42,839
the fuel system and so forth to get ready to

124
00:06:42,839 --> 00:06:46,959
do that, something went wrong and they abruptly lost contact

125
00:06:47,040 --> 00:06:51,120
with Observer. The guess is, and it's a pretty good guess.

126
00:06:52,160 --> 00:06:55,560
The fuel system, which wasn't designed to be turned off

127
00:06:55,639 --> 00:06:59,839
for six months during the cruise phase, the seals had

128
00:07:00,079 --> 00:07:03,680
froze and so as they repressurize system, it leaked hypergolics

129
00:07:03,720 --> 00:07:06,720
into the chassis, which then would combine and burst out

130
00:07:06,720 --> 00:07:09,240
in any direction they could so suddenly spun the satellite

131
00:07:09,279 --> 00:07:12,240
out of control and so lost it. Now being a

132
00:07:12,319 --> 00:07:15,160
large satellite, it had a lot of instruments on it,

133
00:07:15,480 --> 00:07:18,000
and there were test articles of these same instruments. So

134
00:07:18,160 --> 00:07:22,879
over the intervening years after the loss of Observer, all

135
00:07:22,920 --> 00:07:25,879
of those instruments were ultimately flown. So five of the

136
00:07:25,959 --> 00:07:29,079
eight were flown as a Global surveyor. In nineteen ninety six,

137
00:07:29,199 --> 00:07:32,480
or literally the next opportunity to fly, they took five

138
00:07:32,480 --> 00:07:35,199
of those instruments on a smaller spacecraft that would last

139
00:07:35,240 --> 00:07:37,839
for ten years. The gamma y spectrometer w we'ld end

140
00:07:37,920 --> 00:07:39,519
up on Mars Odyssey we had flew in two thousand

141
00:07:39,519 --> 00:07:43,160
and one, and then the infrared radiometer flies on reconnaissance

142
00:07:43,240 --> 00:07:45,519
Order in two thousand and five. So ultimately they got

143
00:07:45,560 --> 00:07:50,519
all the same science, just much later, and really since then,

144
00:07:51,600 --> 00:07:58,399
other than the perseverance and curiosity the big landers, we've

145
00:07:58,399 --> 00:08:02,199
never flown anything that big to Mars. Again, it's just

146
00:08:02,720 --> 00:08:04,959
it's tough to fly big vehicles that far, and you

147
00:08:05,279 --> 00:08:06,639
have to do very specific designs.

148
00:08:06,759 --> 00:08:11,759
Speaker 1: I remember they really changed their approach to those rovers,

149
00:08:11,959 --> 00:08:14,959
you know, wrapping them in balloons, that kind of you know,

150
00:08:15,040 --> 00:08:18,279
all kind of low tech solutions for getting them there.

151
00:08:19,279 --> 00:08:23,079
Speaker 3: You know, the original Viking missions were stunningly expensive. Right

152
00:08:23,279 --> 00:08:26,000
to land a large vehicle on Mars where it has

153
00:08:26,079 --> 00:08:29,199
just enough atmosphere that you can't just maneuver down, but

154
00:08:29,279 --> 00:08:31,560
not enough atmosphere to really slow you down, it's a

155
00:08:31,680 --> 00:08:36,360
it's a tough balance. And so to reduce costs, they

156
00:08:36,559 --> 00:08:41,840
use they said, the inflatable approach, so hypersonic parachute to

157
00:08:41,840 --> 00:08:45,000
do the initial breaking any heat shield. And then this

158
00:08:45,080 --> 00:08:47,679
set of balloons allow you to bounce to landing. But

159
00:08:47,720 --> 00:08:49,440
that will only handle like one hundred kilos.

160
00:08:49,559 --> 00:08:51,600
Speaker 1: And we'll talk about that more in a couple of months, right.

161
00:08:51,559 --> 00:08:53,320
Speaker 3: Yeah, when we get we get to those missions. But

162
00:08:53,480 --> 00:08:56,320
and then ultimately the largest system we have rush now,

163
00:08:56,320 --> 00:09:00,159
which was for those two big rovers which are our

164
00:09:00,279 --> 00:09:03,039
e metric ton, is what they call the sky hook system,

165
00:09:03,080 --> 00:09:06,600
which is insanely complicated, but it's a precise landing system

166
00:09:06,639 --> 00:09:08,759
for more than a ton on the Mars, and it's

167
00:09:08,799 --> 00:09:09,440
the best we've got.

168
00:09:09,480 --> 00:09:11,919
Speaker 1: Mike is nodding. Do you remember that all that stuff?

169
00:09:12,360 --> 00:09:14,159
Speaker 4: No, I'm just the sky hoof.

170
00:09:14,159 --> 00:09:17,559
Speaker 5: I've been watching YouTube videos when the wie's away. I

171
00:09:17,559 --> 00:09:20,279
get to watch really nerdy things and watching about how

172
00:09:20,279 --> 00:09:22,639
we land stuff on Mars, and I find all of

173
00:09:22,679 --> 00:09:23,759
that very fascinating.

174
00:09:24,240 --> 00:09:26,559
Speaker 3: Precision landing is bloody hard because you don't know how

175
00:09:26,600 --> 00:09:28,200
much atmosphere you're going to hit, so you don't know

176
00:09:28,240 --> 00:09:30,960
how much you're going to slow down, and so there's

177
00:09:30,960 --> 00:09:33,559
a bunch of moments you have to decide to do

178
00:09:33,600 --> 00:09:35,840
some maneuvering to get where you're planning to go.

179
00:09:35,960 --> 00:09:38,080
Speaker 4: Yeah, and it's not like you can just tweak like

180
00:09:38,279 --> 00:09:39,039
in real time.

181
00:09:39,360 --> 00:09:43,879
Speaker 5: A message from Earth to Mars to adjust courses got

182
00:09:43,919 --> 00:09:45,200
to be thought about ahead of time.

183
00:09:45,279 --> 00:09:49,440
Speaker 3: Yeah. The entire event of entering the atmosphere and landing

184
00:09:49,840 --> 00:09:53,279
happens before the first signal arrives at Earth's incredible, right,

185
00:09:53,320 --> 00:09:57,159
It's seven minutes from arbitilator face to landing, and it's

186
00:09:57,159 --> 00:09:58,720
eleven minutes to transmit data.

187
00:09:59,039 --> 00:10:01,519
Speaker 1: One way about that the next time you don't get

188
00:10:01,559 --> 00:10:03,080
a text answer right away.

189
00:10:03,480 --> 00:10:08,080
Speaker 3: Yeah, has to go to space. But now think about this,

190
00:10:09,200 --> 00:10:12,679
knowing that they were still able to take pictures of

191
00:10:12,720 --> 00:10:17,519
the re entry and ultimate landing of Perseverance with the

192
00:10:17,559 --> 00:10:22,120
Odyssey orbiter purely by timing, to say, basically, time that

193
00:10:22,320 --> 00:10:24,240
Odyssey was in the right place to take pictures in

194
00:10:24,279 --> 00:10:27,639
the right location downward and gut shots of the parachute

195
00:10:27,639 --> 00:10:28,799
and the heat shield ejection.

196
00:10:29,039 --> 00:10:29,960
Speaker 1: Like, that's cool.

197
00:10:30,480 --> 00:10:33,240
Speaker 3: All but all done. All of it had happened before

198
00:10:33,279 --> 00:10:35,360
we knew any of it. It's all maths just had

199
00:10:35,399 --> 00:10:37,480
to do to maths. Yeah, okay, should we talk about

200
00:10:37,519 --> 00:10:39,639
computing because an I three was a very good year

201
00:10:39,679 --> 00:10:43,039
for computing, Yes, at least for the Internet side, So

202
00:10:43,159 --> 00:10:47,840
cern that's our friend. Tim Berners Lee releases the source

203
00:10:47,879 --> 00:10:50,480
code for the first web server, the one that ran

204
00:10:50,519 --> 00:10:52,840
on the next, which makes it a whole lot easier

205
00:10:52,840 --> 00:10:54,840
to build web service because as of the beginning of

206
00:10:54,919 --> 00:10:57,559
the year in nineteen ninety three, there's an estimate exactly

207
00:10:57,960 --> 00:11:01,320
fifty web servers in the whole world. Don't worry, but it.

208
00:11:01,240 --> 00:11:03,000
Speaker 1: Was it was written in a different language, though it

209
00:11:03,000 --> 00:11:03,440
wasn't like C.

210
00:11:03,840 --> 00:11:06,399
Speaker 3: It was written Yeah, I was written an objective C

211
00:11:06,600 --> 00:11:09,039
because that was the language of the next right, that's.

212
00:11:08,960 --> 00:11:12,440
Speaker 1: Job objective cy, so you had to figure that out first.

213
00:11:13,159 --> 00:11:18,519
Speaker 3: But meantime, there are other tools on the Internet to

214
00:11:18,639 --> 00:11:20,720
use the Internet. Right this is before the Web, and

215
00:11:20,720 --> 00:11:22,720
the most one of the most profita onest one called Gopher,

216
00:11:23,399 --> 00:11:25,799
written by a group at the University of Minnesota, and

217
00:11:25,840 --> 00:11:28,039
literally it was for you go for info, and it

218
00:11:28,080 --> 00:11:31,559
was widely used by academics in the universities. It was

219
00:11:31,600 --> 00:11:33,679
also used by the Library of Congress, like it was

220
00:11:33,799 --> 00:11:36,960
the way at the time. I remember surfing Gopher, however,

221
00:11:37,240 --> 00:11:39,519
and they and they were talking about incorporating features that

222
00:11:39,519 --> 00:11:42,200
were webbish, like hyperlinking and so forth. And then I

223
00:11:42,279 --> 00:11:44,559
decided it was getting popular enough that they wanted to

224
00:11:44,639 --> 00:11:47,200
charge for a server for it, and oddly enough, nobody

225
00:11:47,200 --> 00:11:50,600
wanted to pay, and so everybody just switched switched to

226
00:11:50,639 --> 00:11:54,159
web technologies. Which is useful because over in the University

227
00:11:54,159 --> 00:11:58,799
of Illinois, Urbana Champlaine, they are just releasing a browser

228
00:11:58,919 --> 00:12:03,000
called Mosaic. This is also the year that Windsock comes

229
00:12:03,039 --> 00:12:06,080
out for Windows. So that's remember that Windows at this

230
00:12:06,200 --> 00:12:09,559
time does not use TCPIP by default. That uses net buoy,

231
00:12:10,080 --> 00:12:11,679
and so if you want to get on the Internet.

232
00:12:11,720 --> 00:12:14,039
You need to use CCPP, so you use windsof.

233
00:12:13,720 --> 00:12:15,519
Speaker 1: There are all sorts of ads in the back of

234
00:12:15,720 --> 00:12:19,600
you know, PC Week and all those magazines for TCPIP libraries.

235
00:12:19,879 --> 00:12:23,840
I remember at that time because there wasn't anything in Windows.

236
00:12:23,320 --> 00:12:28,879
Speaker 3: And O'Reilly has a web page up already and they

237
00:12:28,879 --> 00:12:31,399
are the first to sell ads on it. In nineteen

238
00:12:31,480 --> 00:12:37,720
ninety three. Wow, yeah, yeah, other computing stuff besides windsock,

239
00:12:37,759 --> 00:12:39,159
we have a good operating system year. This is the

240
00:12:39,240 --> 00:12:43,440
year that free bsd gets released. Microsoft puts out m

241
00:12:43,519 --> 00:12:47,799
STAS six NT three one, the original NT without a Guy,

242
00:12:48,360 --> 00:12:51,799
and Visual Basic three. One of the best proof points

243
00:12:51,799 --> 00:12:53,759
that the third versions of things made by Microsoft are

244
00:12:53,759 --> 00:12:58,240
the best ones. Yes, the first Intel Pentium ships, they

245
00:12:58,240 --> 00:13:00,240
didn't want to call it the five eighty six because

246
00:13:00,240 --> 00:13:01,759
they've been doing the two eighty six, three eighty six,

247
00:13:01,840 --> 00:13:05,320
forty six things. They pent as in five and it's

248
00:13:05,360 --> 00:13:08,039
a whole three million transistors and three hundred megahurts.

249
00:13:08,159 --> 00:13:10,399
Speaker 1: Had a hard time keeping that thing cool, didn't they.

250
00:13:11,200 --> 00:13:13,279
Speaker 3: The later pen the first Gigaherts pendiums are the ones

251
00:13:13,320 --> 00:13:14,440
that were really tough to cool.

252
00:13:14,480 --> 00:13:17,440
Speaker 1: But wasn't that the thing that sort of triggered the

253
00:13:17,879 --> 00:13:23,320
more process or more CPUs on a core, more cores

254
00:13:23,360 --> 00:13:24,000
on a CPU.

255
00:13:24,080 --> 00:13:26,759
Speaker 3: We're a few years away from that, yet this is

256
00:13:26,799 --> 00:13:30,360
the beginning of that problem that as you research of density,

257
00:13:30,399 --> 00:13:33,360
the temperature gets up too high, so and they can't

258
00:13:33,399 --> 00:13:35,720
keep the cycle rates increasingly. We're three hundred mega hurts.

259
00:13:35,720 --> 00:13:38,360
We're going to keep running up over at gigahertz and

260
00:13:38,399 --> 00:13:41,399
so forth. We're going to peek around three or four,

261
00:13:42,080 --> 00:13:43,919
and then we're going to back off because it's just

262
00:13:44,080 --> 00:13:47,480
so much electron erosion and problems. And now now we're

263
00:13:47,480 --> 00:13:50,039
starting to creep up again because new designs are working better. Yeah,

264
00:13:50,960 --> 00:13:53,080
a couple of last things and we'll move on. Two

265
00:13:53,200 --> 00:13:57,240
important games in nineteen ninety three. One of them is

266
00:13:57,759 --> 00:14:03,919
missed by broder Bond first real multi media game, So

267
00:14:04,080 --> 00:14:08,080
am be in such experiential Yeah, I loved it, really

268
00:14:08,080 --> 00:14:10,120
set the class and it is a you know, not

269
00:14:10,200 --> 00:14:11,559
just gave me the year, but al eamn, a game

270
00:14:11,600 --> 00:14:14,279
of the decade or more. And the story was it

271
00:14:14,320 --> 00:14:16,639
was all about the story, right totally. It was like

272
00:14:16,679 --> 00:14:19,960
in this slow discovery playing a movie. No narration, Yeah right,

273
00:14:20,039 --> 00:14:21,840
you just had to figure it out. It was great.

274
00:14:21,840 --> 00:14:25,200
And the other game for mid software Doom. Yeah, first

275
00:14:25,240 --> 00:14:27,440
person Shooter. Yep. And that's what I got, all right.

276
00:14:27,519 --> 00:14:30,120
Speaker 1: Before I move on to Better Know Framework, let's just

277
00:14:30,200 --> 00:14:34,600
quickly go over the top ten selling albums worldwide nineteen

278
00:14:34,679 --> 00:14:39,080
ninety three. The hits the B sides by Prince Key

279
00:14:39,159 --> 00:14:44,240
tracks are seven and Cream if you remember that one. Yeah,

280
00:14:44,320 --> 00:14:47,559
the chronic by Doctor Dre Nutting, but a g thang

281
00:14:47,639 --> 00:14:51,279
Let Me Ride. We talked about that last show because

282
00:14:51,279 --> 00:14:55,519
it's still going on. Eric Clapton Unplugged is still there.

283
00:14:55,879 --> 00:15:01,360
Number eight, Tears in Heaven and Laila Versus Pearl Jam,

284
00:15:02,879 --> 00:15:07,039
Number seven, Daughter Go and Animal The big hits there

285
00:15:07,320 --> 00:15:11,960
Janet Jackson estimated sales fourteen plus million. That's the Way

286
00:15:12,000 --> 00:15:17,960
Love Goes If and Again, ten Summoners Tales by Sting,

287
00:15:19,639 --> 00:15:21,720
If I ever Lose my faith in You, Fields of

288
00:15:21,759 --> 00:15:26,000
Gold in Shape of My Heart, Great songs Aerosmith puts

289
00:15:26,000 --> 00:15:29,679
Out Get a Grip Number four estimated sales twenty plus million.

290
00:15:30,440 --> 00:15:33,919
Tunes like Living on the Edge, Crying Crazy and Amazing

291
00:15:36,639 --> 00:15:39,399
Number three, Bat Out of Hell two Back into Hell

292
00:15:39,480 --> 00:15:43,200
by meat Loaf. I do anything for love, but I

293
00:15:43,240 --> 00:15:47,080
won't do that. You had such a great sense of humor,

294
00:15:48,000 --> 00:15:51,799
and then rock and roll dreams come through. Number two

295
00:15:51,879 --> 00:15:54,840
The Bodyguard. We talked about that, Whitney Houston. I Will

296
00:15:54,879 --> 00:15:57,399
Always Love You, I Have Nothing and I'm every Woman.

297
00:15:57,840 --> 00:16:04,000
Number two in nineteen ninety one, forty five plus million sold,

298
00:16:04,039 --> 00:16:08,480
and the number one selling is Music Box by Mariah

299
00:16:08,559 --> 00:16:12,759
Carey twenty eight to thirty two million, Dream Lover, Hero,

300
00:16:13,000 --> 00:16:17,399
Without You and Anytime You Need a Friend. And that's

301
00:16:17,559 --> 00:16:21,120
it for our nineteen ninety three review. I guess now

302
00:16:21,159 --> 00:16:24,039
it's time for better, no framework, awesome.

303
00:16:25,799 --> 00:16:31,000
Speaker 3: It's.

304
00:16:31,480 --> 00:16:31,879
Speaker 1: A man.

305
00:16:31,879 --> 00:16:32,279
Speaker 3: What do you got?

306
00:16:32,519 --> 00:16:32,600
Speaker 4: Well?

307
00:16:32,679 --> 00:16:34,320
Speaker 1: Last week I talked about t unit.

308
00:16:34,440 --> 00:16:36,720
Speaker 3: Yes, remember yep, Simon Krapp.

309
00:16:36,799 --> 00:16:39,240
Speaker 1: Well, no, he didn't write it, He just brought it

310
00:16:39,240 --> 00:16:42,639
to our attention. And then he went on to write

311
00:16:42,679 --> 00:16:46,360
a tool called t unit migrator. Oh, that's a dot

312
00:16:46,399 --> 00:16:49,600
net tool that migrates test projects from MS test and

313
00:16:49,840 --> 00:16:53,720
unit x unit and x unit v three to t

314
00:16:53,960 --> 00:16:57,120
unit because he really loves t unit. Well, this is

315
00:16:57,519 --> 00:17:02,559
who wouldn't love t unit. This is the classic developer

316
00:17:02,600 --> 00:17:05,640
open source project. You need it for yourself and you

317
00:17:05,680 --> 00:17:07,799
think other people would benefit from it, so you make

318
00:17:07,839 --> 00:17:10,119
a tool and happily share it. Yeah, and that's what

319
00:17:10,200 --> 00:17:12,240
it is, it's cool and of course t unit is

320
00:17:12,279 --> 00:17:15,359
a modern testing framework for dot net that uses source

321
00:17:15,519 --> 00:17:21,920
generated tests in parallel execution, native AOT support and it's

322
00:17:21,920 --> 00:17:24,640
all good stuff and it's the new hotness and unit

323
00:17:24,720 --> 00:17:29,039
testing and that's it. Richard, who's talking to us.

324
00:17:28,920 --> 00:17:31,839
Speaker 3: Today grabbing comment off a show seventeen eighty five which

325
00:17:31,839 --> 00:17:34,480
you did back in twenty two talking to Dan Walmsley

326
00:17:34,519 --> 00:17:37,160
about Avalonia one point zero because I know we're going

327
00:17:37,200 --> 00:17:40,480
to get a little chance to revisit Avalonia and we

328
00:17:40,519 --> 00:17:42,400
have comment on the show from Aaron Stalisbury this a

329
00:17:42,400 --> 00:17:44,359
few years ago where he says I've been using Avalonia

330
00:17:44,359 --> 00:17:47,759
for desktop and it's been a pleasure. It's one project

331
00:17:47,799 --> 00:17:50,200
and everything just works. It might help people to know

332
00:17:50,400 --> 00:17:54,839
that they getthub repo Avalodia community slash awesome. Avalonia curates

333
00:17:54,880 --> 00:17:58,640
a great collection of add ons. I love the air

334
00:17:58,680 --> 00:18:02,079
awesome lists. Yeah, thanks for your info. Hope it helps people,

335
00:18:02,160 --> 00:18:04,200
though committedly it's a few years old. And a copy

336
00:18:04,240 --> 00:18:05,440
of music codey is on its way to you, and

337
00:18:05,480 --> 00:18:06,920
if you'd like a copy of music Cobey, I write

338
00:18:06,920 --> 00:18:08,759
a comment on the website at dot at rocks dot

339
00:18:08,759 --> 00:18:10,799
com or on the Facebook's publish every show there, Andy

340
00:18:10,880 --> 00:18:12,480
comment there, I'll read it on the show was at

341
00:18:12,519 --> 00:18:13,880
your copy of music O Music.

342
00:18:13,640 --> 00:18:17,440
Speaker 1: To Code by Still Going Strong twenty two tracks, twenty

343
00:18:17,480 --> 00:18:19,680
five minutes each designed to keep you in a state

344
00:18:19,680 --> 00:18:21,960
of flow while you're writing code. You can get it

345
00:18:21,960 --> 00:18:25,680
at music toocode by dot Net. All right, so I

346
00:18:25,680 --> 00:18:31,279
guess it's time, after this horribly long introduction to introduce

347
00:18:32,119 --> 00:18:35,000
Mike James and Matt Lacy. Mike is the CEO of

348
00:18:35,039 --> 00:18:38,680
Avalonia UI. He has spent his entire career focused on

349
00:18:38,839 --> 00:18:43,920
crossplat development, starting as a developer building with QT before

350
00:18:44,039 --> 00:18:48,240
joining Zamorin and subsequently Microsoft. He has dedicated his career

351
00:18:48,240 --> 00:18:52,000
to enabling developers to build apps for every platform. He's

352
00:18:52,039 --> 00:18:56,559
now focused on continuing the mission with Avalonia UI. And

353
00:18:56,640 --> 00:19:00,839
Matt Lacy is a software developer at Avalonia, building software

354
00:19:00,880 --> 00:19:03,720
since the late nineties and has worked on more platforms

355
00:19:03,720 --> 00:19:07,240
and in more languages than he can remember over the years.

356
00:19:07,279 --> 00:19:09,799
I don't know, does say something about your memory or

357
00:19:09,920 --> 00:19:11,359
about the number of platforms.

358
00:19:11,799 --> 00:19:12,640
Speaker 6: I'm going to say both.

359
00:19:14,480 --> 00:19:17,680
Speaker 1: Over the years, he's created systems that have processed hundreds

360
00:19:17,680 --> 00:19:20,519
of millions of dollars in transactions and apps that have

361
00:19:20,559 --> 00:19:24,759
been installed more than half a billion times today. His

362
00:19:24,920 --> 00:19:29,000
focus is on helping other developers build software that generally

363
00:19:29,640 --> 00:19:34,400
genuinely delivers value to the people who use it. He's

364
00:19:34,480 --> 00:19:37,359
also an author and has been a Microsoft MVP since

365
00:19:37,400 --> 00:19:41,400
twenty fifteen. Welcome guys. Hey, I guess we're going to

366
00:19:41,440 --> 00:19:44,519
start with the state of Avalonia. We've talked to death

367
00:19:44,559 --> 00:19:46,039
about what it is, and if you don't know what

368
00:19:46,079 --> 00:19:48,559
it is, just go do that on your own time.

369
00:19:48,799 --> 00:19:51,599
We know what it is. What's going on with Abolonia, Well.

370
00:19:51,759 --> 00:19:55,480
Speaker 5: There's so much going on with Ablonia. It feels like

371
00:19:55,559 --> 00:19:59,599
more has happened in the last twelve months than the

372
00:19:59,680 --> 00:20:05,960
last twelve years. We've got the open source which was

373
00:20:06,119 --> 00:20:13,319
created in twenty thirteen. That's been like a slow adoption

374
00:20:14,000 --> 00:20:17,680
over those initial years, and then the snowball is just

375
00:20:18,279 --> 00:20:22,839
picking up speed, and so we've seen just a huge

376
00:20:22,839 --> 00:20:27,000
amount of growth from the community just picking it up.

377
00:20:27,680 --> 00:20:28,279
Speaker 4: It's all.

378
00:20:29,759 --> 00:20:32,319
Speaker 5: People just recommending it to each other, which is lovely.

379
00:20:32,640 --> 00:20:36,279
We don't have any sales or marketing. It's all just

380
00:20:36,480 --> 00:20:37,480
natural word of mouth.

381
00:20:38,480 --> 00:20:39,000
Speaker 1: Good time.

382
00:20:39,400 --> 00:20:43,480
Speaker 5: Yeah, and then like the team is now seventeen people,

383
00:20:43,480 --> 00:20:45,480
so we've got a load of folks that's working on

384
00:20:45,759 --> 00:20:51,920
building this out to try and deliver on the goal

385
00:20:52,000 --> 00:20:56,519
of creating the best UI framework for donnet. So, yeah,

386
00:20:56,519 --> 00:20:58,440
there's just a ton of things that have been happening.

387
00:20:58,519 --> 00:21:00,359
It's difficult to know where to even begin.

388
00:21:00,839 --> 00:21:02,319
Speaker 1: Matt, you want to throw in your two cents. It

389
00:21:02,319 --> 00:21:04,319
looks like you're smiling there, you've got an idea of

390
00:21:04,319 --> 00:21:04,799
how to begin.

391
00:21:05,359 --> 00:21:11,000
Speaker 6: No, I'm smiling because I recognizing the size of the topic. Yeah, okay, Yeah,

392
00:21:11,039 --> 00:21:13,079
So I joined the company at the end of last

393
00:21:13,119 --> 00:21:16,119
year having been well aware of them for a long

394
00:21:16,160 --> 00:21:20,720
time and having seen that being one of a number

395
00:21:20,759 --> 00:21:23,440
of companies and projects in the same sort of cross

396
00:21:23,480 --> 00:21:26,960
platform dot net space. And when I joined, what really

397
00:21:27,000 --> 00:21:31,319
surprised me was the number of people who are using it.

398
00:21:31,319 --> 00:21:31,720
Speaker 4: It's this.

399
00:21:33,839 --> 00:21:35,880
Speaker 6: People have gone out and found it and fallen in

400
00:21:35,920 --> 00:21:38,839
love with it and just been using it and building

401
00:21:39,519 --> 00:21:42,920
really big projects and really sort of core and key

402
00:21:43,000 --> 00:21:46,799
line of business apps. And you know, the team's not

403
00:21:46,839 --> 00:21:49,759
been shouting about all they've been doing, but lots of

404
00:21:49,799 --> 00:21:52,519
people are using it to build some really powerful things.

405
00:21:53,519 --> 00:21:58,160
And there's all sorts of partnerships and other projects which

406
00:21:58,200 --> 00:22:01,440
have sort of come along in response to that, just

407
00:22:01,720 --> 00:22:06,599
as the wider ecosystem has recognized what's there and what's possible.

408
00:22:06,680 --> 00:22:10,119
Speaker 1: Partnerships with say Google or Maui.

409
00:22:09,880 --> 00:22:10,799
Speaker 4: Yeah, both of those.

410
00:22:12,000 --> 00:22:16,720
Speaker 5: So the Google ones I think really interesting because so

411
00:22:17,279 --> 00:22:18,720
one of the things that we have to do as

412
00:22:18,799 --> 00:22:22,240
platform stewards is to think about the next five ten years.

413
00:22:23,079 --> 00:22:29,480
So we cater to largely speaking to enterprises. It's those

414
00:22:29,559 --> 00:22:33,119
line of business apps, and those enterprises want long term stability,

415
00:22:33,279 --> 00:22:36,799
so we have to kind of look out part the

416
00:22:36,839 --> 00:22:41,759
immediate horizon to decide where do we want to push

417
00:22:41,759 --> 00:22:45,920
the framework. A key part of that is performance and

418
00:22:46,119 --> 00:22:50,680
the rendering stack, and we've used skier Sharp for years.

419
00:22:50,759 --> 00:22:53,200
It's been the bedrock of how we've been able to

420
00:22:53,200 --> 00:22:58,559
go cross platform. But if you look at Flutter and

421
00:22:58,160 --> 00:23:04,559
their moves towards Impeller, which is much more performance for

422
00:23:04,640 --> 00:23:07,119
tiling based GPUs, which is what you're going to see

423
00:23:07,119 --> 00:23:10,039
on your phones, but also if you've got a modern

424
00:23:10,480 --> 00:23:15,880
Mac that's a tiling based GPU. So we're kind of

425
00:23:15,880 --> 00:23:18,759
looking at the border ecosystem and seeing these opportunities for

426
00:23:18,960 --> 00:23:22,519
improvements within Avalonia that aren't you know, an immediate win,

427
00:23:23,720 --> 00:23:28,759
but something to kind of aspire to be building. We

428
00:23:29,119 --> 00:23:32,039
create lots of experiments and one of those was around below,

429
00:23:32,640 --> 00:23:36,200
and the folks from Impella on the Flutter team reached

430
00:23:36,200 --> 00:23:39,079
out and said, is there any interest in a collaboration.

431
00:23:41,400 --> 00:23:45,039
Our minds were like, our minds were blown because number one,

432
00:23:45,079 --> 00:23:47,680
they were praising Avalonia and saying that they've been following

433
00:23:47,680 --> 00:23:51,279
the project for years from the sidelines. And it's like

434
00:23:51,400 --> 00:23:53,680
the fact that there's folks on the Flutter team that

435
00:23:53,799 --> 00:23:56,519
are even aware of Avalonia.

436
00:23:56,200 --> 00:23:58,799
Speaker 3: Is that you even know my name precisely?

437
00:23:59,119 --> 00:23:59,920
Speaker 1: Are you kidding me?

438
00:24:00,759 --> 00:24:04,319
Speaker 5: Yeah, So there's a huge sense of pride in that.

439
00:24:05,400 --> 00:24:07,000
But we get on the call and we chat with them,

440
00:24:07,000 --> 00:24:11,559
and it's, you know, engineers to engineers, and there's this

441
00:24:12,000 --> 00:24:16,759
common goal of how can we take impeller and enable

442
00:24:16,799 --> 00:24:21,079
it to work for more than just Flutter developers, and

443
00:24:21,119 --> 00:24:23,079
so in our case, it's dot net, so we want

444
00:24:23,079 --> 00:24:26,920
to bring it toward dot net developers. But to do that,

445
00:24:26,960 --> 00:24:30,720
there's some difficult engineering work that needs to happen on

446
00:24:30,839 --> 00:24:34,519
both sides because it is designed very much for Flutter,

447
00:24:35,599 --> 00:24:37,039
it's not really designed to.

448
00:24:37,079 --> 00:24:39,759
Speaker 3: Be used and Flatter has its own sort of approach

449
00:24:39,880 --> 00:24:42,640
to you I which I always thought was very mobile centric,

450
00:24:42,680 --> 00:24:44,880
that kind of flow design.

451
00:24:45,279 --> 00:24:49,119
Speaker 5: Yeah, but even just at the Impeller level, it's made

452
00:24:49,160 --> 00:24:54,160
assumptions that it's a very different beast to Skier. So

453
00:24:54,240 --> 00:24:57,599
it's made assumptions that are challenging for us. So you know,

454
00:24:57,680 --> 00:25:01,480
we have to collaborate to to work out where do

455
00:25:01,559 --> 00:25:03,559
we where do we make those changes. Do we do

456
00:25:03,599 --> 00:25:06,359
it in Impeller where it's going to help other projects

457
00:25:06,359 --> 00:25:09,200
that might want to take on that dependency, or do

458
00:25:09,279 --> 00:25:12,440
we change our rendering back end to adjust to the

459
00:25:12,480 --> 00:25:13,440
way that Impeller works.

460
00:25:13,440 --> 00:25:14,279
Speaker 4: So there's like this.

461
00:25:15,960 --> 00:25:19,119
Speaker 1: One more time. Tell me more about Impala. You said

462
00:25:19,119 --> 00:25:21,799
you changed from Skia Sharp to impoler. Is Impala your

463
00:25:21,839 --> 00:25:23,720
thing or is it an open source project?

464
00:25:23,960 --> 00:25:24,599
Speaker 4: You?

465
00:25:25,039 --> 00:25:29,559
Speaker 5: Yeah, so it's from Google. It's it's their replacement to Skier.

466
00:25:29,680 --> 00:25:32,240
So ski has been around for years. If you use

467
00:25:32,279 --> 00:25:37,000
Google Chrome, that's powered by Skier. It's the two D

468
00:25:37,160 --> 00:25:41,640
graphics library. So you're drawing. If you need to draw

469
00:25:41,759 --> 00:25:44,640
anything in an app, you're probably going to use Skier

470
00:25:44,720 --> 00:25:48,079
set or ski sharp within the dot ecosystem.

471
00:25:47,599 --> 00:25:49,640
Speaker 3: Right, this is from the Mano stack.

472
00:25:49,599 --> 00:25:53,119
Speaker 4: Exactly that said Miguel created.

473
00:25:53,240 --> 00:25:57,839
Speaker 5: I think did the first set of commits, huge, huge,

474
00:25:57,880 --> 00:26:00,359
number of commits, and then Matthew came in and took

475
00:26:00,359 --> 00:26:05,200
it over when we were at Zamarin, and it's allowed

476
00:26:05,279 --> 00:26:07,200
us to go cross platform. So we have this cross

477
00:26:07,200 --> 00:26:14,599
platform drawing functionality that works everywhere. But as I say,

478
00:26:14,680 --> 00:26:18,559
it's it's been replaced on the flatter side with Impeller,

479
00:26:18,559 --> 00:26:21,960
which is the new two D graphics rendering library that

480
00:26:22,640 --> 00:26:25,319
is much more optimized for modern GPUs.

481
00:26:25,759 --> 00:26:26,039
Speaker 3: Right.

482
00:26:26,119 --> 00:26:29,400
Speaker 5: So, as I say, it's that tile tile based GPUs,

483
00:26:29,440 --> 00:26:31,519
which is what you've got on your phone, it's what

484
00:26:31,559 --> 00:26:35,720
you've got in your your max your modern desktop GPUs

485
00:26:35,799 --> 00:26:38,680
can you can still get some performance increase, but it's

486
00:26:38,759 --> 00:26:41,480
nowhere near as significant as if you were.

487
00:26:41,440 --> 00:26:44,799
Speaker 3: Although to be clear desktop GPUs, you know you're not

488
00:26:44,880 --> 00:26:47,720
struggling to render on a desktob GPU.

489
00:26:47,680 --> 00:26:50,240
Speaker 4: No exactly that. But you know I've got this.

490
00:26:50,359 --> 00:26:52,640
Speaker 5: I mean, it doesn't help your podcast listeners, but I've

491
00:26:52,680 --> 00:26:55,039
got a little rasbry pie with a screen.

492
00:26:54,759 --> 00:26:57,559
Speaker 3: Attached to it, right, great device, and it's it. I

493
00:26:57,599 --> 00:26:59,519
love these, Yeah, but.

494
00:26:59,519 --> 00:27:01,720
Speaker 5: This is the kind of device where you want to

495
00:27:02,160 --> 00:27:04,920
extract as much performance out of it as possible.

496
00:27:05,119 --> 00:27:07,799
Speaker 3: Yeah, cycles count in that little pie.

497
00:27:07,880 --> 00:27:10,359
Speaker 5: Exactly that, And this is I mean, this pie is

498
00:27:10,400 --> 00:27:12,880
considered a high powered device for some of the things

499
00:27:12,920 --> 00:27:16,160
that we run on. Sure, you'd be surprised at just

500
00:27:16,200 --> 00:27:20,759
how low the hardware aspects for some of these devices

501
00:27:20,759 --> 00:27:24,599
that we support can go to ESP two's I don't

502
00:27:24,640 --> 00:27:27,720
think the oldest that we're running on in production. It's

503
00:27:27,759 --> 00:27:31,559
like a five hundred megahertz thirty two bit ARM CPU

504
00:27:31,640 --> 00:27:32,680
from two thousand and two.

505
00:27:32,920 --> 00:27:34,759
Speaker 4: Okay.

506
00:27:34,559 --> 00:27:38,119
Speaker 5: We spent a very very long time with that customer

507
00:27:38,240 --> 00:27:41,839
optimizing everything to make that work.

508
00:27:41,960 --> 00:27:44,039
Speaker 3: Oh man, you got to call the ball on that

509
00:27:44,079 --> 00:27:46,519
one too, Like, is it worth it for such a

510
00:27:46,599 --> 00:27:47,039
one off?

511
00:27:47,160 --> 00:27:50,000
Speaker 4: Oh, it was worth it. Yeah.

512
00:27:50,079 --> 00:27:52,480
Speaker 5: It was an important customer and a relationship that we

513
00:27:52,559 --> 00:27:57,079
wanted to maintain core and that records through of course everything.

514
00:27:57,119 --> 00:27:59,400
If we can get those performance increases on.

515
00:27:59,559 --> 00:28:03,160
Speaker 3: If you can optimized for a five hundred megahertz ARM device,

516
00:28:03,799 --> 00:28:05,799
my life's going to be pretty easy. Running around in

517
00:28:05,839 --> 00:28:09,680
my four gigar hurts, you know, Pentium or inteled Ultra

518
00:28:09,759 --> 00:28:11,720
of nine exactly that.

519
00:28:12,240 --> 00:28:16,599
Speaker 5: So, yeah, Impeller is it's going to be the future.

520
00:28:16,759 --> 00:28:20,880
We think of the rendering stack for Avalonia right now,

521
00:28:20,920 --> 00:28:24,720
we're still using Skier sharp Avalonia twelve. We'll ship with

522
00:28:24,839 --> 00:28:29,839
skier Sharp as the default. We will bring Impeller probably

523
00:28:29,920 --> 00:28:35,039
within V twelve, so maybe zero point two, three point four,

524
00:28:35,240 --> 00:28:37,440
not sure when, but it will come when it's ready.

525
00:28:39,599 --> 00:28:43,319
And we're using V twelve as an opportunity to experiment

526
00:28:43,359 --> 00:28:48,079
with different back ends and different rendering technologies to see

527
00:28:48,119 --> 00:28:50,960
what works. And we're going to release various different proof

528
00:28:50,960 --> 00:28:54,640
of concepts as previews and see what sticks, what do

529
00:28:54,720 --> 00:29:00,279
people like, what's the most performant, and kind of us

530
00:29:00,400 --> 00:29:02,920
up for when we ship B thirteen that we can

531
00:29:02,960 --> 00:29:07,440
move stuff into stable and that can start to replace

532
00:29:07,480 --> 00:29:08,119
SKEA shop.

533
00:29:08,400 --> 00:29:08,799
Speaker 1: Very good.

534
00:29:09,079 --> 00:29:13,079
Speaker 3: How many apps out there running Avalonia are for mobile

535
00:29:13,279 --> 00:29:16,519
versus small form factor versus desktop?

536
00:29:17,079 --> 00:29:21,799
Speaker 4: Yea. Mobile has historically not been our strength.

537
00:29:22,759 --> 00:29:25,200
Speaker 3: Yeah, that's my thought has always been you with the guys,

538
00:29:25,279 --> 00:29:28,920
you sold the WPF problem for me, right exactly.

539
00:29:28,519 --> 00:29:28,680
Speaker 4: That.

540
00:29:30,240 --> 00:29:32,759
Speaker 5: We can do mobile, but we've just never shipped like

541
00:29:32,880 --> 00:29:38,319
mobile focused controls. So we're fixing that with V twelve,

542
00:29:39,799 --> 00:29:46,759
people are shipping mobile apps. Is it comparable to Flutter, No,

543
00:29:47,799 --> 00:29:53,240
we are very much. Still the best experience is still desktop. Sure,

544
00:29:53,599 --> 00:29:56,160
but there's always been this dichotomy. If you're really good

545
00:29:56,200 --> 00:29:59,440
at mobile, you struggle mightily on the desktop, and if

546
00:29:59,440 --> 00:30:01,960
you're really good at desktop, it's tough to fit it

547
00:30:01,960 --> 00:30:02,559
in the marble.

548
00:30:03,039 --> 00:30:03,960
Speaker 4: Yeah, it's I.

549
00:30:04,000 --> 00:30:07,640
Speaker 5: Mean, just look at mac Catalyst. If you take a

550
00:30:07,680 --> 00:30:09,599
mobile app and run it on a desktop, you're going

551
00:30:09,680 --> 00:30:12,480
to have some unhappy desktop users. And if you take

552
00:30:12,519 --> 00:30:14,839
a desktop app and try and strip it down into

553
00:30:14,880 --> 00:30:17,759
a mobile app, then you've got unhappy mobile users. You

554
00:30:17,799 --> 00:30:21,240
have to think a cross platform doesn't mean that you

555
00:30:21,240 --> 00:30:23,559
should be reusing one hundred percent of your code across

556
00:30:23,599 --> 00:30:26,920
every platform. You do need to be kind of cognizant

557
00:30:27,000 --> 00:30:33,079
of the different ux paradigms of each platform. Yeah, but

558
00:30:33,480 --> 00:30:38,240
we're strong on mobile from a technical perspective, it's the

559
00:30:38,240 --> 00:30:42,039
the controls that we're lacking. Performance is good, especially with

560
00:30:42,079 --> 00:30:45,799
the V twelve release, but our strength is really desktop

561
00:30:45,799 --> 00:30:50,920
and embedded. Embedded is really where we shine interesting business.

562
00:30:51,160 --> 00:30:53,680
Speaker 1: Well, this seems like a good point to break, so

563
00:30:53,799 --> 00:30:59,799
we'll be right back after these messages don't go away,

564
00:31:01,039 --> 00:31:03,880
and we're back at starting at Rocks. I'm Carl Frank Glence,

565
00:31:03,920 --> 00:31:06,960
my friend Richard Campbell, and Mike and Mattner here talking

566
00:31:06,960 --> 00:31:10,200
about Avalonia and one of the things that I thought

567
00:31:10,200 --> 00:31:12,400
about when you said that we're not you know, we

568
00:31:12,440 --> 00:31:15,519
can do mobile, but that's not our main focus. Was

569
00:31:15,519 --> 00:31:18,720
that one of the was that an impetus to partner

570
00:31:18,799 --> 00:31:21,519
with Maui or how did that relationship come.

571
00:31:22,000 --> 00:31:25,519
Speaker 5: I mean, I've always my background is zama and I

572
00:31:25,640 --> 00:31:31,000
joined zamoring in twenty thirteen. I stayed through the acquisition.

573
00:31:31,680 --> 00:31:37,799
When I joined zamorin, it was mono touch monodroid right.

574
00:31:39,119 --> 00:31:42,799
It was we had monotuchdot dialogue. I don't know if

575
00:31:42,839 --> 00:31:46,680
anyone remembers that, but that's how I got into the

576
00:31:46,759 --> 00:31:50,359
zamora and ecosystem was through mcguel's library, which was a

577
00:31:50,400 --> 00:31:55,440
precursor to zamor in forms. So I've always had good

578
00:31:55,480 --> 00:32:01,680
relationships and connections into the zamoring team and the Maui team.

579
00:32:01,880 --> 00:32:03,519
Once they did the rebuild.

580
00:32:05,440 --> 00:32:07,960
Speaker 4: The Maui thing comes about.

581
00:32:08,160 --> 00:32:10,759
Speaker 5: I was sat in a cafe with Joseph Hill, who

582
00:32:10,839 --> 00:32:14,039
was a co founder of Zamorin, and we were just

583
00:32:14,160 --> 00:32:18,319
chatting about Avalonia and what do we want to do?

584
00:32:18,359 --> 00:32:20,039
Speaker 4: And I mentioned in passing that.

585
00:32:20,359 --> 00:32:22,559
Speaker 5: It would be really cool if we could build out

586
00:32:22,599 --> 00:32:27,160
a back end for Maui based on Avalonia. It would

587
00:32:27,200 --> 00:32:30,559
solve some problems for Maui because it would give them

588
00:32:30,759 --> 00:32:35,519
Web and Linux immediately. I know that they've wanted drawn

589
00:32:35,640 --> 00:32:39,160
UI for a while as an option, So that you

590
00:32:39,200 --> 00:32:41,960
get native or drawn, you get to pick and then

591
00:32:42,000 --> 00:32:45,319
from outside. I mean it's not purely altruistic from our side.

592
00:32:45,359 --> 00:32:49,680
We've hired several folks from Microsoft that know that code

593
00:32:49,680 --> 00:32:53,680
based very well, and by doing this it helps us

594
00:32:53,680 --> 00:32:56,200
fill in the gaps on our mobile side. So you know,

595
00:32:56,240 --> 00:33:00,559
we're going to have the navigation control that's is working

596
00:33:00,599 --> 00:33:04,720
on at the moment and additional APIs that were missing

597
00:33:04,799 --> 00:33:07,279
in Avalonia that just make us a bit more competitive

598
00:33:07,319 --> 00:33:11,920
on the mobile side. So it's mutually beneficial for everyone.

599
00:33:12,319 --> 00:33:18,759
Speaker 1: Yeah, that's pretty obvious. And so you were mentioning drawing

600
00:33:19,039 --> 00:33:22,440
the UI, like, are we talking about visual basic style?

601
00:33:23,240 --> 00:33:26,039
Speaker 4: So you mean like a rad where you're dragging and dropping?

602
00:33:26,279 --> 00:33:28,279
Speaker 1: Yeah, is that what you mean by drawing the UI?

603
00:33:28,640 --> 00:33:28,839
Speaker 3: No?

604
00:33:29,119 --> 00:33:31,839
Speaker 4: So I mean, I mean this all gets a bit.

605
00:33:32,599 --> 00:33:34,680
Speaker 5: It turtles all the way down when you think about

606
00:33:34,720 --> 00:33:39,319
it too deeply. But we draw onto a canvas. So

607
00:33:39,480 --> 00:33:43,359
if you think about how with wind forms you're effectively

608
00:33:43,359 --> 00:33:49,119
wrapping Win thirty two controls, but with WPF it's just

609
00:33:49,200 --> 00:33:51,279
a direct x canvas that you're drawing into.

610
00:33:51,599 --> 00:33:51,839
Speaker 4: Yeah.

611
00:33:53,119 --> 00:33:54,680
Speaker 1: So when you say drawing, you mean with code.

612
00:33:54,799 --> 00:33:56,880
Speaker 4: Yeah, so it goes down to WPF.

613
00:33:56,880 --> 00:33:59,519
Speaker 5: It's into mil core, which is a media integration layer,

614
00:33:59,559 --> 00:34:02,319
and that was onto directex canvas. So when you ask

615
00:34:02,319 --> 00:34:05,880
for a button, you're not getting a Win thirty two button.

616
00:34:06,680 --> 00:34:10,039
WPF is just drawing a button for you. We're the same,

617
00:34:10,079 --> 00:34:12,519
but we're not using directexs. We're using Skier, So it's

618
00:34:12,559 --> 00:34:17,280
cross platform. And then I think there's an interesting discussion

619
00:34:17,440 --> 00:34:20,679
there about what is native because lots of people will

620
00:34:20,679 --> 00:34:24,760
say that Avalonia isn't native, but WPF is, and then

621
00:34:25,199 --> 00:34:28,519
it's like, well is it? How are we divining native?

622
00:34:29,000 --> 00:34:29,239
Speaker 3: Yeah?

623
00:34:30,559 --> 00:34:33,280
Speaker 4: So yeah, I could talk about that for hours.

624
00:34:34,280 --> 00:34:37,079
Speaker 3: Well, the whole discussion of what is native is interesting

625
00:34:37,159 --> 00:34:38,320
or by itself.

626
00:34:39,119 --> 00:34:45,440
Speaker 5: It really is, especially when you think how web technology

627
00:34:45,480 --> 00:34:47,679
as well is actually rendered and how you're getting down

628
00:34:47,679 --> 00:34:51,320
to pixels on the screen. Like, it's hard to argue

629
00:34:51,320 --> 00:34:56,360
that web isn't actually equally as native as WPF, so

630
00:34:56,719 --> 00:34:59,039
it all comes a bit blurry when you stare at

631
00:34:59,079 --> 00:34:59,679
it too long.

632
00:35:00,159 --> 00:35:03,880
Speaker 1: Well, the whole I mean is that even a I

633
00:35:03,880 --> 00:35:05,800
don't know, that seems like it was more of an

634
00:35:05,880 --> 00:35:08,199
issue back in the VB days where you know you

635
00:35:08,239 --> 00:35:12,360
had interpreted versus native code, and you know that was

636
00:35:12,400 --> 00:35:15,440
so much faster. Now machines are so fast that does

637
00:35:15,440 --> 00:35:15,880
it matter?

638
00:35:16,079 --> 00:35:16,320
Speaker 4: Yeah?

639
00:35:16,480 --> 00:35:18,280
Speaker 1: Is that a plus an argument? Anymore?

640
00:35:18,360 --> 00:35:23,599
Speaker 3: Native also means not compatible? Yeah, right, if you're poking

641
00:35:23,679 --> 00:35:26,719
into memory in a video card, you better be very

642
00:35:26,760 --> 00:35:30,800
sure of everything. There are distraction layers for a reason, right.

643
00:35:31,000 --> 00:35:31,280
Speaker 4: Yeah.

644
00:35:31,320 --> 00:35:35,159
Speaker 5: But in terms of like the VB six drag and

645
00:35:35,239 --> 00:35:40,760
drop Brad style, this is something that Matt, Matt will

646
00:35:40,800 --> 00:35:43,800
know that we've we've talked about massively internally about what

647
00:35:43,880 --> 00:35:49,079
the the use of that is in the in the

648
00:35:49,079 --> 00:35:52,280
future of development. Maybe Matt wants to jump in with

649
00:35:53,039 --> 00:35:55,320
some of his thoughts.

650
00:35:56,400 --> 00:36:00,679
Speaker 6: So, yeah, I want to avoid recovering topic you've covered

651
00:36:00,719 --> 00:36:02,920
many times on the show, but the idea of the

652
00:36:03,000 --> 00:36:09,239
transition between a single VB six drag and drop, I

653
00:36:09,239 --> 00:36:11,480
will drop my control here. It'll be fine, It'll be

654
00:36:11,519 --> 00:36:14,960
there for everywhere. It will always be that size screen,

655
00:36:15,039 --> 00:36:17,440
it will always be that aspect ratio. I don't have

656
00:36:17,480 --> 00:36:21,559
to think about, you know, thousands and thousands of potential

657
00:36:21,599 --> 00:36:27,760
different device permutations. That's easy, you know, it's how it

658
00:36:27,840 --> 00:36:32,400
needs to reflow and dynamic documents. And you think about

659
00:36:32,480 --> 00:36:36,360
web development and web development now is you expect the

660
00:36:36,400 --> 00:36:38,559
same website to work on the mobile and on a

661
00:36:38,639 --> 00:36:41,639
desktop and everything to reflow. And there's a reason web

662
00:36:41,679 --> 00:36:45,000
developers stopped using drag and drop. Yeah, it's because drag

663
00:36:45,039 --> 00:36:47,199
and drop is really hard when you have to account

664
00:36:47,199 --> 00:36:50,199
for all those different flows and layouts and variations.

665
00:36:50,719 --> 00:36:54,119
Speaker 1: Yeah, we've talked about this to death on this show before. Yeah,

666
00:36:54,280 --> 00:36:57,199
it's and it's not a pixel based world anymore.

667
00:36:57,440 --> 00:37:00,239
Speaker 3: When the reality is that devs would use it if

668
00:37:00,280 --> 00:37:02,559
the tool has existed, But it seems like an impossible

669
00:37:02,599 --> 00:37:06,400
tooling actually making tools that would allow you to drag

670
00:37:06,440 --> 00:37:08,679
and drop to build a UI that would also then

671
00:37:08,800 --> 00:37:12,480
have that multimodal nature. There's just a lot of information

672
00:37:12,519 --> 00:37:13,519
you have to feed into that.

673
00:37:14,239 --> 00:37:17,960
Speaker 5: We've used internally a tool for our marketing website called

674
00:37:18,000 --> 00:37:23,079
Framer so that our designer could work on it, and

675
00:37:23,119 --> 00:37:26,679
that works where you can set up breakpoints and then

676
00:37:26,800 --> 00:37:32,360
you effectively have different variants of your web page for

677
00:37:32,519 --> 00:37:38,719
each form factor and that's probably the best ux I've

678
00:37:38,760 --> 00:37:43,079
seen for it, but it's still infinitely more frustrating as

679
00:37:43,079 --> 00:37:45,800
a developer to use that ux and just go in

680
00:37:45,800 --> 00:37:46,519
and write code.

681
00:37:46,840 --> 00:37:50,239
Speaker 3: Yeah. It seems to me that the Visual Basic sixth

682
00:37:50,320 --> 00:37:53,840
designer was a point in time when the variation of

683
00:37:53,920 --> 00:37:57,639
resolution of screens was relatively small. They were ten twenty

684
00:37:57,639 --> 00:38:01,920
four x seven sixty eight and we had to fix

685
00:38:02,239 --> 00:38:06,199
UI largely menu bar across the top, you know, file

686
00:38:06,320 --> 00:38:11,920
open help and dockable windows like that was a moment, Yeah,

687
00:38:12,000 --> 00:38:15,920
and that moment has passed, Like it's just the now.

688
00:38:16,000 --> 00:38:19,159
You expect the supercomputer in your pocket to work, and

689
00:38:19,199 --> 00:38:22,159
the tablet and you're in the insert sleeve in your

690
00:38:22,199 --> 00:38:26,199
bag to work, and the forty three inch four K

691
00:38:26,400 --> 00:38:29,199
screen and in front of you or the combination of screens.

692
00:38:29,239 --> 00:38:31,159
I've got to sit in front of me right now

693
00:38:31,400 --> 00:38:34,119
to work. We just live in a different planet. You

694
00:38:34,159 --> 00:38:37,000
can't build software this way that way anymore.

695
00:38:37,119 --> 00:38:40,920
Speaker 5: I also think it went about my dead loop and

696
00:38:40,960 --> 00:38:44,679
how it's evolved in the last twelve to eighteen months

697
00:38:45,360 --> 00:38:49,440
of more often than not, if I want to change something,

698
00:38:50,239 --> 00:38:52,719
I'll open up clawed code and just prompt it and

699
00:38:52,760 --> 00:38:55,320
it will go off and it will tweet. So do

700
00:38:55,960 --> 00:38:57,880
I need a Dragon Drop designer When I can just

701
00:38:58,000 --> 00:39:00,000
ask ask my aide.

702
00:39:00,880 --> 00:39:04,239
Speaker 3: We're spending most of our time describing our software now not.

703
00:39:04,599 --> 00:39:07,440
Speaker 4: Writing precisely that I mean. I used.

704
00:39:08,760 --> 00:39:12,960
Speaker 5: Google Stitch, their AI designing tool. They've got an MCP

705
00:39:13,159 --> 00:39:16,119
server for it. I connected that up to our dev

706
00:39:16,199 --> 00:39:19,960
tools MCP, and I prompted it in the morning to

707
00:39:20,000 --> 00:39:22,760
say I wanted to build a sample app for us.

708
00:39:24,119 --> 00:39:28,239
It used Google Stitch to design it. Claude then implemented

709
00:39:28,280 --> 00:39:31,159
it and used our dead tools to confirm whether or

710
00:39:31,199 --> 00:39:35,519
not what it had created matched the images that Google

711
00:39:35,840 --> 00:39:36,599
had provided.

712
00:39:37,239 --> 00:39:40,039
Speaker 3: The testing was sort of user accepting, testing does this

713
00:39:40,119 --> 00:39:42,000
look like what you described exactly that?

714
00:39:42,119 --> 00:39:43,840
Speaker 5: And when it didn't, it would just go back and

715
00:39:43,920 --> 00:39:47,480
keep editing that. I said to it that when you're

716
00:39:47,599 --> 00:39:50,559
confident that it matches, launched the app. So I then

717
00:39:50,599 --> 00:39:54,119
went back into spreadsheets and doing boring things, and then

718
00:39:54,679 --> 00:39:57,480
was greeted with the surprise of an app launching that

719
00:39:57,920 --> 00:39:59,559
looked really nice.

720
00:40:00,280 --> 00:40:04,159
Speaker 3: I also noticed, like your Carousell scroll on the main

721
00:40:04,199 --> 00:40:10,440
page of Avalonia is mostly visualizations, because let's face it,

722
00:40:10,480 --> 00:40:12,119
that's what you want your screen to have on it

723
00:40:12,159 --> 00:40:15,800
these days, with new text interfaces and the change of

724
00:40:15,840 --> 00:40:20,199
the software anyway, what you're looking for now is visualizations

725
00:40:20,239 --> 00:40:23,440
of data that are that better suit you making decisions

726
00:40:24,239 --> 00:40:26,840
rather than clicking buttons and filling in textboxes.

727
00:40:27,199 --> 00:40:30,679
Speaker 5: Yeah, yeah, yeah, I mean the the apps that are

728
00:40:30,719 --> 00:40:35,239
on the carousel. You've got things like Lunacy, which is

729
00:40:35,280 --> 00:40:41,480
a competitors to Figma, like a hugely complex application. So

730
00:40:41,840 --> 00:40:46,480
it's it's incredible. Matt mentioned earlier, it's incredible what people

731
00:40:46,480 --> 00:40:49,920
are building with Avalonia. If we were I think, if

732
00:40:49,920 --> 00:40:54,840
we were better at marketing and enjoyed that, then we

733
00:40:54,880 --> 00:40:59,119
would probably have significantly more GitHub styles and you know,

734
00:40:59,199 --> 00:41:03,920
more blog posts and things. But we ought to focus

735
00:41:03,960 --> 00:41:06,719
on the code instead of the flashy marketing.

736
00:41:06,840 --> 00:41:09,960
Speaker 1: Are you finding a lot of your customers using the

737
00:41:10,159 --> 00:41:13,159
l m's, the cloude code and the co pilots to

738
00:41:14,159 --> 00:41:16,800
completely build out Avalonia applications?

739
00:41:16,840 --> 00:41:19,840
Speaker 5: Now, I don't think I've spoken to anyone that's built

740
00:41:19,880 --> 00:41:25,719
out an entire app using an LLM. We're enterprise focus,

741
00:41:25,840 --> 00:41:29,280
so there's a lot of you know, we're quite insulated

742
00:41:29,559 --> 00:41:32,639
in the scheme of things. I think that dot net

743
00:41:32,639 --> 00:41:34,719
in general is going to be one of the last

744
00:41:34,760 --> 00:41:37,840
ecosystems to really embrace AI.

745
00:41:38,719 --> 00:41:40,960
Speaker 4: I think we'll get there eventually, I think so.

746
00:41:42,480 --> 00:41:44,360
Speaker 5: I think so, yeah, I think there are going to

747
00:41:44,360 --> 00:41:48,360
be some organizations that just can't. I mean, one of

748
00:41:48,400 --> 00:41:54,320
our customers builds stuff that's used for NATO planning, Like,

749
00:41:54,400 --> 00:41:56,679
I don't think they're going to be feeding their source

750
00:41:56,679 --> 00:41:59,360
code into some random LLLM.

751
00:41:59,440 --> 00:42:03,960
Speaker 1: Yeah, it's true. Well, I'm hopeful that at some point

752
00:42:03,960 --> 00:42:06,440
in the future we'll be able to use local lms

753
00:42:06,480 --> 00:42:10,039
that do the same thing but keep everything local. And

754
00:42:10,920 --> 00:42:13,760
I'm ready for it because I got my honkin' machine

755
00:42:13,760 --> 00:42:18,639
here with the Scream and GPU, but I haven't. I

756
00:42:18,679 --> 00:42:22,280
haven't had that experience yet. I've tried, but I haven't.

757
00:42:22,360 --> 00:42:23,079
It hasn't worked.

758
00:42:23,320 --> 00:42:28,599
Speaker 5: I'm all about clawed code. That's my current current agent

759
00:42:28,679 --> 00:42:29,159
of choice.

760
00:42:30,199 --> 00:42:34,480
Speaker 3: You can deny. Avalonia's growth is astonishing, you know, and

761
00:42:34,920 --> 00:42:37,599
the fact without the marketing really speaks to people are

762
00:42:37,599 --> 00:42:39,519
finding it and keeping it and those that are using

763
00:42:39,559 --> 00:42:41,360
it are taking to the next project, the next project,

764
00:42:41,440 --> 00:42:42,119
the next problem.

765
00:42:42,199 --> 00:42:48,199
Speaker 5: Yeah, we have we have some telemetry, so it's all

766
00:42:48,199 --> 00:42:51,119
open source. People go and have a look at what

767
00:42:51,159 --> 00:42:54,519
we collect. It's very minimal, but it gives us an

768
00:42:54,599 --> 00:42:59,800
insight into the adoption. So last year or one hundred

769
00:42:59,840 --> 00:43:03,679
twenty two million bills, which was up thirty one point

770
00:43:05,199 --> 00:43:11,000
month on month growth two point one million unique projects.

771
00:43:11,960 --> 00:43:15,960
I mean, it's it's really incredible the amount of growth

772
00:43:15,960 --> 00:43:16,559
that we've seen.

773
00:43:17,000 --> 00:43:20,840
Speaker 3: So how do you guys make a living? That good question.

774
00:43:21,559 --> 00:43:29,880
Speaker 5: I have a very supportive wife. I mean that that

775
00:43:30,000 --> 00:43:32,760
is there's a joke to that, but it's also the truth.

776
00:43:33,360 --> 00:43:34,199
Speaker 4: I mean, we.

777
00:43:35,679 --> 00:43:39,559
Speaker 5: Building a business around this has been just a huge

778
00:43:40,159 --> 00:43:43,239
learning curve and uphill struggle.

779
00:43:44,239 --> 00:43:46,119
Speaker 4: Open source sure well.

780
00:43:46,119 --> 00:43:50,159
Speaker 3: And you know, for me as an architect, when people

781
00:43:50,159 --> 00:43:52,199
are asking about Avalonia, it's like, how do you know

782
00:43:52,280 --> 00:43:55,159
this thing's going to survive? Like what's the main open

783
00:43:55,159 --> 00:43:56,760
sours is one thing, but I'm not prepared to take

784
00:43:56,800 --> 00:43:59,719
over this library if you guys go away, Like, how

785
00:43:59,719 --> 00:44:01,519
do we have some confidence?

786
00:44:01,599 --> 00:44:01,800
Speaker 4: Yeah?

787
00:44:01,880 --> 00:44:05,719
Speaker 5: That's that's the mindset that we make all of our

788
00:44:05,760 --> 00:44:08,840
decisions through, is how do we ensure the long term

789
00:44:08,920 --> 00:44:13,280
viability of what we do because we have to be

790
00:44:13,320 --> 00:44:16,320
around in ten years time because the folks that are

791
00:44:17,199 --> 00:44:20,320
building on Avalonia have taken a bet on us and

792
00:44:20,360 --> 00:44:25,760
they need that enterprise timeline. So part of that is

793
00:44:26,079 --> 00:44:30,440
a rejection of outside capital. We don't We've we've had

794
00:44:30,480 --> 00:44:34,880
offers for VC injection, but that puts us on a

795
00:44:35,039 --> 00:44:37,639
We did it with Zamorin. It's a very condensed timeline.

796
00:44:37,639 --> 00:44:40,159
You've got to have an exit and that does not

797
00:44:40,199 --> 00:44:43,960
bring long term stability for anyone. So we've said no

798
00:44:44,079 --> 00:44:47,159
to that. So then it was like, well, how do

799
00:44:47,239 --> 00:44:49,679
we monetize this thing that we give away all of

800
00:44:49,679 --> 00:44:53,519
the value. So there was XPF, which is our cross

801
00:44:53,519 --> 00:44:55,840
platform WPF and this.

802
00:44:55,880 --> 00:44:57,679
Speaker 3: Is sort of your claim to fame of Hey, you've

803
00:44:57,679 --> 00:44:59,440
got a WPF app and you want to run it

804
00:44:59,480 --> 00:45:01,199
on here you go.

805
00:45:01,760 --> 00:45:05,480
Speaker 5: I read an email earlier from a guy that they've

806
00:45:05,519 --> 00:45:11,239
got two applications WPF apps. They got both of them

807
00:45:11,320 --> 00:45:14,400
running on Mac within fifteen minutes of signing up to

808
00:45:14,440 --> 00:45:15,400
our customer portal.

809
00:45:17,199 --> 00:45:18,199
Speaker 3: Yeah what's that word?

810
00:45:18,480 --> 00:45:22,519
Speaker 5: Yeah, they were blown away by it. So that's that's

811
00:45:22,559 --> 00:45:25,960
been huge for us. That's really helped. But I think

812
00:45:26,039 --> 00:45:30,039
the other main thing that's helped us this year, the

813
00:45:30,079 --> 00:45:35,760
reason that we're at seventeen is Devolutions, one of our customers.

814
00:45:36,840 --> 00:45:42,639
They've sponsored the project for three million dollars, so we

815
00:45:42,719 --> 00:45:48,159
get a million dollars a year, and our attorney couldn't

816
00:45:48,159 --> 00:45:51,400
believe it. So I sent her the contract and she

817
00:45:51,760 --> 00:45:56,079
responded and she said, Mike, people don't give a million

818
00:45:56,119 --> 00:45:56,960
dollars for nothing?

819
00:45:57,199 --> 00:45:58,639
Speaker 1: What longs did you break?

820
00:45:59,119 --> 00:45:59,320
Speaker 4: Yeah?

821
00:45:59,559 --> 00:46:02,199
Speaker 5: What what's happening here? This is not normal? And I

822
00:46:02,239 --> 00:46:05,559
was like, I trust these people. We've worked with them

823
00:46:05,639 --> 00:46:09,920
for a while now. They seem genuine and yeah, they

824
00:46:09,920 --> 00:46:12,960
have been everything that we could ever want in a partner.

825
00:46:13,559 --> 00:46:14,920
Speaker 3: Wow, that's great.

826
00:46:15,239 --> 00:46:17,960
Speaker 5: Their their view is that they want to ensure that

827
00:46:17,960 --> 00:46:21,199
we're around that they're investing heavily in porting their app

828
00:46:21,239 --> 00:46:25,000
to Avalonia, so it benefits them for the platform to

829
00:46:25,000 --> 00:46:28,360
be stable, and it gives us a runway to be

830
00:46:28,360 --> 00:46:32,360
able to invest in the core technology without having to

831
00:46:32,400 --> 00:46:36,000
be so concerned about, you know, where's the money coming from.

832
00:46:36,159 --> 00:46:38,440
Speaker 3: It's got to be cost effective for them, Like somebody

833
00:46:38,519 --> 00:46:40,519
must have done the math to say, should we build

834
00:46:40,519 --> 00:46:43,559
this ourselves? And it was more money than that.

835
00:46:44,280 --> 00:46:48,039
Speaker 5: Yeah, I'm not I mean to build this. If you

836
00:46:48,079 --> 00:46:50,960
look at who builds your WI frameworks, you've got to

837
00:46:50,960 --> 00:46:52,559
be pretty crazy to do it.

838
00:46:52,559 --> 00:46:56,360
Speaker 3: It's like Google, Yeah, no, it's a solve problem.

839
00:46:56,679 --> 00:46:59,280
Speaker 4: Yeah, it would be madness. Yeah.

840
00:46:59,280 --> 00:47:03,880
Speaker 5: So Devolution three million dollars, So we get a million

841
00:47:03,920 --> 00:47:06,719
dollars a year. We've got I think two and a

842
00:47:06,760 --> 00:47:11,480
half years left of that. We've got XPF, we sell

843
00:47:11,559 --> 00:47:14,480
support agreements, and we do some development work, but we

844
00:47:14,639 --> 00:47:17,599
try and avoid that as much as we can. And

845
00:47:17,599 --> 00:47:20,599
then we've got Accelerate, which is a huge part of

846
00:47:20,639 --> 00:47:24,440
why I reached out to Matt and was like, would

847
00:47:24,440 --> 00:47:28,039
you please come and work for us? Because Matt is

848
00:47:28,880 --> 00:47:32,360
one of the experts. I think anyone who's looks say

849
00:47:32,400 --> 00:47:35,679
his GitHub, or followed him or knows of him, knows

850
00:47:35,679 --> 00:47:38,360
that he is an expert when it comes to visual

851
00:47:38,360 --> 00:47:43,239
studio development and tooling and understanding how to deliver delightful

852
00:47:43,280 --> 00:47:44,519
developer experiences.

853
00:47:44,719 --> 00:47:45,960
Speaker 1: Can you explain accelerate?

854
00:47:46,320 --> 00:47:46,639
Speaker 4: I can.

855
00:47:48,079 --> 00:47:51,159
Speaker 5: So Accelerate is our value add So we give away

856
00:47:51,199 --> 00:47:54,599
everything within Avalonia for free, so you don't have to

857
00:47:54,599 --> 00:47:57,199
pay a penny to use it. But there are bits

858
00:47:57,239 --> 00:48:03,119
of it that are really the ide. Tooling that is

859
00:48:03,800 --> 00:48:07,840
really difficult engineering, and it takes a certain type of

860
00:48:07,880 --> 00:48:08,920
person to enjoy.

861
00:48:08,760 --> 00:48:11,880
Speaker 4: Working on that stuff. People like Matt and.

862
00:48:13,840 --> 00:48:17,199
Speaker 5: These types of folks don't work for GitHub stars. They

863
00:48:17,239 --> 00:48:20,679
need some cold, hard cash at the end of the month.

864
00:48:20,800 --> 00:48:24,719
So we were looking at how do how do we

865
00:48:24,800 --> 00:48:28,840
keep having a lonely sustainable and fund these more challenging parts.

866
00:48:29,280 --> 00:48:33,599
So we created Accelerate which is an optional set of

867
00:48:33,800 --> 00:48:38,320
tools and components. So you've got a visual studio, visual

868
00:48:38,320 --> 00:48:42,119
studio code dev tools, and then a packaging app. And

869
00:48:42,159 --> 00:48:48,960
then the components are webe media player, markdown editor. In

870
00:48:49,039 --> 00:48:53,079
the final stages of completing, some other components that will

871
00:48:53,079 --> 00:48:57,079
go into that suite as well. Yeah, the goal is

872
00:48:57,119 --> 00:49:01,679
to have that generate some of the revenue to help

873
00:49:01,719 --> 00:49:04,679
sustain the project so that we can keep working on this,

874
00:49:05,320 --> 00:49:09,079
keep hiring, and keep investing in a platform that is

875
00:49:09,760 --> 00:49:15,760
solving a problem that hundreds of thousands of enterprises have got.

876
00:49:15,960 --> 00:49:18,639
Speaker 1: So give us the give us a few of the

877
00:49:18,679 --> 00:49:21,199
tools that are in Accelray. Here's your chance for little

878
00:49:21,199 --> 00:49:24,239
sales pitch. I know you don't like marketing, but might

879
00:49:24,280 --> 00:49:24,719
as well.

880
00:49:25,000 --> 00:49:25,840
Speaker 4: I'm terrible it.

881
00:49:26,079 --> 00:49:28,599
Speaker 5: Maybe Matt can tell us why the Visual Studio extension

882
00:49:28,840 --> 00:49:31,199
is incredible, because I think that's the main thing that

883
00:49:31,760 --> 00:49:33,159
most folks are excited for.

884
00:49:33,559 --> 00:49:37,960
Speaker 6: So having been talked up, so I joined the company

885
00:49:38,199 --> 00:49:43,360
with the goal of making the best UI tooling that's available.

886
00:49:43,639 --> 00:49:47,920
That is that's my remit. And so you know, WPF

887
00:49:48,000 --> 00:49:53,360
is kind of the benchmark for visual studio integration, and

888
00:49:53,400 --> 00:49:57,760
we have a timeline for reaching and surpassing that we

889
00:49:57,880 --> 00:50:00,840
have views for sort of parity with visual radio code,

890
00:50:02,239 --> 00:50:04,440
and then that's just the catching up, and then I've

891
00:50:04,480 --> 00:50:07,039
got ten years of imagining what the tooling could be

892
00:50:07,199 --> 00:50:12,159
like to play in the future, different ways of visualizing

893
00:50:13,039 --> 00:50:15,800
what can be done, what the code might look like,

894
00:50:16,679 --> 00:50:21,880
and then what code you're actually writing. Obviously, zamor has

895
00:50:21,880 --> 00:50:26,440
its critics. No C sharp as a language of creating

896
00:50:26,559 --> 00:50:31,039
UI is you know, some of us deserved, some of

897
00:50:31,039 --> 00:50:34,880
it not so much. C sharp can be used to

898
00:50:34,920 --> 00:50:40,039
create UI, but there are pros and cons of that

899
00:50:40,079 --> 00:50:42,880
as well, And obviously with the rise of AI, I'm

900
00:50:42,920 --> 00:50:46,239
looking heavily at what the future of that might be like,

901
00:50:46,679 --> 00:50:48,719
because it's great that we can describe our AI in

902
00:50:49,079 --> 00:50:53,400
are UI in like in full English sentences or any

903
00:50:53,400 --> 00:50:57,559
other language sentences. But that's a level of abstraction, which

904
00:50:57,599 --> 00:51:00,800
is a big leap between what actually it runs. And

905
00:51:00,880 --> 00:51:04,320
so I'm sort of keenly following all the experiments that

906
00:51:04,320 --> 00:51:08,360
are happening at the moment around maybe some new language

907
00:51:08,559 --> 00:51:12,000
might serve us better as an abstraction between you know,

908
00:51:12,079 --> 00:51:14,559
what we speak and what the code needs to do.

909
00:51:15,159 --> 00:51:17,880
Take us by some of that guesswork, some of that

910
00:51:18,000 --> 00:51:23,360
interpretation and the vagueness. So things like code Speak, which

911
00:51:23,400 --> 00:51:25,280
is the new language from the guy who created Cotlin,

912
00:51:25,559 --> 00:51:28,519
is kind of really exciting for me. I'm just sort

913
00:51:28,519 --> 00:51:30,719
of really keen to see that what that can look like.

914
00:51:31,280 --> 00:51:34,920
I did some experiments last year about what a more

915
00:51:35,039 --> 00:51:38,320
human friendly version of Zama might look like. You know,

916
00:51:38,679 --> 00:51:41,039
we still have this we want to strictly define our

917
00:51:41,079 --> 00:51:44,440
U why, but we don't need XML to do that,

918
00:51:45,119 --> 00:51:48,400
and so the ideas around that, and then of course

919
00:51:48,480 --> 00:51:53,079
testability becomes and testing becomes even more important. It's great

920
00:51:53,119 --> 00:51:55,119
to say I will describe what might want my app

921
00:51:55,119 --> 00:51:56,719
to do, you go build it and it runs.

922
00:51:57,079 --> 00:51:57,639
Speaker 4: That's great.

923
00:51:57,760 --> 00:52:01,199
Speaker 6: And then six weeks later I will describe a a

924
00:52:01,400 --> 00:52:05,079
change and that gets made and no one notices the

925
00:52:05,079 --> 00:52:08,039
things that are broken in the meantime that you know,

926
00:52:08,800 --> 00:52:11,480
l m's are very good at making more changes than

927
00:52:11,519 --> 00:52:17,440
a desirable or necessary and if you haven't got something

928
00:52:17,480 --> 00:52:19,800
in place to spot those changes and see when it

929
00:52:19,840 --> 00:52:24,760
breaks something subtle, that's kind of really important. So that's

930
00:52:24,880 --> 00:52:27,079
kind of those are the things we're thinking about for

931
00:52:27,119 --> 00:52:30,000
the future, and that's what accelerate we'll go to. At

932
00:52:30,000 --> 00:52:31,400
some point I expect to hope.

933
00:52:31,880 --> 00:52:33,840
Speaker 1: What's your relationship to Blazer.

934
00:52:34,400 --> 00:52:37,039
Speaker 5: We don't really have We don't really have a relationship

935
00:52:37,039 --> 00:52:40,679
to Blazer. There's some projects that I've seen where you

936
00:52:40,719 --> 00:52:45,920
can use like Blazer style syntax to build out an

937
00:52:45,960 --> 00:52:52,960
avalo of your application. When I've discussed with the team

938
00:52:53,039 --> 00:52:56,719
about alternative syntax, one of the things I've often said

939
00:52:56,760 --> 00:52:59,719
is that I think if we did it, if we wanted.

940
00:52:59,440 --> 00:53:00,960
Speaker 4: To move away, we'll not move away.

941
00:53:00,960 --> 00:53:07,199
Speaker 5: But adn't an extra language than using Blazer or some

942
00:53:07,280 --> 00:53:11,599
kind of HTML like language is probably a smarter choice.

943
00:53:11,679 --> 00:53:14,320
Speaker 1: I agree, That's why I brought it up. It seems like,

944
00:53:14,440 --> 00:53:17,800
you know, rather than improving Xamle, you have something that

945
00:53:18,280 --> 00:53:22,719
works that's really a nice little component model using angle brackets.

946
00:53:22,840 --> 00:53:23,039
Speaker 4: Yeah.

947
00:53:23,119 --> 00:53:26,800
Speaker 5: Yeah, if I like Blazer, I think when you think

948
00:53:26,800 --> 00:53:32,199
about who are ideal target is right now there the

949
00:53:32,239 --> 00:53:36,880
folks that have invested a huge amount in Xamle, they've

950
00:53:36,880 --> 00:53:39,559
already got all of that those skills, So we've got

951
00:53:39,559 --> 00:53:40,159
that nailed.

952
00:53:40,320 --> 00:53:44,519
Speaker 4: So yeah, Matt's job is to think about the future. Yeah.

953
00:53:44,599 --> 00:53:47,639
Speaker 6: You know, as I've alonne you, we're heavily enterprise focused,

954
00:53:47,679 --> 00:53:51,119
and that means maintaining things for a long time. We

955
00:53:51,199 --> 00:53:53,800
want to be building new features, not rebuilding the stuff

956
00:53:53,840 --> 00:53:57,599
we already have, unless unless it's a really really strong reason. Sure,

957
00:53:57,800 --> 00:54:00,719
you know, I like the idea of or if you'll

958
00:54:00,760 --> 00:54:02,440
build this new language on top of the thing that

959
00:54:02,519 --> 00:54:05,239
already exists, or the two can work together, and that

960
00:54:05,360 --> 00:54:09,039
compatibility in anything new is really important. The strength of

961
00:54:09,079 --> 00:54:12,840
cross platform is we can build four different platforms with

962
00:54:12,880 --> 00:54:17,000
the same technology, not necessarily that the same thing works everywhere.

963
00:54:17,360 --> 00:54:19,679
Speaker 1: If people are going to be using Claude in the

964
00:54:19,920 --> 00:54:23,920
like for building Abalonia apps, what's the importance of going

965
00:54:24,000 --> 00:54:28,039
so far down into ZAM or learning that is, if

966
00:54:28,039 --> 00:54:30,000
you were going to do it by hand, if you

967
00:54:30,039 --> 00:54:33,440
can just describe it, you know, to an LM and

968
00:54:33,519 --> 00:54:36,440
habit right the ZAM I guess readability, I.

969
00:54:36,480 --> 00:54:41,599
Speaker 6: Think, yeah, yeah, it's how much you trust what Claude

970
00:54:41,599 --> 00:54:45,239
does or whatever tool does without looking at the code.

971
00:54:45,559 --> 00:54:47,880
And if we can get to a point where I'm

972
00:54:47,920 --> 00:54:50,880
really happy that it's not going to break something, I

973
00:54:50,519 --> 00:54:53,119
can I can clearly describe everything that I want, or

974
00:54:53,159 --> 00:54:55,559
I don't care about the specifics enough that I can

975
00:54:55,639 --> 00:54:57,639
just describe it and it can do it. That's fine.

976
00:54:58,039 --> 00:55:00,719
But when you want to be sure about what's changed.

977
00:55:01,960 --> 00:55:03,480
You need to be able to look at the code

978
00:55:03,519 --> 00:55:05,719
and understand it, or someone needs to be able to

979
00:55:06,000 --> 00:55:06,480
I don't think.

980
00:55:06,559 --> 00:55:06,920
Speaker 4: I don't.

981
00:55:07,239 --> 00:55:09,199
Speaker 6: I think there's always going to be this position where

982
00:55:09,239 --> 00:55:12,760
we need something between what runs on the machine at

983
00:55:12,920 --> 00:55:17,639
like some really low level and the human speech. The

984
00:55:17,719 --> 00:55:19,199
kind of needs to be something in between.

985
00:55:20,119 --> 00:55:22,400
Speaker 1: I'm having a hard time in visioning a future where

986
00:55:23,079 --> 00:55:26,960
I can be confident in the code that an LM writes,

987
00:55:28,199 --> 00:55:31,000
just to make sure it didn't misunderstand, you know, make

988
00:55:31,039 --> 00:55:34,719
sure it didn't make a bad assumption. I mean, I

989
00:55:35,119 --> 00:55:38,559
can't imagine. I mean, I'm probably it's probably going to

990
00:55:38,719 --> 00:55:41,960
come sooner than I think, but I just can't imagine

991
00:55:42,000 --> 00:55:44,280
being able to trust an l and that much. Not

992
00:55:44,320 --> 00:55:48,679
only that, but you know, it's your head on the

993
00:55:48,760 --> 00:55:52,480
chopping block if things go sideways, and you know that

994
00:55:53,559 --> 00:55:56,440
to some people that mean might mean a little embarrassment,

995
00:55:56,559 --> 00:56:00,320
but to other people it could cause it could cost lives,

996
00:56:00,559 --> 00:56:00,760
you know.

997
00:56:01,000 --> 00:56:03,920
Speaker 5: Yeah, I mean, if you look at where Avaloni is used,

998
00:56:04,320 --> 00:56:09,000
we've used in operating theaters to make sure that you know,

999
00:56:09,599 --> 00:56:11,679
surgeons are drilling into people's.

1000
00:56:11,280 --> 00:56:13,920
Speaker 3: Legs exactly, that they're.

1001
00:56:13,800 --> 00:56:16,239
Speaker 5: Drilling into the right places. You wouldn't want a vibe

1002
00:56:16,239 --> 00:56:17,119
coded app.

1003
00:56:19,079 --> 00:56:21,360
Speaker 1: Dealing with that, certainly not in twenty twenty six.

1004
00:56:22,000 --> 00:56:24,039
Speaker 4: No, No, we're a little way away from that.

1005
00:56:24,400 --> 00:56:25,800
Speaker 1: Well, guys would come to the end of the show.

1006
00:56:25,840 --> 00:56:27,559
Is there anything else that you want to mention before

1007
00:56:27,599 --> 00:56:29,159
we before we wrap it up?

1008
00:56:29,679 --> 00:56:33,280
Speaker 5: Avaloni twelve it's a preview now is already available, so

1009
00:56:33,800 --> 00:56:36,679
if anyone wants to give that a world the performance

1010
00:56:36,760 --> 00:56:40,760
is really good on mobile and yeah, just check us

1011
00:56:40,760 --> 00:56:44,519
out on get hub. Let's say you won't see us

1012
00:56:44,519 --> 00:56:47,679
at conferences or doing any marketing, you'll only hear from

1013
00:56:47,800 --> 00:56:49,960
us as people have used it and liked it.

1014
00:56:49,960 --> 00:56:55,480
Speaker 1: It's great stuff. Thanks guys, Mike James and Matt Lacy

1015
00:56:55,880 --> 00:56:59,519
from Avalonia. Thank you and we'll talk to you next time.

1016
00:57:00,159 --> 00:57:00,880
Speaker 4: Dot net Rocks.

1017
00:57:21,559 --> 00:57:24,239
Speaker 1: Dot net Rocks is brought to you by Franklin's Net

1018
00:57:24,360 --> 00:57:28,320
and produced by Pop Studios, a full service audio, video

1019
00:57:28,400 --> 00:57:32,519
and post production facility located physically in New London, Connecticut,

1020
00:57:32,719 --> 00:57:37,519
and of course in the cloud online at pwop dot com.

1021
00:57:37,719 --> 00:57:39,840
Visit our website at d O T N E t

1022
00:57:40,079 --> 00:57:44,119
R O c k S dot com for RSS feeds, downloads,

1023
00:57:44,280 --> 00:57:47,960
mobile apps, comments, and access to the full archives, going

1024
00:57:48,000 --> 00:57:51,239
back to show number one, recorded in September two.

1025
00:57:51,039 --> 00:57:51,639
Speaker 3: Thousand and two.

1026
00:57:52,280 --> 00:57:54,599
Speaker 1: And make sure you check out our sponsors. They keep

1027
00:57:54,679 --> 00:57:57,800
us in business. Now go write some code. See you

1028
00:57:57,880 --> 00:58:01,960
next time. Got in a band day.

1029
00:58:03,199 --> 00:58:08,920
Speaker 3: A summer time that means home. Then my Texas in

1030
00:58:09,239 --> 00:58:10,480
line red ball

