1
00:00:01,080 --> 00:00:03,000
Speaker 1: How'd you like to listen to dot net rocks with

2
00:00:03,040 --> 00:00:03,799
no ads?

3
00:00:04,440 --> 00:00:04,799
Speaker 2: Easy?

4
00:00:05,360 --> 00:00:08,560
Speaker 1: Become a patron for just five dollars a month you

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

6
00:00:11,359 --> 00:00:14,599
shows have no ads. Twenty dollars a month will get

7
00:00:14,599 --> 00:00:17,679
you that and a special dot net Rocks patron mug.

8
00:00:18,160 --> 00:00:34,079
Sign up now at Patreon dot dot NetRocks dot com.

9
00:00:34,320 --> 00:00:39,960
Hey it's dot net rocks. I'm Carl Franklint and I'm

10
00:00:40,039 --> 00:00:42,960
Richard Campbell, and we're back. We haven't recorded in a

11
00:00:43,000 --> 00:00:47,079
long time, and a few things have happened fired, Yeah,

12
00:00:47,240 --> 00:00:51,719
since then, nothing really major, you know, just a bunch

13
00:00:51,759 --> 00:00:56,679
of tariffs, maybe gutting of the government, you know, the usual.

14
00:00:56,679 --> 00:01:00,719
Speaker 2: Keep saying things. I just know there doing things. Question.

15
00:01:00,759 --> 00:01:03,359
Speaker 1: We'll see, we'll see how this all turns out. But

16
00:01:04,239 --> 00:01:06,879
we're not freaking out here. We're talking about dot net

17
00:01:06,879 --> 00:01:09,640
and today we're specifically talking about UNO. Well, it's going

18
00:01:09,680 --> 00:01:12,959
to be a good show. Francois the founder of Uno.

19
00:01:13,079 --> 00:01:16,079
The Uno platform is here, and Sasha, the CMO Uno

20
00:01:16,159 --> 00:01:21,480
is here. We're talking about that, but first let's do better.

21
00:01:21,519 --> 00:01:31,120
No framework awesome, all right, man?

22
00:01:31,159 --> 00:01:31,599
Speaker 2: What you got?

23
00:01:31,680 --> 00:01:36,640
Speaker 1: I found this really cool open source Microsoft tool called

24
00:01:36,760 --> 00:01:43,480
data Formulator. It's on GitHub Microsoft Data dash Formulator and

25
00:01:43,920 --> 00:01:49,879
it's for creating rich visualizations with AI. Transform data and

26
00:01:49,920 --> 00:01:54,319
create rich visualizations iteratively with AI.

27
00:01:55,079 --> 00:01:56,200
Speaker 2: I don't know what that means.

28
00:01:56,280 --> 00:02:01,120
Speaker 1: I don't know, but those charts are pretty crazy looking.

29
00:02:01,200 --> 00:02:03,159
Speaker 2: Okay, so what has that got to do with anything

30
00:02:03,200 --> 00:02:05,319
to do with artificial intelligence. It's like they're using it

31
00:02:05,400 --> 00:02:08,039
like agile. If I just squirt Agile on, it'll be agile.

32
00:02:08,159 --> 00:02:10,639
Speaker 1: You know, you're not wrong. And I think it's not

33
00:02:10,719 --> 00:02:13,479
just Microsoft that's doing this, but the media is just

34
00:02:13,599 --> 00:02:15,159
absolutely crazy.

35
00:02:15,560 --> 00:02:17,560
Speaker 2: Well, and it's like, you're a fool not to add

36
00:02:17,599 --> 00:02:21,120
AI to every product name now exactly it's better. Yeah,

37
00:02:21,120 --> 00:02:22,000
the new Apple.

38
00:02:21,800 --> 00:02:26,680
Speaker 1: Watch has AI built into it one and my wife do.

39
00:02:26,639 --> 00:02:29,479
Speaker 2: You mean Apple Intelligence, because of course they do. All right.

40
00:02:29,560 --> 00:02:32,479
Speaker 1: Well, my wife we just bought a new LG washer

41
00:02:32,520 --> 00:02:36,800
and dryer and she was freaked out because a message

42
00:02:37,039 --> 00:02:41,479
on the readout said, using AI to figure out the

43
00:02:41,520 --> 00:02:45,680
load or whatever wash your clothes. Come on, really, that's

44
00:02:45,719 --> 00:02:46,319
not AI.

45
00:02:46,800 --> 00:02:48,599
Speaker 2: You know that. You figure they manifestured that a couple

46
00:02:48,639 --> 00:02:51,360
of years ago at least, so they've literally added that

47
00:02:51,400 --> 00:02:52,800
in after the fact, Like, come on.

48
00:02:52,919 --> 00:02:55,159
Speaker 1: She says it's not connected to the internet is and

49
00:02:55,199 --> 00:02:57,599
I'm like, no, hell no, did you connect it to

50
00:02:57,639 --> 00:02:58,199
the Internet.

51
00:02:58,280 --> 00:03:02,800
Speaker 2: I didn't. Yeah, yeah, so all right, that's fair. But anyway,

52
00:03:02,840 --> 00:03:05,000
it's a data visualizer, which is cool.

53
00:03:05,080 --> 00:03:08,159
Speaker 1: It's a data visualizer that supposedly uses AI.

54
00:03:08,439 --> 00:03:09,240
Speaker 2: So all right.

55
00:03:09,439 --> 00:03:12,919
Speaker 1: It's an application for Microsoft Research that uses large language

56
00:03:12,960 --> 00:03:18,080
models to transform data, expediting the practice of data visualization.

57
00:03:18,520 --> 00:03:20,639
Speaker 2: Nice. So okay, So it's got nothing to do with

58
00:03:20,639 --> 00:03:23,800
making the visualizations it's about. It's a UX interface using text.

59
00:03:23,840 --> 00:03:26,759
Speaker 1: Yeah, okay, So somebody put them out of their misery,

60
00:03:26,840 --> 00:03:28,960
go try it and let us know, or put us

61
00:03:29,000 --> 00:03:31,159
out of our misery. Let us know what you think.

62
00:03:31,439 --> 00:03:35,400
Somebody who actually is qualified to comment on it, because

63
00:03:35,439 --> 00:03:39,039
I am not. All right, yeah, And so that's when

64
00:03:39,039 --> 00:03:40,599
I got today Richard who's talking to.

65
00:03:40,599 --> 00:03:42,840
Speaker 2: Us grabby comment off for show eighteen eighty two, the

66
00:03:42,840 --> 00:03:45,439
one we did well. Nick Randolph talking to Little about

67
00:03:45,439 --> 00:03:47,120
this thing called UNO. Maybe you've heard of it about

68
00:03:47,159 --> 00:03:48,639
a year ago. That was Sharon you arey of twenty

69
00:03:48,639 --> 00:03:51,680
twenty four. And this comic comes from Rod who said,

70
00:03:51,719 --> 00:03:53,599
I just finished listening to this episode today. I really

71
00:03:53,639 --> 00:03:56,199
appreciate what Nick had to say about Uno. I'm familiar

72
00:03:56,240 --> 00:03:59,080
with it but by reputation only, and that has interested me,

73
00:03:59,120 --> 00:04:00,520
so I'm going to take it out for it's been

74
00:04:00,719 --> 00:04:02,599
And although it wasn't the main part of discussion, when

75
00:04:02,639 --> 00:04:06,000
Carl brought up Verify, which you mentioned the verified test

76
00:04:06,120 --> 00:04:08,879
suite on GitHub, it really caught my attention too. I

77
00:04:08,879 --> 00:04:11,280
hadn't heard of that, so all investigated. Thanks so much

78
00:04:11,280 --> 00:04:12,479
for finding these cool things.

79
00:04:12,520 --> 00:04:15,759
Speaker 1: Well, to be honest, Simon Crop contacted us and said, hey,

80
00:04:15,879 --> 00:04:18,800
Verify check it out, and then we discovered what a

81
00:04:18,959 --> 00:04:21,600
font of awesomeness Simon Crop really is.

82
00:04:21,800 --> 00:04:25,279
Speaker 2: Yes, so all of this is true. Yeah, so that's cool. Hey, Rod,

83
00:04:25,319 --> 00:04:26,920
thank you so much for your comment. And a copy

84
00:04:26,959 --> 00:04:28,319
of music cobuy is on its way to you. And

85
00:04:28,319 --> 00:04:30,279
if you'd like a copy of music go buy, write

86
00:04:30,319 --> 00:04:32,560
a comment on the website at NetRocks dot com or

87
00:04:32,639 --> 00:04:34,720
any of the facebooks. If you comment there when we

88
00:04:34,759 --> 00:04:36,279
read on the show, we'll send you a copy of music.

89
00:04:36,279 --> 00:04:36,480
Speaker 3: Ope.

90
00:04:36,519 --> 00:04:39,279
Speaker 1: I have an announcement about music to code by coming

91
00:04:39,360 --> 00:04:43,360
up in next week's show, but it is still going

92
00:04:43,399 --> 00:04:49,560
strong and musiccodeby dot net is the URL. And basically,

93
00:04:49,600 --> 00:04:52,120
if you don't know what this is. It's magic music

94
00:04:52,160 --> 00:04:55,319
to help you focus while you're coding or doing anything else.

95
00:04:55,879 --> 00:04:58,360
Speaker 2: And it gets better over time, Like I realize now

96
00:04:58,399 --> 00:05:01,920
there are certain tracks where ten seconds into the track

97
00:05:02,040 --> 00:05:04,879
you just kick into flowstick. Yeah, because you've trained your brain.

98
00:05:05,160 --> 00:05:07,120
Here's those sounds. Oh it's time to work.

99
00:05:07,199 --> 00:05:10,519
Speaker 1: Yeah. Absolutely. And you can also follow us on the

100
00:05:10,519 --> 00:05:13,279
other social medias. We're on all sorts of things like

101
00:05:13,399 --> 00:05:19,120
ex Twitter and Mastadon and blue Sky and usually some

102
00:05:20,279 --> 00:05:24,120
form of at Rich Campbell and at Carl Franklin. All right,

103
00:05:24,199 --> 00:05:28,040
before we introduce Francois and Sasha, let's talk about nineteen

104
00:05:28,079 --> 00:05:28,439
thirty eight.

105
00:05:28,439 --> 00:05:29,920
Speaker 2: All right, what do you got for nineteen thirty eight?

106
00:05:30,040 --> 00:05:33,800
Speaker 1: Really quickly, I found a nice little summary on the internets.

107
00:05:34,480 --> 00:05:38,160
In nineteen thirty eight, significant events included the annexation of

108
00:05:38,240 --> 00:05:42,199
the Sioux Daetan Land by Nazi Germany, the establishment of

109
00:05:42,199 --> 00:05:44,920
the March of Dimes in the US, and the first

110
00:05:44,959 --> 00:05:48,680
appearance of Superman and comic books. Additionally, the year saw

111
00:05:48,720 --> 00:05:51,759
the collapse of the Honeymoon Bridge at Niagara Falls and

112
00:05:51,879 --> 00:05:56,600
the onset of Crystal Knocht, a violent anti Jewish program

113
00:05:57,240 --> 00:06:00,920
in Germany. And I'm sure many many men, many more things.

114
00:06:01,120 --> 00:06:03,639
You probably have a few things on your list, Richard.

115
00:06:03,360 --> 00:06:05,839
Speaker 2: Oh yeah, I focus on what's important, man. Nineteen thirty

116
00:06:05,800 --> 00:06:08,000
eight is a year the ballpoint pen wasn'tvent hey was

117
00:06:08,040 --> 00:06:12,439
that bick No, it was brio wow or biro biro

118
00:06:12,560 --> 00:06:16,480
evented the ballpoint bet. Also LSD first synthesized.

119
00:06:16,800 --> 00:06:20,160
Speaker 1: Ah, so that's that's to blame for all this crap

120
00:06:20,240 --> 00:06:21,920
that happened after nineteen thirty eight.

121
00:06:22,839 --> 00:06:25,079
Speaker 2: Also, the first time they made teflon, although they didn't

122
00:06:25,079 --> 00:06:26,560
figure out to put it on pans right then. It

123
00:06:26,560 --> 00:06:28,000
was kind of an accident. Would take a little longer

124
00:06:28,040 --> 00:06:31,480
than that would Plunket made tetraflor ethylene. Yeah, and the

125
00:06:31,920 --> 00:06:36,319
escafe invents free strike coffee. Wow, the important things. It's

126
00:06:36,360 --> 00:06:39,279
a good year. I mean, not for the checks because

127
00:06:39,319 --> 00:06:40,879
that's the sedate and land, but you know.

128
00:06:41,000 --> 00:06:46,160
Speaker 1: Yeah, yeah, So okay, let's introduce the guys here. First

129
00:06:46,160 --> 00:06:49,560
of all, Francois Tangey is the founder of the UNO

130
00:06:49,639 --> 00:06:54,120
platform and open source framework for rapidly building crossplatform dot

131
00:06:54,160 --> 00:07:00,199
net applications. And our friend Sasa Chismanovich is CMO at

132
00:07:00,600 --> 00:07:04,920
Platform taking care of community and developer outreach. And you

133
00:07:04,959 --> 00:07:08,199
probably remember Sasha because He formally worked at Telerek and Microsoft,

134
00:07:08,279 --> 00:07:12,680
including running the MVP program. Welcome guys, thank you, hell

135
00:07:13,399 --> 00:07:16,000
good to be here again. Yeah, good to have you back. Francois.

136
00:07:16,120 --> 00:07:18,279
Speaker 3: I think last time I was here with Jerome, but

137
00:07:18,560 --> 00:07:20,600
this time I brought into big guns.

138
00:07:20,879 --> 00:07:21,279
Speaker 2: Right.

139
00:07:22,639 --> 00:07:23,439
Speaker 4: Important people.

140
00:07:23,639 --> 00:07:27,600
Speaker 1: Yeah, So I guess should we ask the obvious question,

141
00:07:27,839 --> 00:07:28,639
what's new.

142
00:07:28,600 --> 00:07:30,439
Speaker 3: The tons, because it's been a while, and I know,

143
00:07:30,720 --> 00:07:33,839
like Nick last year and discussed some of it, like

144
00:07:33,920 --> 00:07:38,000
we've been working hard, Like the team's been growing and

145
00:07:38,120 --> 00:07:41,040
working hard, and like improving our story and like really

146
00:07:41,040 --> 00:07:43,759
fulfilling the mission of a new platform. Right Like since

147
00:07:43,839 --> 00:07:46,680
day one, it's been about how can we improve productive

148
00:07:46,720 --> 00:07:49,360
tea and make this the fastest way to build apps

149
00:07:49,399 --> 00:07:51,680
and dot ne te coass in and look at what's

150
00:07:51,680 --> 00:07:55,759
out there. But yeah, we've had a great bunch of

151
00:07:55,800 --> 00:07:59,040
announcements last year at dot net Con. Really looking forward

152
00:07:59,040 --> 00:07:59,480
to discussing.

153
00:08:00,079 --> 00:08:01,839
Speaker 2: Okay, well, the big one's got to be hot design,

154
00:08:02,000 --> 00:08:06,680
right like you guys, it seems like you crack the code.

155
00:08:06,759 --> 00:08:08,959
Nobody else has been able to make an interactive designer

156
00:08:08,959 --> 00:08:12,160
outside of wind forms, and this one seems to work.

157
00:08:12,240 --> 00:08:14,800
You are the hot reload for X.

158
00:08:15,079 --> 00:08:18,000
Speaker 3: Yeah, and and the reason why we've got so much

159
00:08:18,399 --> 00:08:22,079
excitement around this is like the different approach we took

160
00:08:22,120 --> 00:08:25,399
for it. So like you look at all these traditional

161
00:08:25,399 --> 00:08:28,399
designer experiences in the past, and like we've been using

162
00:08:28,439 --> 00:08:31,839
them like before oh no, I was like running a

163
00:08:32,120 --> 00:08:34,799
death shop, a mix of death Shop and Canada like

164
00:08:34,799 --> 00:08:36,759
one hundred fifty people. And you're always looking as to

165
00:08:36,840 --> 00:08:40,399
how can you build faster and make like those digital

166
00:08:40,440 --> 00:08:43,440
experiences more efficient, and like since day one, we have

167
00:08:43,480 --> 00:08:46,480
been using wind Forms Designers and WPF design years and

168
00:08:46,480 --> 00:08:49,279
then expression Blend, and we've suffered through storry.

169
00:08:49,399 --> 00:08:54,159
Speaker 2: You say, WPF designer, that thing makes me sad every time. Like,

170
00:08:54,720 --> 00:08:57,159
as long as you don't put anything on it, it's great.

171
00:08:57,120 --> 00:08:59,360
Speaker 3: Yeah, but that was a challenge, right, So as soon

172
00:08:59,360 --> 00:09:01,320
as you looked and like for a second or two

173
00:09:01,399 --> 00:09:03,399
like or played with it, like it would break and fail.

174
00:09:03,480 --> 00:09:06,039
And we're like, okay, yeah, people that we've been asking

175
00:09:06,639 --> 00:09:09,559
for designing our first experience because we know the product

176
00:09:09,679 --> 00:09:12,519
de gains it could bring in theory, but like we're

177
00:09:12,639 --> 00:09:14,440
no way we're going to build something the same way

178
00:09:15,000 --> 00:09:17,080
it's been built on the paths. So is there a

179
00:09:17,399 --> 00:09:19,080
novel way or a new way to look into this,

180
00:09:19,799 --> 00:09:22,360
and that's how we came up with hub Designer and

181
00:09:22,559 --> 00:09:26,399
hob design was really one of the initiatives within a

182
00:09:26,600 --> 00:09:29,440
broader set of tool initiatives. So like last year at

183
00:09:29,600 --> 00:09:32,679
dot Country and then we announced well no platform Studio

184
00:09:32,759 --> 00:09:34,679
was a set of tools sitting on top of our

185
00:09:34,879 --> 00:09:37,960
core open source framework. So if you take a step back,

186
00:09:38,000 --> 00:09:41,720
who know today is our cross platform developer experience on

187
00:09:41,840 --> 00:09:45,080
dot net allows you to build apps everywhere? Like that

188
00:09:45,120 --> 00:09:45,720
doesn't wrong?

189
00:09:45,879 --> 00:09:48,519
Speaker 1: Right? So so the obvious question that I hear the

190
00:09:48,600 --> 00:09:54,320
listener's brains mulling about is how does this differ from

191
00:09:54,360 --> 00:09:57,759
Maui and why should I choose it over Maui, especially

192
00:09:57,799 --> 00:09:58,879
when Maui's in the box.

193
00:09:59,039 --> 00:10:02,120
Speaker 3: So there's so that's a question well get all the time,

194
00:10:02,440 --> 00:10:07,080
and it's a relatively simple question to answer, because are

195
00:10:07,480 --> 00:10:09,399
we're aiming to do a lot more than now in

196
00:10:09,480 --> 00:10:11,799
a sense, but we're comparable if you're if you just

197
00:10:11,879 --> 00:10:15,039
care about the platforms that now we target, we're somewhat

198
00:10:15,080 --> 00:10:18,879
comparable at the cross platform UI framework themo right, So

199
00:10:18,879 --> 00:10:21,000
and that's the first thing people look into when they're

200
00:10:21,000 --> 00:10:22,879
looking at you know, okay, this is a cross platform

201
00:10:23,000 --> 00:10:26,360
UI framework but then going back to our builder experience,

202
00:10:26,440 --> 00:10:28,279
there's a lot more in there. So yes, at the

203
00:10:28,320 --> 00:10:32,240
cross platform UI framework, we're possibly targetting more platforms because

204
00:10:32,279 --> 00:10:34,720
you can also run on Web with web assembly, you

205
00:10:34,759 --> 00:10:37,240
can run on Linux because that runs on Linux as well,

206
00:10:37,240 --> 00:10:39,879
and we have renders for all these platforms. So this

207
00:10:39,919 --> 00:10:41,960
is one way to look at how we differ from MAW.

208
00:10:42,440 --> 00:10:44,639
Speaker 1: So now you would have to use the hybrid model

209
00:10:44,799 --> 00:10:47,720
in order to have to run like yeah, that or

210
00:10:47,879 --> 00:10:49,879
just use Blazer, which isn't Mali at all.

211
00:10:50,240 --> 00:10:53,000
Speaker 3: Yeah, but then you need to care about HTML tags

212
00:10:53,039 --> 00:10:54,600
and all that. So if you're looking at this and

213
00:10:54,679 --> 00:10:59,120
coming at a rich application development platform using like traditional

214
00:10:59,159 --> 00:11:02,240
example and see or c sharp as your markup, and

215
00:11:02,279 --> 00:11:04,879
you care about like binding engines and rich styling engines

216
00:11:04,879 --> 00:11:06,960
and all that, and you're not coming at it from

217
00:11:07,000 --> 00:11:09,559
a web background, then who know, makes a lot of sense.

218
00:11:09,799 --> 00:11:14,399
Speaker 1: So, and you're not using maui what do they call it,

219
00:11:14,440 --> 00:11:18,080
Mali forms or zamorin forms based Mali examle, you you're

220
00:11:18,159 --> 00:11:21,679
using a Microsoft version of Examle, which is what.

221
00:11:21,960 --> 00:11:26,120
Speaker 3: So the exammal syntax is we're aligned instead of coming

222
00:11:26,200 --> 00:11:28,200
up with our own flavor of Zamo. We decided to

223
00:11:28,200 --> 00:11:30,799
align with the latest and greatest version of Zamal that

224
00:11:30,879 --> 00:11:33,320
makes of from the whin u I API, so we're

225
00:11:33,639 --> 00:11:37,080
API compatible with one UI. But it's our own implementation

226
00:11:37,120 --> 00:11:37,919
of a cross platform.

227
00:11:38,120 --> 00:11:40,480
Speaker 4: I find maybe this is really where the marketing guy

228
00:11:40,480 --> 00:11:42,759
steps in. Like I would love to believe that everybody

229
00:11:42,759 --> 00:11:47,200
knows exactly what hot design is, but I learned that's

230
00:11:47,279 --> 00:11:49,840
usually not a case. But maybe just I think taking

231
00:11:49,840 --> 00:11:51,720
a step back and from sub do you want to

232
00:11:51,759 --> 00:11:55,039
explain hot design what it does to the application, then

233
00:11:55,200 --> 00:11:57,519
it's going to make a lot more sense before before

234
00:11:57,519 --> 00:11:59,639
going into a deep into the technology, right.

235
00:12:00,200 --> 00:12:00,759
Speaker 2: Yeah, for sure.

236
00:12:00,840 --> 00:12:04,000
Speaker 3: So but heart Design is a set of tools, productive

237
00:12:04,039 --> 00:12:07,679
to focused tools sitting on top of our cross form framework.

238
00:12:07,720 --> 00:12:10,519
And yes, we can get into all the intrinsic details

239
00:12:10,519 --> 00:12:13,360
as to how we differ from other platforms. But as

240
00:12:13,399 --> 00:12:16,440
fart and we shipped hot Design last year as a

241
00:12:16,559 --> 00:12:20,720
visual designer, so a visual code editor sitting on top

242
00:12:21,279 --> 00:12:24,480
of our platform as part of our platform studio or

243
00:12:24,480 --> 00:12:27,519
a family of products. So hot design what is it?

244
00:12:27,519 --> 00:12:27,840
Speaker 2: It's a.

245
00:12:29,320 --> 00:12:32,639
Speaker 3: Design experience that allows you to drag and drop from

246
00:12:32,679 --> 00:12:37,000
a toolbox components to select your items from your application

247
00:12:37,080 --> 00:12:40,320
and be able to change your property value, set your

248
00:12:40,360 --> 00:12:42,879
bindings and all that as you would have done traditionally

249
00:12:43,200 --> 00:12:46,440
with other design surfaces like the one forms Designer for example.

250
00:12:46,720 --> 00:12:50,600
But a unique twist on it is it's relying on

251
00:12:50,840 --> 00:12:52,559
or it's sitting on top of hot reloads, so it's

252
00:12:52,559 --> 00:12:55,639
a run time experience. So like if you look at

253
00:12:55,639 --> 00:12:59,080
the past, we've created all these design time experiences where

254
00:12:59,399 --> 00:13:01,720
your app would running, you'd be embedded into an ide

255
00:13:01,879 --> 00:13:04,360
to visual studio for Windows, and you have this design

256
00:13:04,480 --> 00:13:07,039
time surface that you would try to load design time

257
00:13:07,080 --> 00:13:09,399
components and then third party components into it, and it

258
00:13:09,440 --> 00:13:12,120
would fail because it was trying to make API calls

259
00:13:12,120 --> 00:13:14,200
and it shouldn't because you're in design mode and all that,

260
00:13:15,559 --> 00:13:18,720
and you had to include metadata for your design components

261
00:13:18,759 --> 00:13:22,039
to be made aware or for the design surface to

262
00:13:22,039 --> 00:13:23,879
be made aware of these components, and it was pretty

263
00:13:23,879 --> 00:13:27,360
complex set up, and they really fragile set up. So

264
00:13:27,399 --> 00:13:31,000
our twist and really the haha moment is like, Okay,

265
00:13:31,039 --> 00:13:33,519
we have a running app. We already have a great

266
00:13:33,519 --> 00:13:36,279
hot reload experience where there's a one way street. You

267
00:13:36,279 --> 00:13:38,360
can modify any code you want in your markup or

268
00:13:38,440 --> 00:13:41,279
in your application code should be c sharp or examle code,

269
00:13:41,279 --> 00:13:43,799
and you're able to see those changes live through hot

270
00:13:43,919 --> 00:13:47,440
reload and your running application. Right, So could we do

271
00:13:47,519 --> 00:13:49,320
it the other way around as well, where from your

272
00:13:49,360 --> 00:13:52,559
running app, like looking at it visually, could we then

273
00:13:53,240 --> 00:13:56,559
allow you to make modifications visually so it synchronizes back

274
00:13:56,600 --> 00:13:58,080
into your code. Right, So you have a one way

275
00:13:58,120 --> 00:14:01,480
street from code into UI and at run time with

276
00:14:01,559 --> 00:14:05,240
hat reload, and we have the same symmetrical experience from

277
00:14:05,279 --> 00:14:09,000
design intocode. And in order to do that, basically the

278
00:14:09,039 --> 00:14:11,480
how a moment came when we're like, okay, let's just

279
00:14:11,639 --> 00:14:14,480
inject a designer and your running app, right, so let's

280
00:14:14,519 --> 00:14:18,279
overlay a design surface the equivalent of what it would

281
00:14:18,320 --> 00:14:22,080
be in yours visual studio, IDE or any other like

282
00:14:22,120 --> 00:14:24,519
expression blend kind of experience. Let's inject that in your

283
00:14:24,600 --> 00:14:27,519
running app so that you have the entire application context,

284
00:14:27,600 --> 00:14:29,519
your app is running, you have access to your existing

285
00:14:29,600 --> 00:14:32,559
data context, few models, and then you have all this

286
00:14:32,679 --> 00:14:34,799
great information that you can use at run time to

287
00:14:34,840 --> 00:14:40,080
design your applications. Wow, and we believe it's a first,

288
00:14:40,279 --> 00:14:43,399
Like we're first in market across technology stacks, like we've

289
00:14:43,440 --> 00:14:46,320
never seen something similar to that, where like an a

290
00:14:46,440 --> 00:14:50,360
cross platform scenario because as you're designing in a running app,

291
00:14:50,600 --> 00:14:53,080
your running app is by definition cross platform. So you

292
00:14:53,080 --> 00:14:55,639
can be running your app on a Raspberry Bui embed

293
00:14:55,639 --> 00:14:57,399
a device, you can be running on a web you

294
00:14:57,440 --> 00:14:59,840
can be running on a mobileum later or mobile physical

295
00:15:01,399 --> 00:15:03,559
And because your app is running there and your designer

296
00:15:03,600 --> 00:15:06,559
is running there as part of your app during hot design,

297
00:15:07,679 --> 00:15:10,000
because obviously it's just a development kind of experience. You're

298
00:15:10,039 --> 00:15:12,840
never shipping this into production obviously, but as part of

299
00:15:12,840 --> 00:15:16,080
your debug experience and development experience, you now have access

300
00:15:16,080 --> 00:15:18,840
to the design surface with a two bucks of components.

301
00:15:19,159 --> 00:15:21,919
And because your application is capable of loading third party

302
00:15:21,960 --> 00:15:25,279
components and using your own user controls, then your designer

303
00:15:25,360 --> 00:15:28,360
is also capable of running those third party controls and

304
00:15:28,360 --> 00:15:31,159
your user controls and connecting and setting up your binding

305
00:15:31,200 --> 00:15:34,799
expressions directly to your live data. And that's all part

306
00:15:34,840 --> 00:15:38,000
of the mindset of not trying to reinvent the wheel

307
00:15:38,000 --> 00:15:42,320
and keep the developer. And they're like efficient dev ander loop, right,

308
00:15:42,519 --> 00:15:45,000
why have you stop your running app to go to

309
00:15:45,080 --> 00:15:48,960
design mode? Try to come up with new designs, recompile,

310
00:15:49,159 --> 00:15:52,000
reload again, and then see the effects when you can

311
00:15:52,080 --> 00:15:53,840
have it like directly in your running app.

312
00:15:53,960 --> 00:15:56,320
Speaker 1: This is really cool, but I have so many questions there.

313
00:15:57,000 --> 00:16:01,360
Okay that the idea, Yeah, this is great. Before we

314
00:16:01,480 --> 00:16:03,320
go into that, I just want to backtrack a little

315
00:16:03,320 --> 00:16:07,360
bit because you said you're basing the the examle on

316
00:16:07,480 --> 00:16:10,519
when UI. This is a change from when I first

317
00:16:10,600 --> 00:16:14,720
learned about UNO. It was based on Universal UTVP application

318
00:16:14,919 --> 00:16:18,399
you UWP right, and you know that was kind of

319
00:16:18,440 --> 00:16:20,879
a head scratcher because then that kind of went away.

320
00:16:20,919 --> 00:16:23,600
But you guys pivoted, so now you're on the latest

321
00:16:23,600 --> 00:16:28,600
when UI, and in Maui, you they use when ui

322
00:16:28,600 --> 00:16:33,240
only for their Windows thing, right, their their Windows version

323
00:16:33,399 --> 00:16:34,600
of a Maui application.

324
00:16:35,039 --> 00:16:37,480
Speaker 3: Yeah, so Maui as a if you look at it

325
00:16:37,519 --> 00:16:39,159
as a back end they have and I was back

326
00:16:39,240 --> 00:16:41,919
end because they're really on the native platforms, so they

327
00:16:42,000 --> 00:16:44,279
use when u y for their one U implemmentation. But

328
00:16:44,360 --> 00:16:46,840
you really need to make a difference between sitting on

329
00:16:46,879 --> 00:16:49,840
top of a technology like when UI and being compatible

330
00:16:49,879 --> 00:16:52,120
with the API. So the name bases of plasts and

331
00:16:52,120 --> 00:16:54,480
all that, sure as a as a way to cross

332
00:16:54,480 --> 00:16:56,840
compile between when uy and the other platforms, and that's

333
00:16:56,879 --> 00:16:57,559
what we're doing.

334
00:16:57,639 --> 00:17:00,720
Speaker 1: Okay, that's that's great. So now my next quession about

335
00:17:01,360 --> 00:17:04,079
hot hot development? How would you call it hot?

336
00:17:04,079 --> 00:17:04,200
Speaker 2: What?

337
00:17:04,359 --> 00:17:04,960
Speaker 3: Hot design?

338
00:17:05,119 --> 00:17:05,759
Speaker 1: Hot design?

339
00:17:05,960 --> 00:17:06,799
Speaker 2: Yeah, which is great.

340
00:17:07,359 --> 00:17:10,480
Speaker 1: Now I have another hot thing to remember, but this

341
00:17:10,599 --> 00:17:14,400
seems to be the coolest idea I've heard between hot reload,

342
00:17:14,400 --> 00:17:18,440
hot restart. Do you still are you still subject to

343
00:17:18,519 --> 00:17:21,920
the problems that Apple developers have trying to debug on

344
00:17:21,960 --> 00:17:25,519
their devices? It's just a nightmare. And I don't suppose

345
00:17:25,559 --> 00:17:28,880
that you guys are doing anything any different. You still

346
00:17:28,960 --> 00:17:32,160
have to provision your device at Apple and get your key,

347
00:17:32,279 --> 00:17:37,880
and Visual Studios sometimes doesn't recognize it. It's just a nightmare. Yes,

348
00:17:38,000 --> 00:17:39,680
Is it any better with your platform?

349
00:17:39,799 --> 00:17:40,000
Speaker 2: Yeah?

350
00:17:40,039 --> 00:17:43,519
Speaker 3: Something important because we've been like living through these challenges

351
00:17:43,519 --> 00:17:45,319
in the past as well as our builders, as I mentioned,

352
00:17:45,359 --> 00:17:46,039
for fifteen years.

353
00:17:46,079 --> 00:17:46,240
Speaker 2: Right.

354
00:17:46,279 --> 00:17:48,920
Speaker 3: But like something important you approach, we do it is

355
00:17:48,960 --> 00:17:51,960
to maximize the amount of flexibilities you'll have. So when

356
00:17:52,000 --> 00:17:54,720
you're developing on apps today, yes, you can use a

357
00:17:54,799 --> 00:17:57,400
Visual Studio for Windows, but you can also use vs

358
00:17:57,400 --> 00:18:00,279
code on any operating system. You can use writer everyone where,

359
00:18:00,680 --> 00:18:03,759
and it's an equal experience to a certain extent. Where

360
00:18:03,759 --> 00:18:06,880
we've created our wizards or project templates. We have the

361
00:18:06,960 --> 00:18:10,079
same hotter reload experience across the board, across all these

362
00:18:10,079 --> 00:18:12,599
ideas and operating system so you can choose what suits

363
00:18:12,640 --> 00:18:15,279
you best, and like if you're suffering and to some

364
00:18:15,359 --> 00:18:18,480
extent and countering friction with one ID and would prefer

365
00:18:18,559 --> 00:18:22,599
to use another one from macOS for example, or from Linux,

366
00:18:22,960 --> 00:18:25,799
you can choose to do so without any impacts. So

367
00:18:25,880 --> 00:18:29,200
like that same experience where we've really decoupled everything we're

368
00:18:29,240 --> 00:18:30,880
doing with hot design because it's a run time. If

369
00:18:30,880 --> 00:18:33,559
your app is running, a design is running, So it's

370
00:18:33,559 --> 00:18:36,599
really like being able to keep those things separate and

371
00:18:36,720 --> 00:18:39,559
let you choose with all the flexiblity. You need your

372
00:18:39,559 --> 00:18:41,400
best ide on your best operating system.

373
00:18:41,519 --> 00:18:44,759
Speaker 1: So what you would recommend is don't try to develop

374
00:18:45,480 --> 00:18:48,799
and debug on an iPad on from a Windows machine.

375
00:18:49,119 --> 00:18:54,200
Go to a Mac, use the Mac ide and you're

376
00:18:54,279 --> 00:18:57,799
more likely to be able to use your Apple devices

377
00:18:57,839 --> 00:18:58,680
directly from that.

378
00:18:58,799 --> 00:19:01,759
Speaker 3: Yeah, you have all this flexibility, and but we've seen

379
00:19:01,799 --> 00:19:08,079
it like people working from various ideas using CLI as well,

380
00:19:08,160 --> 00:19:11,759
Like there's all sorts of experiences depending on people's personal

381
00:19:11,759 --> 00:19:16,000
preferences and the platforms they're targeting. And if you look

382
00:19:16,039 --> 00:19:19,039
at it simply from a productivity standpoint. What we've seen

383
00:19:19,039 --> 00:19:22,559
in our community do a lot is because when it's

384
00:19:22,599 --> 00:19:25,359
a cross platform solution and we offer the guarantee of

385
00:19:25,359 --> 00:19:28,359
being pixel perfect and behaving and looking the same everywhere,

386
00:19:28,880 --> 00:19:32,000
you can spend most of your time development time targeting

387
00:19:32,119 --> 00:19:35,839
desktop because it's super efficient, Like, it's fast, there's no

388
00:19:35,960 --> 00:19:37,799
issues in running and in laders and all that. So

389
00:19:37,880 --> 00:19:41,759
you develop most of the time on desktop while considering

390
00:19:41,920 --> 00:19:45,720
like different breakpoints and responsive design considerations and all that.

391
00:19:45,880 --> 00:19:48,000
And at the end of the process, then you test

392
00:19:48,319 --> 00:19:52,279
on additional additional platforms, let's say iOS to make sure

393
00:19:52,319 --> 00:19:55,759
everything behaves properly. But you're able to remain efficient and

394
00:19:56,200 --> 00:19:59,480
get the optimal experience by targeting desktop first in your

395
00:19:59,519 --> 00:20:00,519
day to day development.

396
00:20:00,720 --> 00:20:03,039
Speaker 2: Interesting because you know, we've argued or we heard the

397
00:20:03,160 --> 00:20:06,200
argument from mobile first for a long time. Mm hmm,

398
00:20:06,440 --> 00:20:10,160
So buddy, you then have this slower development cycle where

399
00:20:10,200 --> 00:20:12,720
getting out to the device takes a while, debugging takes

400
00:20:12,759 --> 00:20:15,440
a while, like, all of that is harder. So you're saying,

401
00:20:15,440 --> 00:20:18,319
from a feature perspective, get the features nailed down on

402
00:20:18,359 --> 00:20:22,640
the desktop app, keep your design your UX consideration. So

403
00:20:22,720 --> 00:20:24,279
it is going to be able to size properly the

404
00:20:24,359 --> 00:20:26,200
phone to a degree. But when it comes to tuning

405
00:20:26,279 --> 00:20:29,839
it up. That only after you get your feature complete

406
00:20:29,920 --> 00:20:32,160
you're ready to go start playing with the phones. Exactly

407
00:20:32,279 --> 00:20:33,000
see how they render.

408
00:20:33,160 --> 00:20:37,279
Speaker 1: You must have a very responsive UI in your Windows

409
00:20:37,359 --> 00:20:41,799
Designer or your Windows platform, because that's the problem with

410
00:20:41,920 --> 00:20:44,319
Windows forms, right, it's pixel based, So you put something

411
00:20:44,400 --> 00:20:47,079
too far to the right and you squeeze that window

412
00:20:47,160 --> 00:20:49,000
down and on a device, it's gone.

413
00:20:49,160 --> 00:20:51,279
Speaker 3: No you need like that was twenty five years ago.

414
00:20:51,319 --> 00:20:54,440
If you're still doing absolute positioning today, you're in big trouble.

415
00:20:54,559 --> 00:20:58,519
You need to make well Richard wants it back. Okay, sure, sure,

416
00:20:58,640 --> 00:21:02,680
blame me. Accept We accept contributions and prs to the RePOP.

417
00:21:02,960 --> 00:21:04,279
Speaker 2: But yeah, the mindset.

418
00:21:04,200 --> 00:21:08,079
Speaker 1: Richard laments, laments that the Windows Form Designer was so

419
00:21:08,240 --> 00:21:10,559
great and there hasn't been another one since. Well, but

420
00:21:10,680 --> 00:21:13,200
it's because of the pixel based that makes it easy.

421
00:21:13,359 --> 00:21:16,119
Speaker 2: Well exactly. It's also it's just recognized that wind forms

422
00:21:16,240 --> 00:21:19,359
was the anomaly. Yeah, right, like that's it's the weirdo

423
00:21:19,480 --> 00:21:21,799
because it and even that's broken now, like if you

424
00:21:21,880 --> 00:21:23,960
look at the oh, sure at the at the new

425
00:21:24,079 --> 00:21:27,119
version that runs as of what three point one SDK.

426
00:21:28,039 --> 00:21:29,960
It's not pixel perfect because it has to deal with

427
00:21:30,200 --> 00:21:33,519
high TPI screens, right, so they are also adjusting the

428
00:21:33,640 --> 00:21:37,160
render and suddenly even that depends. So what you're saying

429
00:21:37,319 --> 00:21:41,559
is that the zambal controls, the wind UI controls and

430
00:21:41,720 --> 00:21:45,359
layout that you're using, even in a Windows application where

431
00:21:45,400 --> 00:21:48,160
you're going to do most of your development, is responsive.

432
00:21:48,319 --> 00:21:53,000
Speaker 3: Yeah, and that's something like responsive designs was curely a

433
00:21:53,079 --> 00:21:55,880
top of month consideration when we've built hot design, So

434
00:21:55,960 --> 00:21:58,759
your design surface, so obviously you should be using all

435
00:21:58,839 --> 00:22:02,559
the standard like response of panels controls like stack panels

436
00:22:02,599 --> 00:22:05,440
and grids and wrap panels and all that. But if

437
00:22:05,480 --> 00:22:07,200
you look at it from a hot design and how

438
00:22:07,279 --> 00:22:10,119
can we support developers making sure that they're able to

439
00:22:10,240 --> 00:22:12,960
test those various scenarios, there's something in a hot design

440
00:22:13,240 --> 00:22:15,640
and your application barder tup where you're able to quickly

441
00:22:15,720 --> 00:22:20,839
switch between various form factors, and we've built responsive design

442
00:22:20,839 --> 00:22:23,680
as part of it. So when you're defining values for

443
00:22:23,759 --> 00:22:26,720
your properties, when you're defining your bindings, you're able to

444
00:22:26,799 --> 00:22:30,720
set different values per breakpoint to allow for adaptive or

445
00:22:30,799 --> 00:22:35,640
responsive design. So let's say you could define five different

446
00:22:35,680 --> 00:22:38,519
break coins from the widest to the narrow west, and

447
00:22:38,759 --> 00:22:41,240
like per breakpoint, you're able to define value. So we've

448
00:22:41,319 --> 00:22:44,000
created all sorts of extensions to really ease the process

449
00:22:44,480 --> 00:22:48,000
of thinking and considering responsive designs. And that's part of

450
00:22:48,039 --> 00:22:50,079
the maturity process. Right when you've been building apps for

451
00:22:50,160 --> 00:22:53,079
fifteen twenty twenty five years, you know all of these

452
00:22:53,880 --> 00:22:56,519
horizontal concerns that you need to think of upfront so

453
00:22:56,640 --> 00:23:00,319
that you're not stuck and having to reflect responsive one

454
00:23:01,079 --> 00:23:04,160
relying on design systems and the rich stiling engines instead

455
00:23:04,200 --> 00:23:08,400
of like defining on hard coding colors directly or backgrounds

456
00:23:08,640 --> 00:23:11,559
directly in buttons, right, So, like having access to design systems,

457
00:23:11,599 --> 00:23:14,720
defining styles and then being able to discover and apply

458
00:23:14,920 --> 00:23:19,000
these styles to your various UIs is super important, and

459
00:23:19,079 --> 00:23:20,880
that's something that's a first classionism.

460
00:23:20,920 --> 00:23:24,599
Speaker 1: And how is it you have obviously different implementations for

461
00:23:24,680 --> 00:23:28,359
different platforms. Do you how is it laid out in

462
00:23:28,440 --> 00:23:30,799
visual studio or visual studio code? Do you have a

463
00:23:30,880 --> 00:23:34,680
platform's folder and everything that's unique to that platform goes

464
00:23:34,720 --> 00:23:39,640
in there? And are there any differences between you know,

465
00:23:39,839 --> 00:23:43,319
the the high level resources that are the names and

466
00:23:43,799 --> 00:23:47,599
interfaces that are available to one platform over another or

467
00:23:47,720 --> 00:23:53,440
have you absolutely nailed parity in naming and interfaces there.

468
00:23:53,640 --> 00:23:56,720
Speaker 3: So we're close to one hundred percent across all platforms

469
00:23:57,039 --> 00:23:59,119
and not only at the UI, because like it goes

470
00:23:59,160 --> 00:24:01,880
back to whatsunaplatform is just across platform or a framework

471
00:24:01,920 --> 00:24:04,200
And the answer is no, because if you look at

472
00:24:04,599 --> 00:24:07,000
when UI SAPI and the needs you have as an

473
00:24:07,000 --> 00:24:09,839
AD developer, there's everything UI that controls and put controls

474
00:24:09,880 --> 00:24:15,039
and all that, but there's also all these non functional services, right, sensors, storage,

475
00:24:15,559 --> 00:24:18,960
file access, camera and device access, and all of these

476
00:24:19,119 --> 00:24:21,799
have been abstracted because they've been part of the win RT.

477
00:24:22,319 --> 00:24:25,039
So the API is may we cause it MADWA essentials.

478
00:24:25,079 --> 00:24:27,839
It used to be as essentials. So the brand of

479
00:24:27,920 --> 00:24:31,799
these API is plus more being able and available across

480
00:24:31,839 --> 00:24:34,720
all platforms. It goes all the way to gain pad APIs. Right,

481
00:24:34,799 --> 00:24:37,079
So there's all these APIs that have been abstracted away

482
00:24:37,480 --> 00:24:42,000
they can use and really minimizes the need for a

483
00:24:42,119 --> 00:24:45,680
per platform specific code, but you can still Yes, you

484
00:24:45,720 --> 00:24:48,599
have platform folders, so if there's any like platform specific

485
00:24:48,680 --> 00:24:51,759
code or platform specific resources that you have, there's like

486
00:24:51,880 --> 00:24:54,480
file extensions and all these techniques. Wow, for you to

487
00:24:54,559 --> 00:24:57,119
write per platform codes, so you're never stuck. You're not

488
00:24:57,240 --> 00:25:00,039
stuck in a kind of a higher level abstraction. You

489
00:25:00,119 --> 00:25:02,759
can always dig down per platform, but most of the

490
00:25:02,799 --> 00:25:03,480
time you won't need it.

491
00:25:03,599 --> 00:25:09,160
Speaker 1: And for your web platform are you are you translating

492
00:25:09,200 --> 00:25:11,559
that to Blazer? How is that working so today?

493
00:25:11,680 --> 00:25:14,240
Speaker 3: And so no, we're like we're one of the leaps.

494
00:25:14,240 --> 00:25:15,880
So if you look at Malwitz sitting on top of

495
00:25:15,960 --> 00:25:18,680
dot net, dot nine, dot net ten, Blazer sits on

496
00:25:18,720 --> 00:25:21,839
top of web assembly for the fine site, well dot net,

497
00:25:22,000 --> 00:25:26,039
So yeah, web assembly, web assembly for the clients. Sure,

498
00:25:26,680 --> 00:25:28,759
so we're at the same level. So who knows sitting

499
00:25:28,839 --> 00:25:31,799
on top of net for web assembly it's usual net nine,

500
00:25:31,799 --> 00:25:34,200
bootstrapper and everything. So we're really at the same level

501
00:25:34,240 --> 00:25:35,359
as Blazer is I gotcha?

502
00:25:35,559 --> 00:25:39,519
Speaker 1: And that makes sense because you know, Blazer comes in flavors, right,

503
00:25:39,640 --> 00:25:42,759
server and web assembly, And it makes sense that it's

504
00:25:42,799 --> 00:25:47,319
web assembly because that's where websites run really, right, And

505
00:25:47,759 --> 00:25:50,359
and you know, it's more on parody with a with

506
00:25:50,480 --> 00:25:54,400
a client application. Client application has to make API calls

507
00:25:54,519 --> 00:25:58,119
to a server. But it's not Blazer server, you know

508
00:25:58,119 --> 00:26:01,519
what I mean, It's that's a web specific technology.

509
00:26:01,799 --> 00:26:05,400
Speaker 3: Yeah, and like one of our main personas for no Air,

510
00:26:05,480 --> 00:26:09,519
and like enterprise developers that are wanting to create either

511
00:26:09,599 --> 00:26:13,079
internal or customer facing apps at the app dot skill

512
00:26:13,160 --> 00:26:15,880
sets already and they're trying to build web apps first

513
00:26:15,880 --> 00:26:18,000
and formal, So we're not there to build websites with

514
00:26:18,200 --> 00:26:20,799
su considerations and all that. So websmbly makes a lot

515
00:26:20,799 --> 00:26:23,519
of sense because it gets cash and that's super performant.

516
00:26:23,279 --> 00:26:25,559
Speaker 1: Right, and you can you've been doing web assembly for

517
00:26:25,599 --> 00:26:29,640
a while. I remember seeing after shortly after Blazer webssembly

518
00:26:29,720 --> 00:26:32,160
came out, I saw a demo that you guys were

519
00:26:32,240 --> 00:26:35,119
running your UNO stuff on top of web assembly and

520
00:26:35,200 --> 00:26:35,960
it looked really good.

521
00:26:36,119 --> 00:26:38,039
Speaker 3: But if I'm not mistaken, we were there before. So

522
00:26:38,079 --> 00:26:40,880
one day announced dot Netfair web assembly. We were there

523
00:26:41,039 --> 00:26:44,240
on the build floor in twenty eighteen showing a preview

524
00:26:44,279 --> 00:26:45,640
of Uno running on web assembly.

525
00:26:45,759 --> 00:26:46,359
Speaker 2: Yeah, very cool.

526
00:26:46,440 --> 00:26:49,440
Speaker 4: And the infamous calculator app. Right, so I'm not sure

527
00:26:49,440 --> 00:26:52,119
if you guys remember, but we did. We took the

528
00:26:52,200 --> 00:26:56,279
open source Windows calculator and we put it on all

529
00:26:56,319 --> 00:26:59,559
the places. Right, it's not supposed to run, just to

530
00:26:59,680 --> 00:27:02,160
prove that you can. So if you go to calculator

531
00:27:02,240 --> 00:27:05,960
dot platform. You know, you get to experience Windows Calculator

532
00:27:06,000 --> 00:27:06,519
right in the web.

533
00:27:06,960 --> 00:27:10,839
Speaker 2: Yeah, those were lasers sort of existed as an alpha

534
00:27:10,960 --> 00:27:13,920
or a test project at that point. It wasn't Blazer yet.

535
00:27:14,039 --> 00:27:19,720
It was right Steve Standerson's Freak Show. He's like, what

536
00:27:19,839 --> 00:27:22,519
have you done? What have you done? We should take

537
00:27:22,519 --> 00:27:22,799
a break.

538
00:27:22,920 --> 00:27:25,359
Speaker 1: Yeah, let's do that. We'll take a quick break for

539
00:27:25,519 --> 00:27:29,039
some important messages and we'll be right back. Stay tuned.

540
00:27:30,559 --> 00:27:32,799
Do you have a complex dot net monolith you'd like

541
00:27:32,880 --> 00:27:36,839
to refactor to a micro services architecture? The micro Service

542
00:27:36,920 --> 00:27:40,640
Extractor for dot Net tool visualizes your app and helps

543
00:27:40,720 --> 00:27:45,039
progressively extract code into micro services. Learn more at aws

544
00:27:45,160 --> 00:27:53,000
dot Amazon dot com, slash modernize, And we're back. It's

545
00:27:53,079 --> 00:27:56,720
dot net Rocks. I'm Carl Franklin. That's my friend Richard Campbell. Hey,

546
00:27:56,880 --> 00:28:02,599
and that's Francois Tangae and Sasha Chrismanovit from the Uno platform.

547
00:28:02,880 --> 00:28:05,400
And we're just digging in here. And I'm right now,

548
00:28:05,480 --> 00:28:10,359
my mind is pretty well blown. I guess I'm you know,

549
00:28:10,400 --> 00:28:13,799
I'm skeptical because I did. I lived through Zamorin and

550
00:28:13,920 --> 00:28:21,759
zamorin forms and now MAUI and Maui Native has has

551
00:28:22,039 --> 00:28:25,960
It's great, but it has slapped me around a little

552
00:28:25,960 --> 00:28:28,000
bit to the point where if I'm going to build

553
00:28:28,000 --> 00:28:30,599
a new Maui application, it's going to be a Blazer Hybrid.

554
00:28:31,079 --> 00:28:34,599
Because I've been you know, very for very, you know,

555
00:28:34,680 --> 00:28:37,440
ever since even before Blazer, I was really a web guy,

556
00:28:37,960 --> 00:28:40,200
but I really embraced Blazer and I got really good

557
00:28:40,279 --> 00:28:43,000
at it, so I know the ins and outs of it,

558
00:28:43,319 --> 00:28:46,319
and it's very easy for me to just use Blazer

559
00:28:46,480 --> 00:28:49,279
Hybrid just because I've been burned so much by Maui

560
00:28:49,960 --> 00:28:53,799
or the differences in the way things work from platform

561
00:28:53,839 --> 00:28:58,480
to platform, and even doing classes on Maui, I had

562
00:28:58,559 --> 00:29:02,480
to say, you know what, here's this same code, here's

563
00:29:02,519 --> 00:29:04,559
what it looks like in Android, and here's what it

564
00:29:04,599 --> 00:29:06,759
looks like in iOS, and the two are totally different

565
00:29:06,880 --> 00:29:09,200
and in some cases don't even work.

566
00:29:09,720 --> 00:29:12,960
Speaker 3: It goes with the architecture decisions that were taken, right,

567
00:29:13,000 --> 00:29:14,880
So it was the evotion of our informs. We took

568
00:29:14,880 --> 00:29:18,039
a different approach. We really like our mindset coming from

569
00:29:18,079 --> 00:29:21,759
the agency world and knowing that the enterprise and brands

570
00:29:21,839 --> 00:29:24,640
and general would want to favor pixel perfect designs that

571
00:29:24,680 --> 00:29:27,640
would look and behave the sad across all platforms. We

572
00:29:27,759 --> 00:29:32,119
took different approach to instead of relying on native widgets

573
00:29:32,319 --> 00:29:34,319
on a per platform basis and trying to create UI

574
00:29:34,400 --> 00:29:37,680
obstructions where like, okay, we have a standard, let's build

575
00:29:37,839 --> 00:29:40,680
according to design systems to material design system to flood

576
00:29:40,680 --> 00:29:44,039
and make sure it looks and behaves assignment be pixel

577
00:29:44,079 --> 00:29:47,519
perfect across all platforms. So we would still use native

578
00:29:47,559 --> 00:29:50,200
rendering in some cases, like the UI Kit for two

579
00:29:50,279 --> 00:29:53,359
D primitives too, because like it was capable of drawing

580
00:29:53,440 --> 00:29:57,519
rectangles and up seas and text, but we would leverage

581
00:29:57,839 --> 00:29:59,880
a rich shiling engine that's been out there since the

582
00:30:00,119 --> 00:30:02,279
PF right and if you look at the PF VPN

583
00:30:02,319 --> 00:30:05,400
one uied and there's this styling engine with the abstraction

584
00:30:05,480 --> 00:30:07,480
of control ten place where the behavior of a control

585
00:30:07,599 --> 00:30:10,079
is separate from the look of control. And by doing

586
00:30:10,200 --> 00:30:13,160
that we've been able to accomplish same behavior across all

587
00:30:13,200 --> 00:30:16,319
platforms and same look and field across all platforms by default.

588
00:30:16,759 --> 00:30:18,839
If you want to go platform specific and have a

589
00:30:18,880 --> 00:30:22,400
different table button between iOS Android, you still can and

590
00:30:22,480 --> 00:30:25,000
you can tap into these native controls. By by default,

591
00:30:25,839 --> 00:30:30,319
we we offer people a way to like look the

592
00:30:30,359 --> 00:30:33,759
same and pixel perfect across all platforms. And going back

593
00:30:33,799 --> 00:30:37,519
to your point about like being like familiar with Blazer

594
00:30:37,559 --> 00:30:40,039
and a SMaL. That's the great thing we're seeing by

595
00:30:40,119 --> 00:30:42,440
offering tooling and designers today. If I go back to

596
00:30:42,519 --> 00:30:45,319
hot Design for a second, like the number one comment

597
00:30:45,440 --> 00:30:49,200
and piece of feedback we got whereby technical leads saying, oh,

598
00:30:49,279 --> 00:30:51,359
it's going to be so easy for people to start

599
00:30:51,440 --> 00:30:55,200
building apps for we know without even without prior knowledge

600
00:30:55,240 --> 00:30:58,319
of ZAMO, because now you have a visual design tool

601
00:30:58,599 --> 00:31:00,119
that you can drag and drop. You can see all

602
00:31:00,160 --> 00:31:03,039
properties available contextual to your selection. You can see the

603
00:31:03,200 --> 00:31:06,599
values and you're runting app. So the harh moment of

604
00:31:07,119 --> 00:31:10,079
having a text blocked and being able to go to

605
00:31:10,200 --> 00:31:13,079
the text property and see in the binding all of

606
00:31:13,200 --> 00:31:15,640
you the data of your current data context or the

607
00:31:15,799 --> 00:31:18,599
current view model and seeing the current values there so

608
00:31:18,720 --> 00:31:21,920
you don't even have to guess binding expressions, they're right there.

609
00:31:22,079 --> 00:31:23,799
This is what I want to show in this and

610
00:31:24,079 --> 00:31:26,720
in real time it shows as you're setting up your binding.

611
00:31:27,279 --> 00:31:30,440
From the discoverability and onboarding standpoint, it's amazing. So and

612
00:31:30,799 --> 00:31:33,119
as a great learning process because once you've designed something

613
00:31:33,160 --> 00:31:35,680
as a junior developer, then you can go figure out

614
00:31:35,720 --> 00:31:38,119
what the Zammo looks like because obviously updates in real time,

615
00:31:38,160 --> 00:31:38,839
so it's a great.

616
00:31:38,759 --> 00:31:41,000
Speaker 2: And yeah, that turns into a nice interplay.

617
00:31:40,759 --> 00:31:42,960
Speaker 1: As a senior developer, I don't want to know what

618
00:31:43,039 --> 00:31:44,000
this Zammo looks like.

619
00:31:45,920 --> 00:31:48,400
Speaker 2: But it is nice because there's certain cases where it's

620
00:31:48,440 --> 00:31:50,079
like you need to set a whole bunch of properties

621
00:31:50,119 --> 00:31:53,519
and going through the dialogues can be tedious. Once you

622
00:31:53,640 --> 00:31:56,039
see what the layout looks like in the Zamo itself,

623
00:31:56,079 --> 00:31:58,440
it's not that hard to edit and do it yourself,

624
00:31:58,519 --> 00:32:00,640
but it's nice to use the design to get the

625
00:32:00,720 --> 00:32:04,160
initial template right and then tweak it in code.

626
00:32:04,599 --> 00:32:07,000
Speaker 3: You're totally right. And that's the beauty of our approach

627
00:32:07,039 --> 00:32:09,440
of being run time because like, yes, you can leverage

628
00:32:09,440 --> 00:32:12,880
hot design, you're discovering, you're using it when it's efficient

629
00:32:12,960 --> 00:32:14,920
for you, But you can always go back to your

630
00:32:15,400 --> 00:32:18,160
examo and your running app, and then hotteral ticks in.

631
00:32:18,200 --> 00:32:20,880
If you're making a modification and Zamo maybe something that's

632
00:32:20,920 --> 00:32:23,000
not even supported yet in hot design and are like

633
00:32:23,079 --> 00:32:25,799
property grid or something, you can still go back and

634
00:32:25,920 --> 00:32:29,079
Zammo type in those modifications, save your file, and then

635
00:32:29,160 --> 00:32:31,079
hotter real ticks in because your app is still running

636
00:32:31,240 --> 00:32:33,680
and you will see those changes take effect in your

637
00:32:33,720 --> 00:32:35,640
running app, and then hot design will pick them up

638
00:32:35,960 --> 00:32:38,079
new values, and then you can go back and forth

639
00:32:38,119 --> 00:32:41,039
and have really hotter good and hot design work hand

640
00:32:41,079 --> 00:32:41,400
in hand.

641
00:32:41,559 --> 00:32:44,680
Speaker 1: Should we talk about third party tools? Are there third

642
00:32:44,759 --> 00:32:47,880
party tools for Uno? Are they just win UI tools?

643
00:32:48,000 --> 00:32:48,039
Speaker 2: What?

644
00:32:48,480 --> 00:32:48,640
Speaker 4: How?

645
00:32:48,880 --> 00:32:51,160
Speaker 1: How do we what's the story there?

646
00:32:51,319 --> 00:32:54,759
Speaker 3: So there's three categories of third party components that work

647
00:32:54,839 --> 00:32:58,440
with UNO and you win UI API compatible components that

648
00:32:58,519 --> 00:33:01,359
have been like target target then who knows can work.

649
00:33:01,440 --> 00:33:04,240
So for example, the max of Community Toolkit today, they

650
00:33:04,240 --> 00:33:06,920
have a bunch of controls available, data grads and other

651
00:33:07,000 --> 00:33:10,519
component wrap panels, expanders. They all work what you know

652
00:33:10,559 --> 00:33:12,519
because they've been recompiled for who know as well. So

653
00:33:12,640 --> 00:33:15,200
this is the first category of components from the win

654
00:33:15,319 --> 00:33:19,640
uy ecosystem. Last year we've introduced malw embedding, so any

655
00:33:19,759 --> 00:33:23,920
mail we control. If you're obviously just targeting the platforms

656
00:33:23,960 --> 00:33:27,240
that MAW supports, so it was Android, the Windows, and Mac.

657
00:33:27,559 --> 00:33:30,759
You can leverage any Malwi component and embed them into

658
00:33:30,880 --> 00:33:33,160
your owner application. So we're able to tap into this

659
00:33:33,279 --> 00:33:37,400
ecosystem as well. And the third and equally important is

660
00:33:37,720 --> 00:33:44,680
Skia based components sorry Skia, So we can use any

661
00:33:44,720 --> 00:33:48,200
Ski component because like we support Skia canvases and who knows,

662
00:33:48,319 --> 00:33:52,440
we can use these third parties kiabased component like maps, uy,

663
00:33:52,720 --> 00:33:55,039
live charts and all these components work. What do you

664
00:33:55,119 --> 00:33:57,640
know as well? Wow, so it's really a rich ecosystem.

665
00:33:57,799 --> 00:34:00,920
Speaker 4: And then there's the fourth So you have choices from

666
00:34:00,920 --> 00:34:04,039
those three. But if there's something that is not fitting anywhere,

667
00:34:04,200 --> 00:34:07,839
then we also have our own UI toolkit as well.

668
00:34:08,920 --> 00:34:11,320
That you know, fran so I can talk about exactly

669
00:34:11,320 --> 00:34:13,840
which ones they are, but they work seamlessly with the

670
00:34:13,960 --> 00:34:16,239
extensions that we have and things of that nature. So

671
00:34:16,320 --> 00:34:18,400
that and that cross platform first.

672
00:34:19,400 --> 00:34:22,199
Speaker 3: So wow, yeah, so we had to create additional We

673
00:34:22,320 --> 00:34:24,559
created additional controls to fill in some of the gaps.

674
00:34:24,599 --> 00:34:27,239
So because we implemented when UI is contract and this

675
00:34:27,440 --> 00:34:29,960
is like what we ship as our core seat of controls.

676
00:34:30,079 --> 00:34:32,519
When you Y has always been focused on desktop first

677
00:34:32,559 --> 00:34:35,639
experiences and we might we have been focused on mobile first,

678
00:34:35,679 --> 00:34:38,800
you could argue experiences. So there is controls like the

679
00:34:39,000 --> 00:34:42,960
bottom tap bars navigation bars that war necessarily needed for

680
00:34:43,039 --> 00:34:46,280
desktop that we've added to our own tool kit as

681
00:34:46,320 --> 00:34:49,440
an expansion pack of additional controls that are typically required

682
00:34:49,559 --> 00:34:52,639
in cross platform scenarios. But you can always because we're

683
00:34:53,039 --> 00:34:57,119
typing sitting on top of native UI kits, you can

684
00:34:57,199 --> 00:35:00,880
always go platform specifics. So we've had customers do we

685
00:35:01,039 --> 00:35:02,760
know for a web assembly, but then they've taken this

686
00:35:02,920 --> 00:35:07,880
JavaScript based map component or calendar picker or something like

687
00:35:07,960 --> 00:35:10,320
that that was specific to their needs and embedded it

688
00:35:10,679 --> 00:35:13,280
and there wasn't target like you can obviously but web

689
00:35:13,320 --> 00:35:15,599
views on the other platforms, but for websit it makes

690
00:35:15,599 --> 00:35:17,440
a lot of sense, rich text edit terms and stuff

691
00:35:17,440 --> 00:35:17,559
like that.

692
00:35:17,840 --> 00:35:20,519
Speaker 2: Yeah, because it's still early days for hot design, right,

693
00:35:20,639 --> 00:35:23,159
like you always only really showed this off in November

694
00:35:23,360 --> 00:35:23,840
last year.

695
00:35:24,199 --> 00:35:26,960
Speaker 3: Yeah, So we've been running a private alpha with like

696
00:35:27,079 --> 00:35:30,920
top influencers and people we for whom we care about

697
00:35:30,960 --> 00:35:34,519
their opinions for them to really provide valuable feedback. We've

698
00:35:34,559 --> 00:35:38,320
announced our private beta at dot dot com and we're

699
00:35:40,119 --> 00:35:42,960
by the time you will go live with this will

700
00:35:42,960 --> 00:35:45,639
probably be in public beta if all goes well.

701
00:35:45,679 --> 00:35:47,760
Speaker 2: Because I see join the wait list on the site

702
00:35:47,880 --> 00:35:48,239
right now.

703
00:35:48,440 --> 00:35:52,599
Speaker 3: Yeah, So like, but that's true, that's a mess of changing.

704
00:35:52,679 --> 00:35:55,639
So we're gonna go with our public beta to gather

705
00:35:55,719 --> 00:35:58,280
additional feedback. Now that we've been running a private beta

706
00:35:58,480 --> 00:36:01,519
and I got like amazing feedback, We're we're ready to

707
00:36:01,559 --> 00:36:02,559
go with a public better.

708
00:36:02,599 --> 00:36:04,519
Speaker 4: And I think those some of those conversations we were

709
00:36:04,599 --> 00:36:07,000
having with those one hundred about one hundred people that

710
00:36:07,079 --> 00:36:09,039
we interviewed that was very interesting and eye opening. And

711
00:36:10,280 --> 00:36:12,079
you guys may relate to this, but a lot of

712
00:36:12,119 --> 00:36:14,280
people told us, hey, this is how I learned to

713
00:36:14,400 --> 00:36:16,599
code right back in the day, and when we talked

714
00:36:16,599 --> 00:36:19,239
to Microsoft as well, that there's a there's a I

715
00:36:19,280 --> 00:36:21,679
think a great hope amongst all of us is that

716
00:36:22,000 --> 00:36:25,440
this tool will help bring even more developers to dot net.

717
00:36:25,760 --> 00:36:29,719
Speaker 2: Yeah, that that designer code interplay helps you, you know,

718
00:36:29,880 --> 00:36:32,000
drag and drop your way into seeing what the code

719
00:36:32,000 --> 00:36:32,679
should look.

720
00:36:32,639 --> 00:36:35,159
Speaker 4: Like exactly exactly and staring at that kind of like

721
00:36:35,239 --> 00:36:37,719
a you know, blank blank project if you will. Even

722
00:36:37,800 --> 00:36:39,679
having a great hot fill out, which we do have,

723
00:36:40,199 --> 00:36:43,239
it's one thing, but when you were designing with you know,

724
00:36:43,360 --> 00:36:46,920
drag and drop and maybe other things as well in

725
00:36:47,159 --> 00:36:51,000
the future, then you're able to to really accelerate and

726
00:36:51,119 --> 00:36:53,679
learn a lot quicker. So there's that That's why you know,

727
00:36:53,719 --> 00:36:56,159
we have. We've got lots of support from from Microsoft

728
00:36:57,360 --> 00:37:00,199
along the way. We've got some stage time. I'm a

729
00:37:00,239 --> 00:37:02,519
dot dot company. We've actually you know, I need to

730
00:37:02,559 --> 00:37:03,039
brag here.

731
00:37:04,519 --> 00:37:06,079
Speaker 2: Yeah, I was going to ask you how'd you get

732
00:37:06,119 --> 00:37:07,119
this in the dot com?

733
00:37:07,800 --> 00:37:08,000
Speaker 1: Yeah?

734
00:37:08,119 --> 00:37:12,239
Speaker 4: It was a number one trending news day three. It

735
00:37:12,400 --> 00:37:14,480
was the top top news.

736
00:37:14,559 --> 00:37:16,440
Speaker 2: On on x wow.

737
00:37:16,639 --> 00:37:18,239
Speaker 3: And we could have guessed that, right because.

738
00:37:18,760 --> 00:37:21,440
Speaker 2: I remember it was very Folks are really stoked about.

739
00:37:21,199 --> 00:37:23,440
Speaker 3: It because we've all been asking for something like this

740
00:37:23,559 --> 00:37:25,800
to be built for ten to fifteen years. Right, once

741
00:37:25,840 --> 00:37:28,599
you've tasted it back in the days, like you're like,

742
00:37:28,719 --> 00:37:31,599
it should be possible to build something center for cross

743
00:37:31,639 --> 00:37:35,280
platform apps, right, And that's what we said ourselves on.

744
00:37:35,480 --> 00:37:38,320
Speaker 2: Yeah, apparently it's hard because it's been years, right, Like

745
00:37:38,440 --> 00:37:42,360
this is not a simple thing either. I mean I'm

746
00:37:42,400 --> 00:37:44,920
interested how Microsoft reacts this in general. Like in one way,

747
00:37:44,920 --> 00:37:46,639
it is like this should have been in the box.

748
00:37:47,519 --> 00:37:50,079
But now that a quote unquote partner, not that there

749
00:37:50,119 --> 00:37:53,360
really is the VSIP program anymore. And I'm using acronyms

750
00:37:53,639 --> 00:37:57,400
visual studio Industry partner. Like what's upon a time in

751
00:37:57,519 --> 00:38:00,440
the good old days, like there were gathering and things

752
00:38:00,480 --> 00:38:02,719
in Microsoft brief to you guys, and you know, we

753
00:38:02,840 --> 00:38:05,880
all all work pretty closely together. But that's that's kind

754
00:38:05,880 --> 00:38:09,320
of ended. So yeah, I'm just interested how Microsoft reacts

755
00:38:09,360 --> 00:38:09,480
to this.

756
00:38:10,159 --> 00:38:13,239
Speaker 3: They've been an amazing partner. Like we're building on top

757
00:38:13,280 --> 00:38:18,119
of dot net, we might encounter some blockers sometimes, like

758
00:38:18,440 --> 00:38:20,440
we want to contribute as well back to the platform

759
00:38:20,480 --> 00:38:23,400
and runtime drone as a contributor to dot that runtime.

760
00:38:24,519 --> 00:38:26,639
So like, they've been an amazing partner. We have a

761
00:38:26,719 --> 00:38:29,119
chance to meet with them frequent free to provide feedback

762
00:38:29,199 --> 00:38:31,920
to surface some of the tooling issues or like in

763
00:38:32,039 --> 00:38:35,920
compatibilities that might be like with Visual Studio for example.

764
00:38:36,320 --> 00:38:37,840
So like they've been amazing.

765
00:38:38,039 --> 00:38:40,000
Speaker 4: Yeah, yeah, and I'll go back there to you know,

766
00:38:40,119 --> 00:38:42,679
what Microsoft cares about and and a couple of the

767
00:38:43,400 --> 00:38:46,280
technologies you tossed out there during this in interview. So yeah,

768
00:38:46,559 --> 00:38:51,519
Microsoft doesn't necessarily care as much about adoptional Blazer or

769
00:38:52,079 --> 00:38:56,039
or our Mauo'd rather they're not selling either Blazer or Maui.

770
00:38:56,079 --> 00:38:59,119
But they don't care a lot about adoptional dot net,

771
00:38:59,199 --> 00:39:02,800
and we promote the usage of dot net. We are

772
00:39:02,920 --> 00:39:06,280
most closely compared to Usually like if a name comes up,

773
00:39:07,239 --> 00:39:10,079
a technology comes up during discussion it's Flutter, so we're

774
00:39:10,239 --> 00:39:14,320
most aligned. They're kind of from that vision for the

775
00:39:14,599 --> 00:39:15,000
dot Net.

776
00:39:15,239 --> 00:39:19,599
Speaker 2: You can't argue with Flutter's approach to mobile client development.

777
00:39:19,719 --> 00:39:26,039
It's it's a very compelling metaphor dart notwithstanding not that

778
00:39:26,119 --> 00:39:29,079
they'll come to appreciate like the language doesn't actually matter

779
00:39:29,440 --> 00:39:32,559
that much that it is about the framework and their

780
00:39:32,800 --> 00:39:36,280
design language for how you talk describe a mobile app

781
00:39:36,320 --> 00:39:38,280
so that it works on iOS and andrant pre compelling.

782
00:39:38,639 --> 00:39:42,960
Their path to desktop is not good. You know, they've

783
00:39:43,000 --> 00:39:44,960
got the other problem, but that's the same problem Zama

784
00:39:45,000 --> 00:39:47,480
Informs had, except it also was a battle to make

785
00:39:47,519 --> 00:39:48,400
it work for the phones.

786
00:39:49,440 --> 00:39:52,079
Speaker 3: And they've been a great baseline and benchmark for everything

787
00:39:52,119 --> 00:39:54,360
we've been doing in terms of comparing and that's why

788
00:39:54,400 --> 00:39:56,880
we've invested, for example, so much on at or hotter Lood.

789
00:39:57,559 --> 00:40:00,159
So like you would think dot net offers read out

790
00:40:00,159 --> 00:40:02,800
of the box, and yes they do, but there's temptations

791
00:40:02,840 --> 00:40:05,079
and then you need to interpret those changes as a

792
00:40:05,159 --> 00:40:08,599
cross platform UI frame, right, and so that's why we

793
00:40:08,719 --> 00:40:11,280
came up so right now with load and know you

794
00:40:11,360 --> 00:40:13,960
have visual indicators, so you know when changes are being applied.

795
00:40:14,000 --> 00:40:17,360
You know what got applied, so there's no unknowns or

796
00:40:17,440 --> 00:40:21,400
you wandering like why didn't that change get applied? And

797
00:40:21,519 --> 00:40:23,800
you're able to see all those changes both from ZAMO

798
00:40:23,920 --> 00:40:27,199
and c sharp being applied in real time and not

799
00:40:27,320 --> 00:40:29,360
only in visual to you for Windows, but across all

800
00:40:29,440 --> 00:40:32,440
ideas start getting all platforms from any operating system. So

801
00:40:32,559 --> 00:40:34,880
that's a mindset and that's something you would have expected

802
00:40:34,920 --> 00:40:38,239
from Flutter and being able to mimic that richness and

803
00:40:38,480 --> 00:40:40,840
dot net ecosystem has been like super important for us

804
00:40:41,079 --> 00:40:42,840
and for our clients.

805
00:40:42,920 --> 00:40:45,719
Speaker 2: I mean, would a Flutter developer want to use the

806
00:40:45,960 --> 00:40:47,800
UNO platform? Is that a possibility?

807
00:40:48,599 --> 00:40:51,039
Speaker 3: Well, if they're willing to jump back and dot net train,

808
00:40:51,159 --> 00:40:51,480
for sure.

809
00:40:51,880 --> 00:40:54,880
Speaker 2: I guess that's It's nice over here. We love you.

810
00:40:56,679 --> 00:40:59,920
Speaker 1: I think, you know, we talk about you know, why

811
00:41:00,239 --> 00:41:03,360
hasn't this happened before? And you know whatso why is

812
00:41:03,440 --> 00:41:05,480
Malie so hard? And all these things? And I think

813
00:41:06,039 --> 00:41:08,639
if you understand market incentives and you just think for

814
00:41:08,679 --> 00:41:12,079
a minute, you kind of get it that. Hey, for

815
00:41:12,199 --> 00:41:15,360
me the developer, I want to put out an Android

816
00:41:15,400 --> 00:41:17,280
app and I want to put out an iOS app.

817
00:41:17,840 --> 00:41:20,800
But for Apple, Apple doesn't care about parity with Android

818
00:41:20,960 --> 00:41:23,480
and Android doesn't care about paroity with iOS, and I

819
00:41:23,480 --> 00:41:25,719
would go to say so far as to say they

820
00:41:25,800 --> 00:41:28,840
want to stand out. They want you to develop for them,

821
00:41:29,480 --> 00:41:34,079
not for their you know, you know, for their competitors.

822
00:41:34,159 --> 00:41:37,800
So so that therein lies the problem. Whereas like in

823
00:41:37,880 --> 00:41:42,280
the browser world, right, you know, Opera and Edge and

824
00:41:43,000 --> 00:41:47,079
Firefox and Chrome, they all have an incentive to make

825
00:41:47,159 --> 00:41:51,800
the experience the same on all browsers, don't they. And

826
00:41:51,920 --> 00:41:54,840
that's why HTML five comes around and says we're going

827
00:41:54,880 --> 00:41:57,039
to you know, this is the standard that you should

828
00:41:57,039 --> 00:42:01,199
all have because of something. If a website looks good

829
00:42:01,280 --> 00:42:03,920
in Chrome and it doesn't look good in Firefox, who

830
00:42:03,920 --> 00:42:07,880
are they going to complain to Firefox? So Firefox doesn't

831
00:42:07,920 --> 00:42:10,639
want people having a negative view of their browsers, so

832
00:42:10,719 --> 00:42:11,960
they want to be on parody.

833
00:42:12,199 --> 00:42:15,360
Speaker 2: Yeah, I know. I think the battle air was in Safari, right, like,

834
00:42:15,599 --> 00:42:19,079
because Safari did lag on some of those HTML five

835
00:42:19,119 --> 00:42:21,679
features and got punished for it. Not that they don't

836
00:42:21,679 --> 00:42:23,000
have a captive market.

837
00:42:22,880 --> 00:42:25,719
Speaker 1: Well, they were mostly interested on people developing for iOS,

838
00:42:25,840 --> 00:42:28,280
So Safari was kind of like, yeah, we'll get around

839
00:42:28,320 --> 00:42:28,480
to that.

840
00:42:28,719 --> 00:42:31,519
Speaker 2: I think your core point here, Carl is the only

841
00:42:31,679 --> 00:42:35,119
person that cares about cross platform developed develop is us. Yeah.

842
00:42:35,159 --> 00:42:37,920
The customer doesn't care. They just wants to run their device. Yeah.

843
00:42:38,000 --> 00:42:40,559
The vendors don't care. They just care about their device,

844
00:42:40,639 --> 00:42:42,119
Like we're the only ones that care.

845
00:42:42,400 --> 00:42:42,679
Speaker 1: Mm hm.

846
00:42:42,880 --> 00:42:45,440
Speaker 2: Well and France one Sasha care for us too, because

847
00:42:45,440 --> 00:42:46,400
they're trying to help us too.

848
00:42:46,559 --> 00:42:47,920
Speaker 1: I thought they were included in us.

849
00:42:48,880 --> 00:42:52,960
Speaker 2: They are us also, but it's recognizing that we're in

850
00:42:53,079 --> 00:42:56,000
the middle here where above us and below us. This

851
00:42:56,119 --> 00:42:57,480
problem is not important to them, yep.

852
00:42:57,519 --> 00:42:59,159
Speaker 3: And it's a great opportunity for us to make a

853
00:42:59,159 --> 00:43:00,599
difference right as there's.

854
00:43:00,440 --> 00:43:03,239
Speaker 2: This gap because you always, you always have this problem.

855
00:43:03,320 --> 00:43:04,960
It has to run on iOS and Android, and it

856
00:43:05,039 --> 00:43:08,400
needs to have parody like the stink I've heard where hey,

857
00:43:08,480 --> 00:43:11,280
we use native and new features came out on iOS first,

858
00:43:11,320 --> 00:43:14,280
and the Android people are furious. Like in some ways

859
00:43:14,320 --> 00:43:17,719
you need this hybrid mobile development because you want to

860
00:43:17,719 --> 00:43:18,800
ship the feature at the same time.

861
00:43:18,840 --> 00:43:20,559
Speaker 4: But it's always just a matter of time. Even when

862
00:43:20,559 --> 00:43:22,400
you speak right now, you talk about cross platform and

863
00:43:22,440 --> 00:43:25,440
you're mentioning two platforms and maybe the third one, right,

864
00:43:25,559 --> 00:43:28,400
But it's it's not really like that, right, It's it's

865
00:43:28,440 --> 00:43:31,760
cross platform in it's truest sense cross platform anywhere. Right,

866
00:43:31,840 --> 00:43:33,920
it's just a matter of time you develop your cross

867
00:43:33,960 --> 00:43:36,079
platform mobile app and then the next thing you know

868
00:43:36,199 --> 00:43:40,440
is the management is asking for how about platform x? Right?

869
00:43:41,559 --> 00:43:44,840
Speaker 3: And something I don't feel we spend dearly enough time

870
00:43:44,920 --> 00:43:47,519
talking about is like it goes back to what's soudo platform?

871
00:43:47,800 --> 00:43:50,960
And that's a name. Right, there's a cross platform UI

872
00:43:51,079 --> 00:43:53,920
framework aspect of it. And that's an important because obviously

873
00:43:54,000 --> 00:43:56,360
you want your buttons to be working and behaving the

874
00:43:56,400 --> 00:43:58,960
same everywhere and looking the same everywhere. But there's everything

875
00:43:59,039 --> 00:44:02,880
else that take to build real enterprise adds. Right, So

876
00:44:03,480 --> 00:44:06,920
how do you deal with navigation and a responsive mindset?

877
00:44:07,000 --> 00:44:07,119
Speaker 1: Right?

878
00:44:07,239 --> 00:44:10,239
Speaker 3: Like this on that deep linking and then authentication and

879
00:44:10,360 --> 00:44:13,800
then refreshing of tokens and each peer requests and serilization

880
00:44:13,960 --> 00:44:18,360
and logging and having different configurations for dev QA staging

881
00:44:18,519 --> 00:44:23,639
productions and all these aspects of building software times six

882
00:44:23,840 --> 00:44:25,440
or seven when you're looking at it from in a

883
00:44:25,519 --> 00:44:28,960
cross platform world, and that's where who Knows stands out

884
00:44:29,039 --> 00:44:31,360
in my book, is like, yes, there's a cross platform

885
00:44:31,400 --> 00:44:33,880
your wife framework and we get asked how we compare

886
00:44:33,880 --> 00:44:37,400
to others? But all the other patterns and recipes and yes,

887
00:44:37,559 --> 00:44:40,360
like that's my influence, the patterns and practices back. But like,

888
00:44:40,760 --> 00:44:43,840
how can you build everything that's required to build an app?

889
00:44:44,039 --> 00:44:46,079
How can you offer obviously obtain you don't want to

890
00:44:46,119 --> 00:44:48,440
lock them into a black box of like here's how

891
00:44:48,519 --> 00:44:51,960
you code software, but like there's like design systems and

892
00:44:52,000 --> 00:44:54,800
all these toolkits, and how do you deal with the

893
00:44:54,960 --> 00:44:58,320
nutches and the safe areas and the system tree colors

894
00:44:58,400 --> 00:45:02,159
when you're like your foreground background colors change, Like, there's

895
00:45:02,320 --> 00:45:04,840
so many challenges and that's why it ends up taking

896
00:45:05,480 --> 00:45:08,239
five thousand hours to build an app when you would

897
00:45:08,280 --> 00:45:10,800
have expected it to take five hundred, Right, so how

898
00:45:10,880 --> 00:45:13,440
can we make everybody ten x developers?

899
00:45:13,519 --> 00:45:15,119
Speaker 2: Well and that was even the hard part. V one

900
00:45:15,280 --> 00:45:18,199
was one thing. V two is worse. Yeah, right, Like

901
00:45:18,320 --> 00:45:20,559
then you try and make changes to it, oil boy,

902
00:45:20,840 --> 00:45:24,159
Like that the nature of mobile development. But we've seen

903
00:45:24,199 --> 00:45:27,280
folks battle with and still I'm still talking to platforms

904
00:45:27,440 --> 00:45:30,960
like when you add more, this gets exponentially worse, it

905
00:45:31,119 --> 00:45:33,800
gets slower. It's it's really hard to keep moving forward.

906
00:45:34,840 --> 00:45:38,719
I obviously iOS, Android, what do you typically the next

907
00:45:38,760 --> 00:45:41,559
one is web? But then do you have folks also saying,

908
00:45:41,559 --> 00:45:43,800
oh what, I want a native Windows app and I

909
00:45:43,880 --> 00:45:46,400
want a native mac Os app and now it's five.

910
00:45:46,639 --> 00:45:50,079
Speaker 3: Yeah, we have many ISVs or inputent SELFTW revenders that

911
00:45:50,199 --> 00:45:52,679
have been creating apps on Windows step only and they've

912
00:45:52,920 --> 00:45:56,440
been pressured to go to other platforms and they're modernizing.

913
00:45:57,480 --> 00:45:59,880
But yes, we do have like other customers that are

914
00:46:00,239 --> 00:46:03,400
web only because it's their primary method of deploying.

915
00:46:03,559 --> 00:46:04,480
Speaker 2: It's the safety play.

916
00:46:04,559 --> 00:46:06,800
Speaker 3: Yeah, it's safety play. But some of them are in

917
00:46:06,880 --> 00:46:11,360
the manufacturing sector and they only care about embedded Linux devices.

918
00:46:11,519 --> 00:46:14,280
Speaker 2: Yeah, how much of that market is like that, that's

919
00:46:14,400 --> 00:46:17,280
just not on these typical platforms. It's I mean to

920
00:46:17,400 --> 00:46:19,280
presume it's small. It's not zero, but it's small.

921
00:46:19,440 --> 00:46:21,480
Speaker 3: No, obviously it's on the lower end. But they're equally

922
00:46:21,519 --> 00:46:23,920
important to us because of the promise of the platform,

923
00:46:24,000 --> 00:46:25,679
so we make sure we support them equally.

924
00:46:25,719 --> 00:46:27,679
Speaker 2: But yeah, I must say they're money makers, like those

925
00:46:27,719 --> 00:46:31,119
are good customers, like they they will they will stay

926
00:46:31,159 --> 00:46:33,920
with you, and those those apps don't go away. Anything

927
00:46:34,000 --> 00:46:36,880
running in the manufacturing floors of what they persist are

928
00:46:36,920 --> 00:46:40,039
therefore work. It's a good product. Where you know, a

929
00:46:40,079 --> 00:46:42,440
lot of mobile apps are pretty transient come and go.

930
00:46:42,559 --> 00:46:44,159
Speaker 3: It's not a big yeah, and they're probably the customers

931
00:46:44,199 --> 00:46:45,760
that have been the most excited by what we are

932
00:46:45,760 --> 00:46:47,679
shipping with the hut deesiling right, because now you have

933
00:46:47,800 --> 00:46:52,280
a running no app on a physical Raspberry Ply for example,

934
00:46:52,639 --> 00:46:55,960
and you're now with a wig Dragon dropping components on

935
00:46:56,039 --> 00:46:58,760
that running device from your tool and.

936
00:46:59,599 --> 00:47:03,159
Speaker 2: So you're poking code into that already running device remotely

937
00:47:03,559 --> 00:47:06,000
like Voodoo and the and the UX changing.

938
00:47:06,119 --> 00:47:09,239
Speaker 4: It makes makes for some great demos on keynote stages.

939
00:47:09,239 --> 00:47:11,159
I'll tell you that for sure. Yeah, now wait to

940
00:47:11,199 --> 00:47:11,679
do it again.

941
00:47:11,960 --> 00:47:14,360
Speaker 1: They kind of do that with hot reload in an

942
00:47:14,360 --> 00:47:17,159
iOS thing too. It's they just put a shim in

943
00:47:17,239 --> 00:47:19,079
there that looks like an app, but it's not really.

944
00:47:19,320 --> 00:47:21,599
Speaker 3: But in our case, it's the actual running app. It's

945
00:47:21,639 --> 00:47:24,519
a designer. It's the actual running app. We're sitting on

946
00:47:24,599 --> 00:47:26,320
top of a reload. But now we have the design

947
00:47:26,400 --> 00:47:29,480
surface that actually, because it's we're laid in the app,

948
00:47:29,880 --> 00:47:31,960
you're able to like drag and drop components onto your

949
00:47:32,079 --> 00:47:35,239
running app. Yeah, and that's why, like we've some of

950
00:47:35,320 --> 00:47:37,320
the were pet depending on hot design because it's a

951
00:47:37,400 --> 00:47:40,199
unique spind of like being a run time experience.

952
00:47:40,360 --> 00:47:42,800
Speaker 2: Now, I remember were talking to the hot reload guys

953
00:47:42,840 --> 00:47:45,320
and they were also saying, like there's a threshold of

954
00:47:45,519 --> 00:47:48,199
change where it goes, Oh no, no, we really actually

955
00:47:48,280 --> 00:47:50,599
need to recompile. Like they got to think there's certain

956
00:47:50,639 --> 00:47:52,320
ever changes you can make that are going to work

957
00:47:52,320 --> 00:47:53,800
in the context, and at some point it's going to

958
00:47:53,880 --> 00:47:55,679
go and give it a cycle, please, And.

959
00:47:55,800 --> 00:47:57,679
Speaker 3: It keeps me up at night, like all do is

960
00:47:57,760 --> 00:48:00,519
rooted it, and like how can we minimize them? And obviously,

961
00:48:00,599 --> 00:48:04,440
in some like specific cases, if you're modifying lambda expressions

962
00:48:04,599 --> 00:48:07,239
through your source generators and all that, there's still some

963
00:48:07,519 --> 00:48:10,000
edge cases. They've been they've been an amazing job at

964
00:48:10,159 --> 00:48:12,199
like minimizing those cases.

965
00:48:12,480 --> 00:48:14,320
Speaker 2: There's always going to be some edges, but and it's

966
00:48:14,320 --> 00:48:16,199
always going to be certain developers you'll like always hit

967
00:48:16,239 --> 00:48:17,840
the edge. Is there mean that way?

968
00:48:17,960 --> 00:48:20,920
Speaker 1: My experience is in hot reload, if you're just changing markup,

969
00:48:21,000 --> 00:48:24,480
it's fine. But if you start changing adding code, removing code,

970
00:48:24,719 --> 00:48:27,199
that kind of thing, yeah, where you're going to have

971
00:48:27,280 --> 00:48:27,920
to restart.

972
00:48:29,119 --> 00:48:29,840
Speaker 2: Yeah, it's fair.

973
00:48:30,119 --> 00:48:34,119
Speaker 1: So so my next question is you guys have obviously

974
00:48:34,400 --> 00:48:37,199
answered the burning questions for me. There might be more

975
00:48:37,280 --> 00:48:40,639
burning questions from our listeners, which we'll get to you know,

976
00:48:40,639 --> 00:48:43,480
if they leave a comment on the website. But what

977
00:48:43,639 --> 00:48:47,119
about what is the biggest question you get from people

978
00:48:47,199 --> 00:48:50,760
who Okay, I have the UNO platform downloading and I'm

979
00:48:50,760 --> 00:48:53,480
working with it. What seems to be the biggest stumbling block,

980
00:48:54,320 --> 00:48:55,079
if any.

981
00:48:55,119 --> 00:48:57,119
Speaker 3: So in the past, for sure, there's been some friction.

982
00:48:57,280 --> 00:48:59,679
Then we've been working hard on removing this friction. So

983
00:49:00,079 --> 00:49:03,360
you an example, like we've invested massively on what we

984
00:49:03,440 --> 00:49:05,280
call no check. So it's a tool that allows you

985
00:49:05,360 --> 00:49:07,880
to set up your environment with all of your dependencies right,

986
00:49:07,960 --> 00:49:11,079
So like you start with that, it sets up everything,

987
00:49:11,159 --> 00:49:14,000
it tells you what's missing, it fixes it as it

988
00:49:14,159 --> 00:49:16,199
was based on a fork. Now we add something some

989
00:49:16,320 --> 00:49:17,719
miracle maw we checked for a while.

990
00:49:17,760 --> 00:49:18,599
Speaker 2: We we.

991
00:49:20,079 --> 00:49:23,079
Speaker 3: Forked it and added a lot to it. And now

992
00:49:23,119 --> 00:49:26,239
with our upcoming release, if you open a solution in

993
00:49:26,280 --> 00:49:28,639
your ID, we'll run and we'll check in the background

994
00:49:28,679 --> 00:49:31,239
and tell you, ay, like these appendances are missing, like

995
00:49:31,280 --> 00:49:33,679
don't even try to build, you should go fix these first.

996
00:49:33,760 --> 00:49:36,320
So making sure that we remove as much friction as

997
00:49:36,400 --> 00:49:40,079
possible and the set up phase of your project has

998
00:49:40,119 --> 00:49:42,599
been extremely important. Facility and boarding.

999
00:49:42,679 --> 00:49:46,800
Speaker 1: The latest Android STK for example, all of that stuff

1000
00:49:47,360 --> 00:49:48,360
license agreements.

1001
00:49:49,079 --> 00:49:51,079
Speaker 2: I remember you trying to do workshops on the SAM

1002
00:49:51,239 --> 00:49:53,039
informs where you literally blew the first half of the

1003
00:49:53,119 --> 00:49:54,719
day getting everybody's configurations.

1004
00:49:54,760 --> 00:49:57,320
Speaker 4: Where yeah, what I want to add, so Francs obviously

1005
00:49:57,360 --> 00:50:00,239
focusing on some of the big things that you had

1006
00:50:00,320 --> 00:50:02,199
ended up heard in the past and then ended up

1007
00:50:02,199 --> 00:50:06,320
fixing it with no check with hot Design is you know,

1008
00:50:06,519 --> 00:50:09,119
we we are getting questions on you know, okay, so

1009
00:50:09,239 --> 00:50:11,800
how do we make this all work with AI because

1010
00:50:11,800 --> 00:50:14,079
at the end of the day, it is it's all

1011
00:50:14,119 --> 00:50:16,679
about productivity. It's all about staying in the flow. That's

1012
00:50:17,000 --> 00:50:19,280
that's what we're aiming to do with hot Design.

1013
00:50:19,840 --> 00:50:19,960
Speaker 2: Uh.

1014
00:50:20,079 --> 00:50:21,679
Speaker 4: And then you know, that is the question that we

1015
00:50:21,760 --> 00:50:25,039
get quite a bit, and Francois has a I think

1016
00:50:25,119 --> 00:50:27,880
a better answer than me here, but let's give the mind.

1017
00:50:27,960 --> 00:50:30,519
Speaker 3: Yeah, it's an interesting question that we get. So, like,

1018
00:50:30,719 --> 00:50:33,119
what's great with the approach we took from an architecture

1019
00:50:33,159 --> 00:50:35,400
standpoint when I said earlier on that we're when you

1020
00:50:35,519 --> 00:50:37,760
I e PI compatible, so you can look at out

1021
00:50:37,760 --> 00:50:40,519
of the box vanilla models and they've been trained unavailable

1022
00:50:40,639 --> 00:50:43,639
like when UI augmentation code samples and all that, so

1023
00:50:43,719 --> 00:50:48,880
you're able to create who know UIs with existing the

1024
00:50:49,000 --> 00:50:51,320
lambs because they've been trained on when UI and works

1025
00:50:51,320 --> 00:50:53,559
out of the box, because we're when you YPI compatible.

1026
00:50:54,639 --> 00:50:57,159
The way we're looking at it from WHO Studio with

1027
00:50:57,360 --> 00:51:00,880
our hot read experience and hot design experience is like,

1028
00:51:01,119 --> 00:51:04,239
how can we improve productivity? Like, obviously there's one end

1029
00:51:04,280 --> 00:51:06,519
of a spectrum where you know what you're doing, so

1030
00:51:06,599 --> 00:51:09,400
we want to facilitate that by offering a design surface.

1031
00:51:09,480 --> 00:51:11,400
You know what you're dragging and all that, and you

1032
00:51:11,480 --> 00:51:14,239
know where you're going. You might have an existing design

1033
00:51:14,639 --> 00:51:16,480
and in that case you can use We have a

1034
00:51:16,639 --> 00:51:19,199
design to code solution where you can generate all of

1035
00:51:19,280 --> 00:51:22,440
your UI code from your FIGNA design. So we've automated

1036
00:51:22,519 --> 00:51:25,639
this process as well as opposed to having to suffer

1037
00:51:25,719 --> 00:51:28,960
through the traditional design handuff process of like looking at

1038
00:51:29,000 --> 00:51:33,639
red lines and calculating margins and rep kating UY code manually.

1039
00:51:33,840 --> 00:51:36,000
So we've automated adapt But if you don't have a

1040
00:51:36,039 --> 00:51:40,719
design and you're building yourself, there's a valid question to

1041
00:51:40,800 --> 00:51:45,519
be asked, can you use AI to generate and iterate

1042
00:51:45,760 --> 00:51:47,960
and co create with AI? And we see it as

1043
00:51:47,960 --> 00:51:51,159
a great copilot is experience, right, so it's there. It

1044
00:51:51,239 --> 00:51:53,880
can give you some initial prototypes and then you can

1045
00:51:53,960 --> 00:51:56,719
tap into have design to modify these product types, as

1046
00:51:56,800 --> 00:51:59,559
opposed to having to go back to AI like as

1047
00:51:59,639 --> 00:52:03,480
almost a destructive kind of experience. Today, if you're looking

1048
00:52:03,519 --> 00:52:05,519
at the AI builders, you're telling them, give me a

1049
00:52:05,559 --> 00:52:08,360
studio app, and you'll create something, you'll guess something, and

1050
00:52:08,440 --> 00:52:10,440
then you'll look at it and you'll say, ah, not

1051
00:52:10,599 --> 00:52:13,800
exactly what I wanted. Let's remove stuff that I didn't

1052
00:52:13,840 --> 00:52:16,159
want to have, right, So it's really negative kind of

1053
00:52:16,239 --> 00:52:19,480
experience where you're removing stuff and you're waiting to see

1054
00:52:19,519 --> 00:52:22,320
the outcome, and that's not really why what I wanted.

1055
00:52:22,360 --> 00:52:24,960
As opposed to when you're focusing on tools that you

1056
00:52:25,800 --> 00:52:29,360
own and master, you're able to build faster exactly what

1057
00:52:29,440 --> 00:52:32,559
you want to have. So there's probably some middle ground

1058
00:52:32,599 --> 00:52:35,280
there and where you'll be as you'll be assisted by

1059
00:52:35,320 --> 00:52:38,199
AI to generate initial prototypes and then tap and leverage

1060
00:52:38,840 --> 00:52:42,199
heart design to refine what AI came up with.

1061
00:52:42,559 --> 00:52:45,880
Speaker 1: So what's next, what's on your wish list, your inbox?

1062
00:52:46,239 --> 00:52:50,920
So like obviously our absolute focuses on hot design. Our

1063
00:52:51,119 --> 00:52:54,920
underlying platform is prestable. We have No six coming soon

1064
00:52:54,960 --> 00:52:58,800
as well. But like from an Uno Studio sandpoint, we've

1065
00:52:58,920 --> 00:53:01,360
gathered tons of feed as to like how can we

1066
00:53:01,599 --> 00:53:08,760
build more shortcuts and accelerators, so extracting styles like supporting animations,

1067
00:53:08,880 --> 00:53:12,559
like supporting more features and hot design, having more advanced

1068
00:53:12,920 --> 00:53:15,519
ready to use templates and widgets right where you can

1069
00:53:15,719 --> 00:53:18,440
drop in maybe a lugin screen or a settings page

1070
00:53:18,519 --> 00:53:21,920
or things like this. So there's tons of gines there

1071
00:53:22,079 --> 00:53:23,559
to improve.

1072
00:53:23,280 --> 00:53:26,440
Speaker 3: Productivity further and all be your a real focus for sure.

1073
00:53:26,559 --> 00:53:26,960
Speaker 1: That's great.

1074
00:53:26,960 --> 00:53:27,719
Speaker 2: And where can we get it?

1075
00:53:27,760 --> 00:53:29,800
Speaker 4: Platform slash Hot Design.

1076
00:53:30,159 --> 00:53:33,840
Speaker 1: Platform dot Slash hot Design. Is that just for the

1077
00:53:33,880 --> 00:53:36,639
hot design stuff or is it platform dot you are

1078
00:53:36,719 --> 00:53:38,320
basic everything landing page.

1079
00:53:38,719 --> 00:53:40,960
Speaker 3: Yeah, you have everything on platform so you can get

1080
00:53:41,000 --> 00:53:42,760
started from there. You can set up your environment so

1081
00:53:42,840 --> 00:53:45,920
you can get access to the entire platform studio stack

1082
00:53:45,960 --> 00:53:48,320
with hot reload and hot design as well, including our.

1083
00:53:48,239 --> 00:53:51,639
Speaker 1: Figma fantastic And I just have to ask how much

1084
00:53:51,760 --> 00:53:55,480
is it TVD? It is?

1085
00:53:55,559 --> 00:53:58,119
Speaker 4: It's actually a great question. I'm glad to ask because

1086
00:53:58,119 --> 00:54:00,960
people are people have asked that. There are a bunch

1087
00:54:01,000 --> 00:54:06,440
of research and it's gonna be competitively priced if you

1088
00:54:06,480 --> 00:54:11,639
want to compare your typical developer accelerators out there. It's

1089
00:54:11,679 --> 00:54:13,480
gonna be in that am. That's what we see, and

1090
00:54:13,480 --> 00:54:17,719
I think that's essential for well, for us to sustain

1091
00:54:17,840 --> 00:54:20,880
and maintain a platform. I think that's one big topic

1092
00:54:21,440 --> 00:54:24,440
that kind of flares up in dot net community every

1093
00:54:24,519 --> 00:54:28,039
so often. So you know a lot of people there's

1094
00:54:28,079 --> 00:54:30,679
been day they change policy, they change thing, and all

1095
00:54:30,719 --> 00:54:32,760
this kind of stuff. We're not so right right from

1096
00:54:32,800 --> 00:54:34,800
the go via making a big promise that onun a

1097
00:54:34,840 --> 00:54:37,800
platform itself will I mean open source.

1098
00:54:37,639 --> 00:54:39,559
Speaker 1: We want it for free, but why doesn't it have

1099
00:54:39,760 --> 00:54:41,679
these features exactly?

1100
00:54:41,840 --> 00:54:44,960
Speaker 4: So, as far as a platform goes as the the

1101
00:54:46,039 --> 00:54:49,760
platform that powers all the all the targets, target frameworks,

1102
00:54:49,800 --> 00:54:53,360
the target target platform, target operating systems, it's going to

1103
00:54:53,599 --> 00:54:56,800
stay free and stay open source under patchy tool and

1104
00:54:56,960 --> 00:55:00,079
these optional add ons and accelerators on top of on

1105
00:55:00,119 --> 00:55:02,800
a platform will be paid. They'll be very developer friendly.

1106
00:55:02,880 --> 00:55:05,480
Dricing that that I can tell you it's really locked in.

1107
00:55:06,039 --> 00:55:07,840
Uh yeah, but you're right. I'm glad that you asked

1108
00:55:07,840 --> 00:55:09,880
because it's well, yeah, it will be paid, and it's

1109
00:55:09,920 --> 00:55:11,000
gonna be it's gonna be.

1110
00:55:11,039 --> 00:55:15,079
Speaker 1: Fair, Okay, And so you're talking about the designer, hot design,

1111
00:55:15,239 --> 00:55:19,239
that kind of stuff which is really innovative, and you

1112
00:55:19,320 --> 00:55:22,440
said gonna be so right now? Is the free in beta?

1113
00:55:22,639 --> 00:55:23,280
Speaker 2: Is that what it is?

1114
00:55:23,920 --> 00:55:23,960
Speaker 1: Is?

1115
00:55:24,239 --> 00:55:24,519
Speaker 2: Okay?

1116
00:55:24,679 --> 00:55:26,280
Speaker 1: Cool? Guys, this is great.

1117
00:55:26,719 --> 00:55:27,679
Speaker 2: Every time I talk to you.

1118
00:55:27,719 --> 00:55:35,159
Speaker 1: Congratulations, charge, yeah, congratulations absolutely all right, Well we'll talk

1119
00:55:35,239 --> 00:55:38,880
to you next time, dear listener on dot net rocks.

1120
00:56:00,079 --> 00:56:02,559
Dot net rocks is brought to you by Franklin's Net

1121
00:56:02,840 --> 00:56:06,760
and produced by Pop Studios, a full service audio, video

1122
00:56:06,880 --> 00:56:10,880
and post production facility located physically in New London, Connecticut,

1123
00:56:11,199 --> 00:56:15,400
and of course in the cloud online at pwop dot com.

1124
00:56:16,199 --> 00:56:18,239
Visit our website at d O T N E t

1125
00:56:18,559 --> 00:56:22,559
R O c k S dot com for RSS feeds, downloads,

1126
00:56:22,760 --> 00:56:26,400
mobile apps, comments, and access to the full archives going

1127
00:56:26,480 --> 00:56:29,840
back to show number one, recorded in September two thousand

1128
00:56:29,880 --> 00:56:32,480
and two. And make sure you check out our sponsors.

1129
00:56:32,679 --> 00:56:35,480
They keep us in business. Now, go write some code,

1130
00:56:36,039 --> 00:56:36,800
See you next time.

1131
00:56:37,719 --> 00:56:39,559
Speaker 4: You got jam Vans

1132
00:56:41,599 --> 00:56:41,639
Speaker 3: And

