WEBVTT

1
00:00:05.280 --> 00:00:08.599
<v Speaker 1>Hey, welcome back to another episode of JavaScript Chamber.

2
00:00:09.160 --> 00:00:10.800
<v Speaker 2>This week, on our panel, we have Dan.

3
00:00:10.679 --> 00:00:12.919
<v Speaker 3>Shapier, Hello from Tel Aviv.

4
00:00:13.599 --> 00:00:16.359
<v Speaker 2>I'm Charles Maxwood from Top End Devs, Hello from.

5
00:00:16.199 --> 00:00:20.120
<v Speaker 1>Lehigh, Utah. We also have a special guest, and that

6
00:00:20.359 --> 00:00:22.280
<v Speaker 1>is you have Abraham.

7
00:00:22.519 --> 00:00:24.160
<v Speaker 2>I hope I got I hope I got close.

8
00:00:24.239 --> 00:00:25.079
<v Speaker 4>Man, got it right?

9
00:00:27.559 --> 00:00:30.399
<v Speaker 1>Yeah, I got on when you guys were chatting when

10
00:00:30.399 --> 00:00:32.159
<v Speaker 1>I hopped on and I was like, yeah, my.

11
00:00:32.200 --> 00:00:37.280
<v Speaker 2>Hebrews atrocious because I don't speak it. So yeah, anyway, yeah,

12
00:00:37.320 --> 00:00:41.640
<v Speaker 2>so you're VP. Did I get that right? No Cto

13
00:00:41.960 --> 00:00:44.679
<v Speaker 2>of Enterprise at Wicks, Right.

14
00:00:45.280 --> 00:00:49.479
<v Speaker 4>I'm CITYO of Wicks Enterprise, which is like a it's

15
00:00:49.960 --> 00:00:52.920
<v Speaker 4>funny to say, it's like a small startup of trying

16
00:00:52.960 --> 00:00:57.000
<v Speaker 4>to take Wicks which is mostly consumer product and designer

17
00:00:57.079 --> 00:01:03.520
<v Speaker 4>product and adapted to enterprise. And okay, so it's exciting.

18
00:01:05.200 --> 00:01:05.719
<v Speaker 2>Very cool.

19
00:01:06.640 --> 00:01:11.719
<v Speaker 3>So we actually had before just you know, I was

20
00:01:11.760 --> 00:01:16.000
<v Speaker 3>gonna say, yeah, we had you off before about almost

21
00:01:16.040 --> 00:01:18.040
<v Speaker 3>two years about two years ago, I think.

22
00:01:18.120 --> 00:01:22.079
<v Speaker 4>Two years ago. I think, Yeah, that that was that

23
00:01:22.239 --> 00:01:26.319
<v Speaker 4>was exciting. Was a very different topic, I think, and

24
00:01:27.319 --> 00:01:31.439
<v Speaker 4>we had a very heated debate there about clouds and code.

25
00:01:31.239 --> 00:01:35.959
<v Speaker 3>Ownership yeah, with a j. Unfortunately you cannot join today.

26
00:01:37.359 --> 00:01:40.959
<v Speaker 1>Yeah, I'll put a link into the into the chats,

27
00:01:41.200 --> 00:01:43.959
<v Speaker 1>so you're watching on YouTube, you can pick it up

28
00:01:43.959 --> 00:01:47.840
<v Speaker 1>there and and go listen to that one too. So

29
00:01:47.840 --> 00:01:50.519
<v Speaker 1>so besides your I guess your title at Wicks, what

30
00:01:50.519 --> 00:01:52.719
<v Speaker 1>else has changed last few years?

31
00:01:53.760 --> 00:01:56.959
<v Speaker 4>So, you know, the first thing that to change was

32
00:01:57.040 --> 00:02:02.159
<v Speaker 4>that I used to be the d of weeks development platform,

33
00:02:02.280 --> 00:02:05.040
<v Speaker 4>a co ed of that, and moved to another position.

34
00:02:05.799 --> 00:02:10.800
<v Speaker 4>I'm also working on another initiative, which part of it

35
00:02:10.879 --> 00:02:14.599
<v Speaker 4>is creating a new web framework, which is kind of

36
00:02:14.680 --> 00:02:18.159
<v Speaker 4>why I'm very interested in that topic of web frameworks.

37
00:02:18.879 --> 00:02:25.080
<v Speaker 4>And I think those are two major things. So when

38
00:02:25.120 --> 00:02:27.680
<v Speaker 4>you talk about Israel, there is another big thing that

39
00:02:27.759 --> 00:02:30.360
<v Speaker 4>happened in the last year and a half. I think

40
00:02:30.360 --> 00:02:33.080
<v Speaker 4>they will probably live that out of the podcast.

41
00:02:33.879 --> 00:02:40.159
<v Speaker 1>Yeah, yeah, the political situation there is a little bit everything,

42
00:02:40.199 --> 00:02:44.479
<v Speaker 1>but yeah, the war I keep hearing about hostage is

43
00:02:44.639 --> 00:02:46.000
<v Speaker 1>coming home, which is a good thing.

44
00:02:46.120 --> 00:02:51.080
<v Speaker 3>So yeah, the last few weeks have been, you know,

45
00:02:52.080 --> 00:02:57.240
<v Speaker 3>kind of a bright spot in this pretty dark tunnel

46
00:02:57.599 --> 00:03:01.199
<v Speaker 3>that hostages that have been held for or coming on

47
00:03:01.280 --> 00:03:04.479
<v Speaker 3>five hundred days, yeah, or finally being.

48
00:03:04.280 --> 00:03:05.599
<v Speaker 2>Released basically a year and a half.

49
00:03:05.879 --> 00:03:12.039
<v Speaker 3>Yeah, yeah, yeah, hopefully it will continue. They are being released,

50
00:03:12.800 --> 00:03:17.439
<v Speaker 3>you know, in small batches every a few every week,

51
00:03:17.520 --> 00:03:21.759
<v Speaker 3>and hopefully this will continue anyway. Yeah yeah, let's talk

52
00:03:21.840 --> 00:03:23.840
<v Speaker 3>tech though, Yeah, let's talk tech.

53
00:03:24.520 --> 00:03:27.120
<v Speaker 1>So so framework, So you said you're building your own framework,

54
00:03:27.159 --> 00:03:29.360
<v Speaker 1>which you know, I guess it's been a week, so

55
00:03:29.439 --> 00:03:33.520
<v Speaker 1>we can use another one. Do you want to just

56
00:03:33.919 --> 00:03:36.039
<v Speaker 1>talk briefly about that and what you're pulling together.

57
00:03:36.240 --> 00:03:38.520
<v Speaker 2>I don't know. Maybe Dan had a different direction he

58
00:03:38.560 --> 00:03:39.199
<v Speaker 2>wanted to take this.

59
00:03:39.680 --> 00:03:41.759
<v Speaker 3>No, it's fine, I think.

60
00:03:42.919 --> 00:03:47.159
<v Speaker 4>Yeah. What I'm trying to solve is the problem of

61
00:03:47.319 --> 00:03:54.319
<v Speaker 4>designer and developer collaboration. Oh okay, so it's trying to

62
00:03:54.560 --> 00:04:02.680
<v Speaker 4>do a framework that allows a designer to basically publish

63
00:04:03.039 --> 00:04:08.240
<v Speaker 4>or deployed application. Okay, you know, think about the designer

64
00:04:08.400 --> 00:04:11.919
<v Speaker 4>changing the application and deploying the application. That's kind of

65
00:04:11.960 --> 00:04:16.639
<v Speaker 4>what I'm trying to solve. It's a it is a

66
00:04:16.759 --> 00:04:22.079
<v Speaker 4>very very big requirement. And the funny thing is that

67
00:04:22.279 --> 00:04:27.199
<v Speaker 4>it actually turns, it actually becomes eident at some point

68
00:04:27.360 --> 00:04:31.160
<v Speaker 4>that it is actually the same requirement as allowing you

69
00:04:31.240 --> 00:04:35.360
<v Speaker 4>to consume the party components in a safe way. So

70
00:04:35.480 --> 00:04:40.319
<v Speaker 4>think about using someone component of another company and not

71
00:04:41.079 --> 00:04:44.199
<v Speaker 4>being exposed to the to the code in a way

72
00:04:44.240 --> 00:04:49.120
<v Speaker 4>that can risk creater risk to your application. And it's

73
00:04:49.199 --> 00:04:55.720
<v Speaker 4>some out in order to support designer developer collaboration. When

74
00:04:56.079 --> 00:04:59.199
<v Speaker 4>when you break that requirement down into what it means,

75
00:04:59.240 --> 00:05:04.399
<v Speaker 4>you get that other possibility as well. Again, it's still

76
00:05:04.480 --> 00:05:08.839
<v Speaker 4>working progress. It's very very experimental. So I'm not going

77
00:05:08.920 --> 00:05:13.279
<v Speaker 4>to go and still the podcast making announcements, go and

78
00:05:13.319 --> 00:05:16.360
<v Speaker 4>look and use my framework. That's not the point, but

79
00:05:16.399 --> 00:05:19.920
<v Speaker 4>it is something of why I'm very opionated and why

80
00:05:19.959 --> 00:05:22.519
<v Speaker 4>I'm looked very deeply into different frameworks.

81
00:05:23.600 --> 00:05:27.959
<v Speaker 3>It's an interesting thing that when JavaScript and the dome

82
00:05:28.040 --> 00:05:32.639
<v Speaker 3>along with it were created, they were created specifically for

83
00:05:32.839 --> 00:05:39.519
<v Speaker 3>designers or tinkers. The actual developers were supposed to be

84
00:05:39.600 --> 00:05:43.480
<v Speaker 3>using Java or something like that, and it's interesting to

85
00:05:43.519 --> 00:05:49.000
<v Speaker 3>see how the developers have kind of co opted JavaScript

86
00:05:49.120 --> 00:05:53.879
<v Speaker 3>and typeescript and with the frameworks, the heavy duty frameworks

87
00:05:53.879 --> 00:05:57.079
<v Speaker 3>that we have today, they are definitely year towards developers

88
00:05:57.120 --> 00:06:00.519
<v Speaker 3>and much less towards designers or people like that. You know,

89
00:06:00.639 --> 00:06:04.519
<v Speaker 3>I'm thinking like, if I'm you know, somebody learning to

90
00:06:04.639 --> 00:06:09.920
<v Speaker 3>code and being thrown into React, that's it's easy to

91
00:06:10.000 --> 00:06:11.720
<v Speaker 3>drown I think.

92
00:06:14.040 --> 00:06:17.920
<v Speaker 4>I think it's even more than that. I think I'll

93
00:06:17.920 --> 00:06:23.560
<v Speaker 4>take you in two different directions. One, think about these

94
00:06:24.439 --> 00:06:28.879
<v Speaker 4>and system fifteen years ago. Fifteen years ago, a developer

95
00:06:28.959 --> 00:06:32.279
<v Speaker 4>would never deploy an application that would never happen. They

96
00:06:32.279 --> 00:06:34.800
<v Speaker 4>would build something up, then give it to end it

97
00:06:34.839 --> 00:06:39.240
<v Speaker 4>over the system. They would do acceptant tests, and then

98
00:06:39.319 --> 00:06:42.920
<v Speaker 4>after testing, checking, they would deploy the application at some point.

99
00:06:43.360 --> 00:06:46.360
<v Speaker 4>And then we had develops which change the way we work.

100
00:06:46.439 --> 00:06:51.360
<v Speaker 4>It moved the responsibility to deploy and application from system

101
00:06:51.399 --> 00:06:54.639
<v Speaker 4>to the developer, and it gave developers the tools to

102
00:06:54.720 --> 00:06:57.680
<v Speaker 4>make the application work, and all different tools than the

103
00:06:57.680 --> 00:07:00.959
<v Speaker 4>ones that system. And what I'm looking to do now

104
00:07:01.240 --> 00:07:04.839
<v Speaker 4>is to shift it again from the developer to the designer.

105
00:07:06.040 --> 00:07:08.160
<v Speaker 4>Just think about it. A designer that there has no

106
00:07:08.279 --> 00:07:11.720
<v Speaker 4>idea how to code, is no understanding of creating the

107
00:07:11.879 --> 00:07:17.240
<v Speaker 4>running application or stable application, would deploy your application. That

108
00:07:17.360 --> 00:07:20.800
<v Speaker 4>sounds scary, but that's actually what happened with system and

109
00:07:20.839 --> 00:07:24.639
<v Speaker 4>developers fifteen years ago. Now, it also means that the

110
00:07:24.639 --> 00:07:28.439
<v Speaker 4>tools that the designers are using are very different. They're

111
00:07:28.439 --> 00:07:31.959
<v Speaker 4>not going to write HTMIL or CSS. That's not how

112
00:07:32.079 --> 00:07:34.279
<v Speaker 4>they work. If you go and look at what you're

113
00:07:34.399 --> 00:07:39.519
<v Speaker 4>using Photoshop, Figma. You know, there's CONSI file tools. It's

114
00:07:39.519 --> 00:07:43.240
<v Speaker 4>not HTML and CSS, so you need to bridge a

115
00:07:43.319 --> 00:07:47.079
<v Speaker 4>much larger gap and then and over the responsibility to them,

116
00:07:47.639 --> 00:07:50.240
<v Speaker 4>and then over the tools to them so that they

117
00:07:50.360 --> 00:07:53.480
<v Speaker 4>can be effective and own the application.

118
00:07:55.079 --> 00:08:02.920
<v Speaker 3>That's what we have AI for now. Well, you know,

119
00:08:04.160 --> 00:08:04.519
<v Speaker 3>a I.

120
00:08:04.519 --> 00:08:09.040
<v Speaker 4>Can do a lot, but unfortunately, up until today it

121
00:08:09.120 --> 00:08:13.639
<v Speaker 4>didn't replace the developer all the designer. We still have

122
00:08:13.879 --> 00:08:17.079
<v Speaker 4>a few years for us at least.

123
00:08:18.600 --> 00:08:21.079
<v Speaker 3>You know, when people ask me if I'm worried about

124
00:08:22.839 --> 00:08:27.680
<v Speaker 3>AI replacing development developers, I say, well, you know, eventually

125
00:08:27.720 --> 00:08:31.160
<v Speaker 3>AI will replace everybody, so it's just a question of

126
00:08:31.240 --> 00:08:36.279
<v Speaker 3>time when they'll get to you. Nobody is safe anyway.

127
00:08:37.480 --> 00:08:40.759
<v Speaker 1>Yeah, yeah, when people ask me the question as well,

128
00:08:41.759 --> 00:08:44.919
<v Speaker 1>not yet. I mean, some of the tools are really nice,

129
00:08:45.080 --> 00:08:48.399
<v Speaker 1>but at the end of the day, making the decisions

130
00:08:48.399 --> 00:08:50.399
<v Speaker 1>that I make, they just are not there at all.

131
00:08:52.879 --> 00:08:56.440
<v Speaker 4>I think the easiest way to understand that is if

132
00:08:56.480 --> 00:09:02.000
<v Speaker 4>you'll give an AI to fly jetliner. It would do

133
00:09:02.039 --> 00:09:05.960
<v Speaker 4>that very well, probably better than any human pilot. It

134
00:09:06.000 --> 00:09:10.200
<v Speaker 4>would flew. It would fly a plane in a very

135
00:09:10.240 --> 00:09:14.000
<v Speaker 4>correct way mountain. It would be very correct and a

136
00:09:14.240 --> 00:09:17.879
<v Speaker 4>very smooth flight. But it's okay for it to fly

137
00:09:18.039 --> 00:09:21.879
<v Speaker 4>into a mountain. So I think this is kind of

138
00:09:21.919 --> 00:09:23.000
<v Speaker 4>the god with a I.

139
00:09:24.240 --> 00:09:27.159
<v Speaker 3>You remind me, I had a friend who was an

140
00:09:27.159 --> 00:09:31.039
<v Speaker 3>airline pilot and he basically described his job to me

141
00:09:31.240 --> 00:09:36.600
<v Speaker 3>once as like one hundred hours of boredom and five

142
00:09:36.639 --> 00:09:37.799
<v Speaker 3>minutes of pure terror.

143
00:09:42.759 --> 00:09:46.639
<v Speaker 1>Yeah, we've had autopilot for years and it's been a

144
00:09:46.679 --> 00:09:50.240
<v Speaker 1>tool that the pilots have used for years, and.

145
00:09:50.360 --> 00:09:51.279
<v Speaker 2>It's worked great.

146
00:09:51.399 --> 00:09:55.679
<v Speaker 1>You know, we typically don't see too many airline catastrophes

147
00:09:55.799 --> 00:10:01.960
<v Speaker 1>the last week notwithstanding. And you know, but it's a

148
00:10:02.000 --> 00:10:04.759
<v Speaker 1>different problem, it's a different set of problems than what

149
00:10:04.799 --> 00:10:05.879
<v Speaker 1>we're talking about with programming.

150
00:10:05.919 --> 00:10:08.919
<v Speaker 3>Well, it's actually easier for an AI to fly plane

151
00:10:08.960 --> 00:10:11.080
<v Speaker 3>than to drive a car. But you know, let's pull

152
00:10:11.200 --> 00:10:14.039
<v Speaker 3>let's I would like to pull us back to talk

153
00:10:14.120 --> 00:10:17.480
<v Speaker 3>about frameworks. And I would actually like to start with

154
00:10:17.519 --> 00:10:19.679
<v Speaker 3>something that I've been thinking about a lot, and in

155
00:10:19.720 --> 00:10:24.279
<v Speaker 3>fact even had kind of a change of a perspective about.

156
00:10:24.600 --> 00:10:26.519
<v Speaker 3>And I can talk about that, but I first would

157
00:10:26.559 --> 00:10:29.600
<v Speaker 3>like to hear you you have and that's talking about

158
00:10:29.759 --> 00:10:36.399
<v Speaker 3>what are in fact framework, what constitutes a framework versus say,

159
00:10:36.679 --> 00:10:39.360
<v Speaker 3>you know, a library or a set of tools or

160
00:10:39.360 --> 00:10:40.720
<v Speaker 3>an application or whatever.

161
00:10:42.519 --> 00:10:47.240
<v Speaker 4>So you know. For me, the definition is actually actually

162
00:10:47.240 --> 00:10:53.840
<v Speaker 4>pretty simple. Every software, everything, any kind of software in

163
00:10:53.879 --> 00:10:58.200
<v Speaker 4>the world can be split into two kinds of interactions.

164
00:10:59.000 --> 00:11:01.840
<v Speaker 4>There is an interaction that is going into your code

165
00:11:01.879 --> 00:11:05.440
<v Speaker 4>something calling your code, and there is an interaction where

166
00:11:05.480 --> 00:11:11.000
<v Speaker 4>your code is called calling something else. Now, when your

167
00:11:11.080 --> 00:11:15.039
<v Speaker 4>code is calling something else, you have a choice. You

168
00:11:15.080 --> 00:11:18.639
<v Speaker 4>can choose which tool you are going to use to

169
00:11:18.679 --> 00:11:22.120
<v Speaker 4>call something else. Now you have to use a tool.

170
00:11:22.240 --> 00:11:25.039
<v Speaker 4>There is no way to call something else without using

171
00:11:25.039 --> 00:11:28.360
<v Speaker 4>a tool. Might be a system library, might be a

172
00:11:28.440 --> 00:11:32.120
<v Speaker 4>built in library, might be some ail level library like

173
00:11:32.240 --> 00:11:36.879
<v Speaker 4>NTM or some other package. But there is always you

174
00:11:37.559 --> 00:11:40.720
<v Speaker 4>have the choice almost everywhere of what you use. That

175
00:11:40.840 --> 00:11:42.559
<v Speaker 4>is where it is a set of tools you can

176
00:11:42.639 --> 00:11:47.399
<v Speaker 4>just choose from. But when you are being called, you

177
00:11:47.440 --> 00:11:50.559
<v Speaker 4>don't have the choice of who is calling you. You

178
00:11:50.759 --> 00:11:56.440
<v Speaker 4>are building an application within some kind of a container

179
00:11:56.600 --> 00:11:59.840
<v Speaker 4>that runs your code, or some kind of box that

180
00:12:00.759 --> 00:12:04.120
<v Speaker 4>calls your code. This is what is a framework. It

181
00:12:04.240 --> 00:12:08.639
<v Speaker 4>is a frame that is activating your code on different

182
00:12:08.799 --> 00:12:11.840
<v Speaker 4>entry points. And then your code can choose to different

183
00:12:11.840 --> 00:12:15.279
<v Speaker 4>teams and give and call some exit points, some using

184
00:12:15.320 --> 00:12:17.399
<v Speaker 4>some utilities and some tools.

185
00:12:18.639 --> 00:12:24.600
<v Speaker 3>So I had the exact same outlook on frameworks versus liberries.

186
00:12:24.879 --> 00:12:29.039
<v Speaker 3>But then my point of view shifted a little bit,

187
00:12:30.159 --> 00:12:33.120
<v Speaker 3>and now I think about it more in the context

188
00:12:33.159 --> 00:12:38.879
<v Speaker 3>of architecture. When I think about when you're dictating the

189
00:12:39.039 --> 00:12:44.960
<v Speaker 3>architecture its libraries, When the architecture is kind of dictated

190
00:12:45.000 --> 00:12:47.960
<v Speaker 3>to you, that's a framework.

191
00:12:49.240 --> 00:12:50.399
<v Speaker 4>But it's kind of the same same.

192
00:12:53.039 --> 00:12:56.840
<v Speaker 3>Yeah, you's a big overlap, but it does shift the

193
00:12:56.919 --> 00:13:02.519
<v Speaker 3>perspective a bit. I think that the best frameworks are

194
00:13:02.759 --> 00:13:06.799
<v Speaker 3>the frameworks that the architect that they make the architecture

195
00:13:06.840 --> 00:13:11.480
<v Speaker 3>of the solution that you're going to build more clearer.

196
00:13:11.679 --> 00:13:16.279
<v Speaker 3>Let's let's put it this way. You know where the

197
00:13:16.320 --> 00:13:18.080
<v Speaker 3>pieces are supposed to slide in.

198
00:13:20.039 --> 00:13:22.559
<v Speaker 4>I think what you're talking here is about something a

199
00:13:22.600 --> 00:13:27.000
<v Speaker 4>little bit different when you talk about, you know, frameworks.

200
00:13:27.039 --> 00:13:32.559
<v Speaker 4>There's a few concepts that have emerged over time to

201
00:13:32.720 --> 00:13:38.440
<v Speaker 4>make software to be easier to code against. One is

202
00:13:38.440 --> 00:13:42.320
<v Speaker 4>the ability to make it easy to be tested in

203
00:13:42.360 --> 00:13:45.960
<v Speaker 4>a simple environment. Another one is the concept of locality

204
00:13:46.279 --> 00:13:49.240
<v Speaker 4>of definition, so that all of the concerns are in

205
00:13:49.320 --> 00:13:54.600
<v Speaker 4>one file and not spread across multiple files. And another

206
00:13:54.679 --> 00:13:56.320
<v Speaker 4>thing that is a bit of a little bit subtle

207
00:13:57.159 --> 00:14:02.279
<v Speaker 4>is that the syntax is that when you read it,

208
00:14:02.600 --> 00:14:05.840
<v Speaker 4>you can understand what it does. You know, people tend

209
00:14:05.840 --> 00:14:08.399
<v Speaker 4>to call it no magic, but I don't like that

210
00:14:08.480 --> 00:14:13.000
<v Speaker 4>definition because we as developers consider everything smart that someone

211
00:14:13.039 --> 00:14:16.919
<v Speaker 4>has written as magic. So it's not. I won't say that.

212
00:14:16.960 --> 00:14:22.360
<v Speaker 4>I would say that if it makes you right in

213
00:14:22.480 --> 00:14:27.080
<v Speaker 4>a syntax that is easy for the average developer that

214
00:14:27.200 --> 00:14:30.200
<v Speaker 4>is working with you to understand what's going on, then

215
00:14:30.320 --> 00:14:32.519
<v Speaker 4>it is probably doing something good.

216
00:14:32.679 --> 00:14:37.480
<v Speaker 3>That fair the principle of least surprise basically, yeah.

217
00:14:37.759 --> 00:14:39.519
<v Speaker 4>So it's look yeah.

218
00:14:40.360 --> 00:14:44.039
<v Speaker 1>So my question with that is, so, I mean, folks

219
00:14:44.080 --> 00:14:46.080
<v Speaker 1>that listen to the show know that I do most

220
00:14:46.080 --> 00:14:48.559
<v Speaker 1>of my work in Ruby on rails. And some of

221
00:14:48.600 --> 00:14:51.240
<v Speaker 1>that is true, right, some of it if you really

222
00:14:51.279 --> 00:14:53.279
<v Speaker 1>read stuff, or you read the code and it's you know,

223
00:14:53.320 --> 00:14:55.360
<v Speaker 1>you pretty intuitively know what it does.

224
00:14:55.840 --> 00:14:56.440
<v Speaker 2>So some of the.

225
00:14:56.399 --> 00:14:59.279
<v Speaker 1>Stuff you pretty intuitively know what it does because you've

226
00:14:59.279 --> 00:15:01.879
<v Speaker 1>been doing rails for twenty years, right, and so you

227
00:15:01.919 --> 00:15:03.559
<v Speaker 1>look at it and you know what the conventions are

228
00:15:03.600 --> 00:15:04.200
<v Speaker 1>and you follow it.

229
00:15:04.399 --> 00:15:05.879
<v Speaker 2>So how much of it's one and how much of

230
00:15:05.919 --> 00:15:06.600
<v Speaker 2>it's the other? Right?

231
00:15:06.639 --> 00:15:10.240
<v Speaker 1>With react or view or any of these other tools

232
00:15:10.559 --> 00:15:13.440
<v Speaker 1>that might give you that sense of Okay, I can

233
00:15:13.480 --> 00:15:14.639
<v Speaker 1>look at this code and know what it is.

234
00:15:14.879 --> 00:15:15.720
<v Speaker 2>How much of that is?

235
00:15:16.399 --> 00:15:19.039
<v Speaker 1>Wow, it clarifies that that's what's going on here, and

236
00:15:19.039 --> 00:15:21.159
<v Speaker 1>how much of that is I've been doing react for

237
00:15:21.200 --> 00:15:23.360
<v Speaker 1>long enough that I know what that's what this code is.

238
00:15:24.600 --> 00:15:29.519
<v Speaker 4>You know, the measure of ooh against uh. Theory about

239
00:15:29.519 --> 00:15:33.440
<v Speaker 4>that when you go into a new system and you're like, hey,

240
00:15:33.559 --> 00:15:37.039
<v Speaker 4>doing something really exciting. Whoa, and then you when you

241
00:15:37.159 --> 00:15:39.480
<v Speaker 4>go into another and then you try to make it

242
00:15:39.519 --> 00:15:42.279
<v Speaker 4>do something it doesn't work, and then you figure, ah,

243
00:15:42.559 --> 00:15:46.279
<v Speaker 4>it has to work that way. That's not intuitive. You know,

244
00:15:46.360 --> 00:15:49.159
<v Speaker 4>that's the measure. It's the measure how much times it's

245
00:15:49.200 --> 00:15:50.960
<v Speaker 4>doing things in the way you expect it to be

246
00:15:51.039 --> 00:15:54.279
<v Speaker 4>doing versus how much times it surprises you're doing something

247
00:15:54.320 --> 00:15:57.320
<v Speaker 4>in a very unintuitive way. This is kind of a

248
00:15:57.399 --> 00:16:01.679
<v Speaker 4>measure for APIs and the local tools to know how

249
00:16:01.720 --> 00:16:05.279
<v Speaker 4>good they are the moments against the ouh moments.

250
00:16:06.039 --> 00:16:08.600
<v Speaker 3>Yeah, I would like to add to that. You know,

251
00:16:08.639 --> 00:16:10.799
<v Speaker 3>at the end of the day, I'm always drawn back

252
00:16:10.840 --> 00:16:15.559
<v Speaker 3>to the No Silver Bullet article that talks about essential

253
00:16:15.720 --> 00:16:22.519
<v Speaker 3>versus what was the other one? Essential complexity versus non

254
00:16:22.639 --> 00:16:28.080
<v Speaker 3>essential complexity and you know, we are solving complicated problems,

255
00:16:28.159 --> 00:16:33.960
<v Speaker 3>at least we strive to. And when you solve complicated problems,

256
00:16:34.039 --> 00:16:39.320
<v Speaker 3>even when there are strong guidelines for what the architecture

257
00:16:39.360 --> 00:16:44.159
<v Speaker 3>should be like, don't expect the solution to be trivial.

258
00:16:44.840 --> 00:16:47.279
<v Speaker 3>That's point number one and point number two. You know,

259
00:16:47.399 --> 00:16:49.879
<v Speaker 3>you try to make your system idiot proof, but then

260
00:16:49.960 --> 00:16:53.720
<v Speaker 3>somebody goes along and invents a better idiot. So people

261
00:16:53.799 --> 00:16:57.519
<v Speaker 3>will always find way to surprise you and work against

262
00:16:57.559 --> 00:17:04.599
<v Speaker 3>the grain of what the framework encouragees you know.

263
00:17:04.640 --> 00:17:09.799
<v Speaker 4>But I think, I think then sorry, you need you

264
00:17:09.880 --> 00:17:15.119
<v Speaker 4>need to look at frameworks in in three different aspects.

265
00:17:15.839 --> 00:17:19.680
<v Speaker 4>There is one which is the functional aspect does it that?

266
00:17:19.880 --> 00:17:23.079
<v Speaker 4>Does does it doing? Is it doing what you needed

267
00:17:23.200 --> 00:17:29.400
<v Speaker 4>to be doing? And are different frameworks similar in terms

268
00:17:29.440 --> 00:17:32.680
<v Speaker 4>of the functional aspects of the framework regardless of the syntax.

269
00:17:33.559 --> 00:17:36.079
<v Speaker 4>And then there is a second question, which is when

270
00:17:36.119 --> 00:17:40.920
<v Speaker 4>you look at the non functionals like like performance, for instance,

271
00:17:42.240 --> 00:17:45.599
<v Speaker 4>are the record or do you do you even care?

272
00:17:45.799 --> 00:17:50.200
<v Speaker 4>Is the difference significant? And for example, is the fact

273
00:17:50.200 --> 00:17:55.160
<v Speaker 4>that svelt is much more efficient then react? Is it

274
00:17:55.200 --> 00:17:58.240
<v Speaker 4>something you really care about in your specific case, your

275
00:17:58.279 --> 00:18:02.519
<v Speaker 4>specific application. And only after you're done with those two

276
00:18:02.599 --> 00:18:05.720
<v Speaker 4>with the functional and non functional only then you come

277
00:18:05.799 --> 00:18:09.799
<v Speaker 4>to syntax and you all knows you are with the developer.

278
00:18:12.160 --> 00:18:15.640
<v Speaker 3>Yeah, but look, when I think about React, for example,

279
00:18:16.559 --> 00:18:20.759
<v Speaker 3>for me, the core of React are a few well

280
00:18:20.799 --> 00:18:24.160
<v Speaker 3>defined concepts, and now it's pretty unfortunate that a lot

281
00:18:24.200 --> 00:18:27.319
<v Speaker 3>of React developers may not actually be familiar with these

282
00:18:27.359 --> 00:18:30.640
<v Speaker 3>core concepts. And the core concepts, by the way, are

283
00:18:32.000 --> 00:18:37.839
<v Speaker 3>regenerate the UI as a function, regenerating the entire UI

284
00:18:38.279 --> 00:18:41.880
<v Speaker 3>from the state whenever the state changes and you need

285
00:18:41.920 --> 00:18:46.079
<v Speaker 3>directional data flow. Maybe I'm missing one or another one,

286
00:18:46.319 --> 00:18:48.759
<v Speaker 3>but those are like the core concepts for me when

287
00:18:48.759 --> 00:18:51.319
<v Speaker 3>I'm thinking about React, and then when I think about

288
00:18:51.440 --> 00:18:55.039
<v Speaker 3>let's say Solid, it has different core concepts. Or if

289
00:18:55.079 --> 00:18:58.279
<v Speaker 3>I'm thinking about Spelt, it also has different core concepts.

290
00:18:58.599 --> 00:19:03.519
<v Speaker 3>So a big part of ideally of choosing a framework

291
00:19:03.640 --> 00:19:08.440
<v Speaker 3>would have been choosing the framework whose architecture or the

292
00:19:08.519 --> 00:19:13.519
<v Speaker 3>architecture that it advocates for for building applications best suits

293
00:19:13.759 --> 00:19:17.240
<v Speaker 3>your personal tastes. Now, unfortunately most of us don't go

294
00:19:17.319 --> 00:19:22.799
<v Speaker 3>through this process. That's a framework choice is tendable. Yeah,

295
00:19:23.160 --> 00:19:25.319
<v Speaker 3>just to finish because in a lot of cases, the

296
00:19:25.359 --> 00:19:28.039
<v Speaker 3>framework choice is kind of dictated to us.

297
00:19:28.799 --> 00:19:33.440
<v Speaker 4>You're right, it's again it's assuming that functional is equal

298
00:19:34.079 --> 00:19:36.880
<v Speaker 4>and assuming that the non functional is equal, then you

299
00:19:36.960 --> 00:19:39.480
<v Speaker 4>come to aesthetics. And what you're talking about is still

300
00:19:39.720 --> 00:19:43.119
<v Speaker 4>just aesthetics. And you know React, you brought the concept

301
00:19:43.160 --> 00:19:49.480
<v Speaker 4>of React. React is neither reactive nor functional today. You know,

302
00:19:49.720 --> 00:19:54.599
<v Speaker 4>it's it's it has done a lot, does it done

303
00:19:54.880 --> 00:19:58.519
<v Speaker 4>a huge work moving us forward, as you know, fronted

304
00:19:58.519 --> 00:20:02.680
<v Speaker 4>developers it there is a reason why it is the

305
00:20:02.759 --> 00:20:05.799
<v Speaker 4>number one firm of today in the world, right, but

306
00:20:05.880 --> 00:20:10.359
<v Speaker 4>it's kind of not what it aimed at doing. You know,

307
00:20:10.960 --> 00:20:16.359
<v Speaker 4>context is you could argue that props, context, and state

308
00:20:16.839 --> 00:20:19.759
<v Speaker 4>are all different ways to get data into the function,

309
00:20:20.400 --> 00:20:21.680
<v Speaker 4>and two of them are not functional.

310
00:20:24.319 --> 00:20:28.160
<v Speaker 3>Well, you know, the dom is not functional. JavaScript is

311
00:20:28.200 --> 00:20:34.079
<v Speaker 3>not functional, and you're kind of living within the framework

312
00:20:34.119 --> 00:20:37.839
<v Speaker 3>itself is living within the confines of the environment that

313
00:20:37.880 --> 00:20:41.599
<v Speaker 3>it's built on. There, you know, you could go with

314
00:20:41.759 --> 00:20:44.240
<v Speaker 3>ELM if you know, if you really want to go

315
00:20:44.319 --> 00:20:47.839
<v Speaker 3>to the extreme, but that you know, there's a price

316
00:20:47.880 --> 00:20:50.240
<v Speaker 3>to pay for that as well. You know, let's say

317
00:20:50.759 --> 00:20:54.960
<v Speaker 3>ditching JavaScript in favor of ELM or reason or something

318
00:20:55.039 --> 00:20:55.440
<v Speaker 3>like that.

319
00:20:56.720 --> 00:20:59.599
<v Speaker 4>No one said that the esthetics is simple getting the

320
00:20:59.599 --> 00:21:04.400
<v Speaker 4>hostel of a FERMUK in the right way is super hard,

321
00:21:04.960 --> 00:21:07.400
<v Speaker 4>and there is reason why we have lots of frameworks

322
00:21:07.759 --> 00:21:11.759
<v Speaker 4>trying different directions and different things. You know, you look

323
00:21:11.759 --> 00:21:16.759
<v Speaker 4>at what's happening today. There is one major direction going

324
00:21:16.799 --> 00:21:21.960
<v Speaker 4>on today, which is signals. Everyone except React as signals today.

325
00:21:23.440 --> 00:21:25.480
<v Speaker 4>There might be some old firms that don't have them,

326
00:21:25.519 --> 00:21:28.799
<v Speaker 4>that they didn't adopt signals, but almost everyone except React

327
00:21:29.079 --> 00:21:33.160
<v Speaker 4>are using signals as the main obstruction for state management.

328
00:21:33.960 --> 00:21:40.279
<v Speaker 4>And there is a reason behind that. It Trying signals

329
00:21:40.319 --> 00:21:45.480
<v Speaker 4>on different places, different frameworks, different syntaxes seems to work.

330
00:21:45.880 --> 00:21:50.039
<v Speaker 4>Trying signals in terms of the non functional performance, Okay, again,

331
00:21:50.039 --> 00:21:52.079
<v Speaker 4>it seems to work. It seems to be something that

332
00:21:52.119 --> 00:21:56.160
<v Speaker 4>people comprint. By the way, signals is not a trivial team.

333
00:21:56.240 --> 00:21:58.559
<v Speaker 4>It takes time to understand that, but once you do,

334
00:21:59.079 --> 00:22:03.000
<v Speaker 4>it becomes something that is very robust to use. So

335
00:22:03.440 --> 00:22:05.359
<v Speaker 4>again it's just aesthetics.

336
00:22:06.160 --> 00:22:10.640
<v Speaker 3>Well for me, it's more than aesthetic actually, because it

337
00:22:10.880 --> 00:22:15.599
<v Speaker 3>informs the way that you deconstruct or the problem and

338
00:22:15.640 --> 00:22:22.920
<v Speaker 3>then construct the solution. So for example, first of all,

339
00:22:22.920 --> 00:22:25.240
<v Speaker 3>I'd like to mention, by the way that when we

340
00:22:25.319 --> 00:22:29.480
<v Speaker 3>had Joe Savona and Satia FROMETA to talk about the

341
00:22:29.519 --> 00:22:35.880
<v Speaker 3>React compiler. Joe said very clearly that signals are not

342
00:22:36.039 --> 00:22:39.440
<v Speaker 3>in reacts future. He basically said, you know, if if

343
00:22:39.599 --> 00:22:42.599
<v Speaker 3>signals become a part of the JavaScript language, there is

344
00:22:42.640 --> 00:22:46.000
<v Speaker 3>actually a proposal for that, then then we will, and

345
00:22:46.039 --> 00:22:50.680
<v Speaker 3>I'm speaking for Joe, then we will support it. But otherwise,

346
00:22:51.319 --> 00:22:55.599
<v Speaker 3>no signals for React because that's not the that's not

347
00:22:55.759 --> 00:23:01.000
<v Speaker 3>their vision for how front and applications should be built.

348
00:23:02.400 --> 00:23:05.640
<v Speaker 3>Their whole thing is about, you know, reconciliation and stuff

349
00:23:05.640 --> 00:23:06.039
<v Speaker 3>like that.

350
00:23:08.559 --> 00:23:10.680
<v Speaker 4>I'll talk at what you're saying right now. You're talking

351
00:23:10.720 --> 00:23:12.839
<v Speaker 4>about opinions of.

352
00:23:12.799 --> 00:23:16.799
<v Speaker 3>Course, frameworks, our opinions that that's kind of my point.

353
00:23:19.160 --> 00:23:22.279
<v Speaker 4>Well, I to be honest, I don't agree. I think

354
00:23:22.319 --> 00:23:26.200
<v Speaker 4>that this is kind of this is kind of this

355
00:23:26.319 --> 00:23:33.680
<v Speaker 4>is kind of a state we arrived by forgetting the

356
00:23:33.759 --> 00:23:37.599
<v Speaker 4>functional and unfunctional requirements, and we kind of set it

357
00:23:37.960 --> 00:23:42.319
<v Speaker 4>very you know, very basic frameworks that are in your

358
00:23:42.519 --> 00:23:45.200
<v Speaker 4>not really that are just competing with one another on

359
00:23:45.920 --> 00:23:49.359
<v Speaker 4>aesthetics and performance and that's it. But there's a lot

360
00:23:49.440 --> 00:23:53.799
<v Speaker 4>more other stuff that you can compete on, such as

361
00:23:55.559 --> 00:23:59.960
<v Speaker 4>let's talk about web essentials. You know, web essentials is

362
00:24:00.039 --> 00:24:04.680
<v Speaker 4>a list of I think probably thirteen fourteen items that

363
00:24:04.839 --> 00:24:07.480
<v Speaker 4>when you're doing, when you are working as a web developer,

364
00:24:08.200 --> 00:24:11.240
<v Speaker 4>you need to take care of. And there are things

365
00:24:11.319 --> 00:24:19.559
<v Speaker 4>like creating responsive design, being performan breakpoints, multilingual, a BIT testing,

366
00:24:19.799 --> 00:24:21.799
<v Speaker 4>so ABY testing is actually not a web essential, but

367
00:24:21.920 --> 00:24:28.400
<v Speaker 4>it's nice to have cookies regulation in the EU, accessibility

368
00:24:28.480 --> 00:24:32.400
<v Speaker 4>the new accessibility regulation in the U now a g

369
00:24:32.519 --> 00:24:35.480
<v Speaker 4>DPR p i R, and there's more.

370
00:24:36.160 --> 00:24:39.279
<v Speaker 2>And all of those are lists somewhere that I could

371
00:24:39.319 --> 00:24:40.400
<v Speaker 2>just publish.

372
00:24:41.039 --> 00:24:43.279
<v Speaker 4>I have it in my I have it somewhere I can,

373
00:24:43.319 --> 00:24:47.000
<v Speaker 4>I can send it to you. And basically all of

374
00:24:47.000 --> 00:24:49.599
<v Speaker 4>that list is anything you're doing, anything that is customer

375
00:24:49.720 --> 00:24:52.440
<v Speaker 4>facing on the Internet, you have to take care of

376
00:24:52.599 --> 00:24:56.759
<v Speaker 4>all of that list. If you're doing an enterprise behind

377
00:24:56.799 --> 00:24:59.519
<v Speaker 4>the behind the look in, you need to take care

378
00:24:59.559 --> 00:25:03.359
<v Speaker 4>of most of it. And your se O is another one.

379
00:25:03.960 --> 00:25:08.039
<v Speaker 4>And all of the cost lot of money. Why aren't

380
00:25:08.160 --> 00:25:11.880
<v Speaker 4>frameworks helping us with all of that list of stuff?

381
00:25:14.920 --> 00:25:21.680
<v Speaker 3>I think when you start talking about these things, you're again,

382
00:25:21.720 --> 00:25:25.960
<v Speaker 3>and it's an interesting distinction to make from what I see,

383
00:25:26.000 --> 00:25:31.319
<v Speaker 3>you're starting to move from talking about frameworks to talking

384
00:25:31.359 --> 00:25:35.400
<v Speaker 3>about meta frameworks, from talking about react to talking about

385
00:25:35.559 --> 00:25:38.279
<v Speaker 3>the next JS, from talking about view to talking about

386
00:25:38.400 --> 00:25:41.640
<v Speaker 3>next and so on and so forth. At least that's

387
00:25:41.680 --> 00:25:45.799
<v Speaker 3>been my experience with these sorts of things. Most frameworks

388
00:25:45.799 --> 00:25:50.519
<v Speaker 3>these days have a much lower bar in the in

389
00:25:50.559 --> 00:25:53.480
<v Speaker 3>the functionality that they're trying to provide. There are more

390
00:25:53.519 --> 00:25:58.359
<v Speaker 3>about you know, use us instead of using just the DOM.

391
00:26:00.640 --> 00:26:02.519
<v Speaker 4>But keep in mind when you talk when you asked

392
00:26:02.559 --> 00:26:07.599
<v Speaker 4>about what is the definition of framework, I framok is

393
00:26:07.640 --> 00:26:12.240
<v Speaker 4>not defined as only something on the client that interacts

394
00:26:12.519 --> 00:26:16.599
<v Speaker 4>with the don It is defined, as you said, as

395
00:26:16.640 --> 00:26:21.240
<v Speaker 4>something that imposes an architecture on your application that guides

396
00:26:21.279 --> 00:26:25.599
<v Speaker 4>you into building better software. With that definition, I would

397
00:26:25.599 --> 00:26:30.079
<v Speaker 4>expect the sub the framework to help me with all

398
00:26:30.079 --> 00:26:32.559
<v Speaker 4>of the web essentials as well, because it's something I

399
00:26:32.599 --> 00:26:35.400
<v Speaker 4>have to do. It's something those are more constraints my

400
00:26:35.480 --> 00:26:39.400
<v Speaker 4>applications to work with. I would expect the architecture of

401
00:26:39.480 --> 00:26:43.039
<v Speaker 4>the framework to be such that would take care of

402
00:26:43.160 --> 00:26:45.759
<v Speaker 4>those concerns, or at least help me to take care

403
00:26:45.799 --> 00:26:46.160
<v Speaker 4>of them.

404
00:26:47.440 --> 00:26:50.119
<v Speaker 1>So I have to ask then, because it seems like,

405
00:26:52.200 --> 00:26:55.960
<v Speaker 1>you know, if you take this narrow definition of a framework,

406
00:26:56.000 --> 00:26:58.799
<v Speaker 1>you know whether it's you know, an aesthetic way of

407
00:26:59.079 --> 00:27:01.839
<v Speaker 1>putting together an apple, or whether it gives you the architecture,

408
00:27:02.160 --> 00:27:03.839
<v Speaker 1>whether or not it provides you with some of these

409
00:27:04.319 --> 00:27:08.039
<v Speaker 1>essentials you know that you would expect it to.

410
00:27:09.920 --> 00:27:11.319
<v Speaker 2>It seems like that it.

411
00:27:12.960 --> 00:27:16.720
<v Speaker 1>Seems like there are various definitions and maybe various expectations

412
00:27:16.720 --> 00:27:19.640
<v Speaker 1>that people have of a framework, right, because I could

413
00:27:19.920 --> 00:27:23.480
<v Speaker 1>expect that, Okay, for me, the framework that I want

414
00:27:23.519 --> 00:27:26.279
<v Speaker 1>will do all these things. For somebody else, it may

415
00:27:26.480 --> 00:27:29.680
<v Speaker 1>just say, hey, here's how you're going to structure your application,

416
00:27:30.079 --> 00:27:33.119
<v Speaker 1>here's the understanding of here's where the pieces go. Here

417
00:27:33.160 --> 00:27:36.720
<v Speaker 1>are a series of tools, libraries, toolkits, et cetera that

418
00:27:36.880 --> 00:27:41.960
<v Speaker 1>make the API that I'm building against that much more friendly. Right,

419
00:27:42.039 --> 00:27:43.759
<v Speaker 1>And so there are all these different pieces that people

420
00:27:43.759 --> 00:27:46.680
<v Speaker 1>consider when they have the framework, and it seems like

421
00:27:46.759 --> 00:27:48.720
<v Speaker 1>a lot of people are picking it for different reasons.

422
00:27:48.799 --> 00:27:49.000
<v Speaker 2>Right.

423
00:27:49.279 --> 00:27:51.839
<v Speaker 1>So some people may be picking it because hey, I

424
00:27:51.920 --> 00:27:55.920
<v Speaker 1>want a more esthetically pleasing thing, or I want to

425
00:27:55.960 --> 00:27:59.079
<v Speaker 1>be more efficient in my time use by having the

426
00:27:59.119 --> 00:28:01.759
<v Speaker 1>framework handles and things for me, or by fitting a

427
00:28:01.759 --> 00:28:04.720
<v Speaker 1>mental model that I can synk my head into. And

428
00:28:04.799 --> 00:28:08.400
<v Speaker 1>so you know, you're saying, well, it's aesthetics, or you

429
00:28:08.440 --> 00:28:10.759
<v Speaker 1>know it's aesthetics, and maybe some of these other things.

430
00:28:11.279 --> 00:28:13.640
<v Speaker 1>But how do you really make that decision on what

431
00:28:13.720 --> 00:28:15.160
<v Speaker 1>people should consider a framework.

432
00:28:16.880 --> 00:28:21.079
<v Speaker 4>I don't think there is one answer for what is

433
00:28:21.119 --> 00:28:25.359
<v Speaker 4>a framework. I think the role of a framework is

434
00:28:25.920 --> 00:28:30.160
<v Speaker 4>to help us to make us small efficient, right, And

435
00:28:30.279 --> 00:28:32.680
<v Speaker 4>because you know I could just use Jake Uark and

436
00:28:32.759 --> 00:28:38.279
<v Speaker 4>that would work, I would yeah, And then we decided

437
00:28:38.319 --> 00:28:43.559
<v Speaker 4>to move to React because it is more efficient to

438
00:28:43.640 --> 00:28:46.759
<v Speaker 4>write code and React compelled to j Query both in

439
00:28:46.799 --> 00:28:50.759
<v Speaker 4>the first ramp up and then in maintainability. And then

440
00:28:51.160 --> 00:28:54.960
<v Speaker 4>when you're taking just that those two concerns, the first

441
00:28:55.039 --> 00:28:59.119
<v Speaker 4>ramp up and maintainability, and you're also starting to add

442
00:28:59.200 --> 00:29:02.799
<v Speaker 4>things like accessibility into the mix, and you're asking a,

443
00:29:03.880 --> 00:29:05.799
<v Speaker 4>I mean, how much work do I need to do

444
00:29:05.839 --> 00:29:09.160
<v Speaker 4>in a React application to make it to make it accessible?

445
00:29:10.039 --> 00:29:13.960
<v Speaker 4>Versus can I get the framework that would help me

446
00:29:14.000 --> 00:29:17.000
<v Speaker 4>to have lift that that burden in making me more

447
00:29:17.039 --> 00:29:20.119
<v Speaker 4>efficient there? And the same can go for any of

448
00:29:20.160 --> 00:29:23.119
<v Speaker 4>the other Web concerns.

449
00:29:23.559 --> 00:29:29.599
<v Speaker 3>M My experience though, has been that most people who

450
00:29:29.799 --> 00:29:35.400
<v Speaker 3>use JavaScript frameworks for the front end, because it pulls

451
00:29:35.440 --> 00:29:40.759
<v Speaker 3>them kind of away from the actual semantic HTML, end

452
00:29:40.920 --> 00:29:46.759
<v Speaker 3>up with the mountains of dives, which is anything but

453
00:29:47.079 --> 00:29:54.440
<v Speaker 3>semantic and anything but accessible and so forth, and that

454
00:29:57.039 --> 00:29:59.880
<v Speaker 3>if you want to get these in the context of frameworks,

455
00:29:59.880 --> 00:30:04.200
<v Speaker 3>you usually what you end up is reaching for library

456
00:30:04.559 --> 00:30:08.440
<v Speaker 3>for component libraries that are compatible with the framework that

457
00:30:08.519 --> 00:30:11.359
<v Speaker 3>you can use from within the framework, or maybe if

458
00:30:11.359 --> 00:30:15.319
<v Speaker 3>the organization is large enough, then it creates its own

459
00:30:15.359 --> 00:30:19.599
<v Speaker 3>design system or adopts some external design system in order

460
00:30:19.640 --> 00:30:25.000
<v Speaker 3>to get everything you describe. So are design should design

461
00:30:25.039 --> 00:30:29.119
<v Speaker 3>systems have been part of the frameworks the framework itself.

462
00:30:29.160 --> 00:30:33.720
<v Speaker 3>Shouldn't they be bluggable to the framework?

463
00:30:33.839 --> 00:30:36.480
<v Speaker 4>You know? I think saying that the thermok allows a

464
00:30:36.519 --> 00:30:40.440
<v Speaker 4>design system that solves some of the concerns is a

465
00:30:40.480 --> 00:30:45.079
<v Speaker 4>way to support concerns now with accessibility that might work

466
00:30:45.400 --> 00:30:51.000
<v Speaker 4>with multilingual or with GDPR or cookies you might need

467
00:30:51.039 --> 00:30:54.480
<v Speaker 4>something else. Design system will not solve cookies regulation for you.

468
00:30:55.119 --> 00:31:00.599
<v Speaker 4>So I think even though you know real act and

469
00:31:00.680 --> 00:31:04.519
<v Speaker 4>all of the frameworks allow design systems because a just

470
00:31:04.599 --> 00:31:08.000
<v Speaker 4>makes us much more efficient to use the design system components,

471
00:31:08.799 --> 00:31:14.000
<v Speaker 4>it's still not enough. So I really think that frameworks

472
00:31:14.759 --> 00:31:17.079
<v Speaker 4>will need to take that into account. We are in

473
00:31:17.480 --> 00:31:23.400
<v Speaker 4>a market that we're shifting in light speed from an

474
00:31:23.480 --> 00:31:28.480
<v Speaker 4>unregulated market to a very very regulated market, And that

475
00:31:28.680 --> 00:31:31.960
<v Speaker 4>means that the price of creating an application and a

476
00:31:32.039 --> 00:31:37.960
<v Speaker 4>website goes up very fast because of those regulations. And

477
00:31:38.160 --> 00:31:40.000
<v Speaker 4>we don't know where're going to end up with and

478
00:31:40.039 --> 00:31:43.119
<v Speaker 4>don't even we didn't even start talking about AI. What

479
00:31:43.160 --> 00:31:47.960
<v Speaker 4>does it mean for your framework to make your application

480
00:31:48.759 --> 00:31:54.839
<v Speaker 4>AI ready by whatever going to be the nominate AI

481
00:31:55.079 --> 00:32:00.480
<v Speaker 4>client application that could going to be the next in

482
00:32:00.480 --> 00:32:04.559
<v Speaker 4>the Internet beside Google and Facebook and TikTok.

483
00:32:05.440 --> 00:32:08.039
<v Speaker 3>By the way, when you're saying AI ready, are you

484
00:32:08.160 --> 00:32:12.920
<v Speaker 3>talking about using AI to generate your code, or about

485
00:32:13.160 --> 00:32:19.440
<v Speaker 3>integrating AI functionality into the actual end product or both

486
00:32:19.599 --> 00:32:20.400
<v Speaker 3>or something else.

487
00:32:21.119 --> 00:32:24.039
<v Speaker 4>I'm talking about something else. It's clear to for everyone

488
00:32:25.000 --> 00:32:30.720
<v Speaker 4>that there is going to be a dominant AI application

489
00:32:30.799 --> 00:32:33.920
<v Speaker 4>over the Internet. You know, right now the Internet is

490
00:32:34.119 --> 00:32:40.039
<v Speaker 4>about one hundred billion dollars market around search and about

491
00:32:40.079 --> 00:32:45.440
<v Speaker 4>another one hundred billion dollars market around social. You can

492
00:32:45.440 --> 00:32:47.759
<v Speaker 4>assume that there's going to be another one ordred billion

493
00:32:48.039 --> 00:32:53.240
<v Speaker 4>dollars market around advertising or discovery or something like that.

494
00:32:53.680 --> 00:32:56.319
<v Speaker 4>With AI. We don't know the application, we don't know

495
00:32:56.359 --> 00:32:58.359
<v Speaker 4>the provider, we don't know when it's going to happen,

496
00:32:58.960 --> 00:33:01.880
<v Speaker 4>but it's probably going to app something like that, and

497
00:33:01.920 --> 00:33:04.559
<v Speaker 4>then you want your business to be listed there as well.

498
00:33:04.920 --> 00:33:07.359
<v Speaker 4>You know, today, when you build a business or any website,

499
00:33:07.680 --> 00:33:09.920
<v Speaker 4>you have to be listed in Google and in social.

500
00:33:10.720 --> 00:33:13.400
<v Speaker 4>You probably want a mobile application as well. You want

501
00:33:13.400 --> 00:33:15.119
<v Speaker 4>to cover all the different fronts that you might get

502
00:33:15.200 --> 00:33:18.680
<v Speaker 4>users from. So what would be that next front with AI?

503
00:33:18.799 --> 00:33:22.200
<v Speaker 4>We don't know yet, but something will happen. And when

504
00:33:22.279 --> 00:33:26.039
<v Speaker 4>that will happen, how will your framework help you to

505
00:33:26.079 --> 00:33:27.319
<v Speaker 4>be there in the right way.

506
00:33:29.039 --> 00:33:32.759
<v Speaker 3>So you're basically talking about having some sort of presence

507
00:33:33.680 --> 00:33:43.079
<v Speaker 3>within an AI driven interface, whatever that might be. And

508
00:33:44.680 --> 00:33:48.359
<v Speaker 3>that's kind of similar to how we currently have. Like

509
00:33:48.480 --> 00:33:52.759
<v Speaker 3>you said, let's say a page on Facebook or something,

510
00:33:53.519 --> 00:33:57.599
<v Speaker 3>or or on Instagram or something like that. Is that

511
00:33:57.640 --> 00:33:58.599
<v Speaker 3>what you're talking about.

512
00:33:59.319 --> 00:34:04.880
<v Speaker 4>Yeah, it's you know, think about think about two thousand

513
00:34:05.279 --> 00:34:11.679
<v Speaker 4>and eleven, a year before Facebook really become dominant. If

514
00:34:11.800 --> 00:34:15.719
<v Speaker 4>at twenty eleven I would say, hey, websites, you need

515
00:34:15.840 --> 00:34:20.039
<v Speaker 4>to prepare yourself to social. We don't know what's going

516
00:34:20.079 --> 00:34:23.400
<v Speaker 4>to be the dominant social application, but something is coming.

517
00:34:24.599 --> 00:34:28.440
<v Speaker 4>This is kind of what I would sound like. So

518
00:34:28.639 --> 00:34:31.039
<v Speaker 4>we know there's something coming, we just don't know what

519
00:34:31.559 --> 00:34:31.920
<v Speaker 4>and who.

520
00:34:34.880 --> 00:34:40.480
<v Speaker 3>And again maybe it's just me or the terminology that

521
00:34:40.519 --> 00:34:46.000
<v Speaker 3>I'm familiar with because of React and things similar to it.

522
00:34:46.719 --> 00:34:51.760
<v Speaker 3>But React or view or Swelt or solid they've set

523
00:34:51.960 --> 00:34:57.400
<v Speaker 3>their sights much much lower than that. As I said,

524
00:34:57.519 --> 00:35:02.519
<v Speaker 3>if the things that you're talking about, our starts are

525
00:35:02.840 --> 00:35:08.079
<v Speaker 3>more in the realm of meta frameworks or even you know,

526
00:35:08.400 --> 00:35:12.360
<v Speaker 3>meta meta frameworks. I've heard the term stacks sometimes used.

527
00:35:12.360 --> 00:35:17.800
<v Speaker 3>So for example, Kensey Dodds has this epic stack which

528
00:35:17.880 --> 00:35:25.199
<v Speaker 3>involves you know, obviously Remix, but also and React, but

529
00:35:25.400 --> 00:35:31.280
<v Speaker 3>also a particular authentication provider and a payment provider and

530
00:35:31.320 --> 00:35:33.960
<v Speaker 3>a database provider and so on so forth, and you

531
00:35:34.039 --> 00:35:38.199
<v Speaker 3>integrate all of these things together, hopefully more or less seamlessly,

532
00:35:38.639 --> 00:35:41.840
<v Speaker 3>in order to get a more holistic type solution that

533
00:35:42.039 --> 00:35:47.239
<v Speaker 3>might address the requirements that you seem to be talking about.

534
00:35:47.480 --> 00:35:49.039
<v Speaker 3>Or at least that's how it seems to me.

535
00:35:50.920 --> 00:35:53.280
<v Speaker 4>But I have to ask you a question. When you

536
00:35:53.320 --> 00:36:00.159
<v Speaker 4>look from jaquerd up to React and up to Angulau,

537
00:36:00.480 --> 00:36:05.360
<v Speaker 4>doesn't it seem the same. jQuery is actually much liner.

538
00:36:05.760 --> 00:36:08.840
<v Speaker 4>It tries to do much new. Compelled to react or

539
00:36:08.840 --> 00:36:11.840
<v Speaker 4>act is trying to so much more compere to jQuery.

540
00:36:12.639 --> 00:36:14.639
<v Speaker 4>Jaquerry is just trying to obstruct a little bit to

541
00:36:14.719 --> 00:36:17.639
<v Speaker 4>dom APIs, that's all. And it is a framework, the

542
00:36:17.679 --> 00:36:20.360
<v Speaker 4>most popular one in the world. And then React is

543
00:36:20.400 --> 00:36:24.079
<v Speaker 4>also a framework, but it adds another obstruction layer on top,

544
00:36:24.280 --> 00:36:27.199
<v Speaker 4>and angular is the same, and then we're going to

545
00:36:27.199 --> 00:36:30.280
<v Speaker 4>be we might add another obstruction layer on top. You know,

546
00:36:30.320 --> 00:36:34.199
<v Speaker 4>you're trying to put labels on it, but why are

547
00:36:34.239 --> 00:36:35.599
<v Speaker 4>those labels important?

548
00:36:37.440 --> 00:36:41.159
<v Speaker 3>Well, I actually think that labels are important. You know,

549
00:36:41.760 --> 00:36:45.320
<v Speaker 3>there's that statement that there are two hard things in

550
00:36:45.360 --> 00:36:49.320
<v Speaker 3>computer science, cash and validation, naming things and off by

551
00:36:49.360 --> 00:36:55.519
<v Speaker 3>one errors, and so naming things is actually pretty pretty important.

552
00:36:55.960 --> 00:37:03.199
<v Speaker 3>You know, uh, design patterns this are basically ways of

553
00:37:03.360 --> 00:37:07.719
<v Speaker 3>naming things so that we have a common vocabulary. So

554
00:37:08.199 --> 00:37:12.800
<v Speaker 3>I do think that having common terminology is actually important

555
00:37:12.800 --> 00:37:16.400
<v Speaker 3>for us to be able to converse and exchange ideas

556
00:37:16.440 --> 00:37:18.880
<v Speaker 3>and concepts.

557
00:37:20.119 --> 00:37:24.079
<v Speaker 4>I can accept that, But I just I think that

558
00:37:24.880 --> 00:37:28.079
<v Speaker 4>even Evin said that a meta framework is just another

559
00:37:28.119 --> 00:37:29.480
<v Speaker 4>filmwork that does more.

560
00:37:30.679 --> 00:37:37.119
<v Speaker 3>Yeah again for me, right now again, my opinion may

561
00:37:37.199 --> 00:37:40.440
<v Speaker 3>certainly change, but right you know, you you seem to

562
00:37:40.480 --> 00:37:43.360
<v Speaker 3>have a very different definition. A definition that I used

563
00:37:43.360 --> 00:37:47.920
<v Speaker 3>to have for framework versus meta framework was basically that

564
00:37:47.960 --> 00:37:52.079
<v Speaker 3>it straddles both sides of the network divide that meta

565
00:37:52.119 --> 00:37:56.280
<v Speaker 3>framework has a service side aspect to it, whereas a

566
00:37:56.360 --> 00:38:03.320
<v Speaker 3>framework doesn't. But but your definition seems again to be

567
00:38:03.400 --> 00:38:06.639
<v Speaker 3>much more holistic than mine, you know.

568
00:38:06.599 --> 00:38:09.880
<v Speaker 4>But let's work with all definitions. I'm fine with that.

569
00:38:10.519 --> 00:38:14.840
<v Speaker 4>So when I'm saying that frameworks need to cope with

570
00:38:15.920 --> 00:38:19.280
<v Speaker 4>all of the web essentials, it's fine saying meta frameworks

571
00:38:19.320 --> 00:38:21.239
<v Speaker 4>we need to cope with all of the web essentials.

572
00:38:22.119 --> 00:38:24.920
<v Speaker 4>Totally fine. It's a little bit limiting, but you know,

573
00:38:24.960 --> 00:38:30.920
<v Speaker 4>I don't care. That's fine. Now we can go to

574
00:38:31.199 --> 00:38:35.800
<v Speaker 4>more extreme things that are upening with frameworks. Again, meta

575
00:38:35.800 --> 00:38:42.800
<v Speaker 4>frameworks might be And I'm seeing two trends or two

576
00:38:43.559 --> 00:38:49.440
<v Speaker 4>lines that are kind of interwined together. One is the

577
00:38:49.519 --> 00:38:57.599
<v Speaker 4>idea of the idea of gradual rendering. When we start

578
00:38:57.639 --> 00:39:00.440
<v Speaker 4>seeing that a little bit in frameworks. The idea of

579
00:39:00.480 --> 00:39:07.440
<v Speaker 4>gradual rendering is that let's start shifting rendering back as

580
00:39:07.519 --> 00:39:12.880
<v Speaker 4>much as we can now to the server side and

581
00:39:13.280 --> 00:39:17.840
<v Speaker 4>to earlier timeline. Now you already have frameworks that are

582
00:39:17.880 --> 00:39:22.400
<v Speaker 4>doing the normally we would call that a build time

583
00:39:22.519 --> 00:39:28.920
<v Speaker 4>rendering or static side generation. But actually don't like this definition.

584
00:39:30.679 --> 00:39:34.360
<v Speaker 4>When you look at data, you have data that changes slowly,

585
00:39:35.719 --> 00:39:39.440
<v Speaker 4>like blog posts and products, and I don't know, there's

586
00:39:39.440 --> 00:39:42.719
<v Speaker 4>many things that change slowly, and then there's things that

587
00:39:42.840 --> 00:39:47.119
<v Speaker 4>change fast, and then there are things that change interactively

588
00:39:48.000 --> 00:39:51.079
<v Speaker 4>when user clicks on something and something changes on the client.

589
00:39:52.159 --> 00:39:55.960
<v Speaker 4>So interactive things have state management and run on the client.

590
00:39:56.639 --> 00:39:59.800
<v Speaker 4>Fast changing you need to do in assal slowly changing.

591
00:39:59.840 --> 00:40:03.000
<v Speaker 4>You I can do an event of something changed, why

592
00:40:03.039 --> 00:40:06.079
<v Speaker 4>can't I combine all three of them in one page

593
00:40:06.440 --> 00:40:11.480
<v Speaker 4>in one component. Now you're starting to see things like

594
00:40:11.480 --> 00:40:18.639
<v Speaker 4>that happening react several components. Let's a developer to choose

595
00:40:19.440 --> 00:40:24.079
<v Speaker 4>to have one layer selver rendered, which is only selver rendered,

596
00:40:24.119 --> 00:40:27.480
<v Speaker 4>and then have another layer or another subcomponent that is

597
00:40:27.519 --> 00:40:29.679
<v Speaker 4>rendered on the selver but is also interactive on the

598
00:40:29.719 --> 00:40:34.840
<v Speaker 4>client quickly starting to do stuff like that. Your other

599
00:40:34.920 --> 00:40:37.800
<v Speaker 4>films are starting to do stuff like that. But I

600
00:40:37.840 --> 00:40:41.719
<v Speaker 4>haven't really seen that as been a first class pattern

601
00:40:42.360 --> 00:40:45.360
<v Speaker 4>in any of the frameworks.

602
00:40:45.639 --> 00:40:48.440
<v Speaker 3>I would take it a step further. It seems to

603
00:40:48.480 --> 00:40:55.480
<v Speaker 3>me that, and I'll be blunt, it seems that framework

604
00:40:55.880 --> 00:41:03.199
<v Speaker 3>makers are solving problem that the market is not looking

605
00:41:03.239 --> 00:41:08.800
<v Speaker 3>for them to solve. I'm you know, I've spoken to

606
00:41:09.000 --> 00:41:13.119
<v Speaker 3>a lot of organizations in this context who basically say,

607
00:41:13.719 --> 00:41:17.760
<v Speaker 3>you know, we want React on the front end and

608
00:41:17.840 --> 00:41:21.679
<v Speaker 3>something else doing RESTful APIs on the back end, and

609
00:41:21.800 --> 00:41:24.599
<v Speaker 3>I don't and I don't want React on my back end.

610
00:41:25.840 --> 00:41:33.519
<v Speaker 3>Uh and and next and Versall's success not notwithstanding the

611
00:41:33.599 --> 00:41:38.000
<v Speaker 3>majority of enterprise React applications that I'm saying are very

612
00:41:38.119 --> 00:41:40.360
<v Speaker 3>much keeping the framework on the client side.

613
00:41:40.400 --> 00:41:47.280
<v Speaker 4>Only you're right, And yet when you go and when

614
00:41:47.480 --> 00:41:50.320
<v Speaker 4>and keep in mind that Versall is building websites. In

615
00:41:50.400 --> 00:41:54.039
<v Speaker 4>website you must have selvis a rendering because of CEO, again,

616
00:41:54.079 --> 00:41:58.360
<v Speaker 4>because because of web essentials. But then even for the enterprises,

617
00:41:58.440 --> 00:42:01.000
<v Speaker 4>they get to the point where there's an a but

618
00:42:01.039 --> 00:42:03.559
<v Speaker 4>we have a performance problem, or we have a flickering

619
00:42:03.840 --> 00:42:07.559
<v Speaker 4>or a textload long to load the page, and we

620
00:42:07.679 --> 00:42:11.920
<v Speaker 4>need to do something about that. Now when you run

621
00:42:12.199 --> 00:42:15.400
<v Speaker 4>React on the selver, when you react was not designed

622
00:42:15.760 --> 00:42:19.079
<v Speaker 4>to work on a selver environment. What versaill we're doing

623
00:42:19.199 --> 00:42:22.760
<v Speaker 4>is actually very smart. But they're trying to take something

624
00:42:22.760 --> 00:42:25.199
<v Speaker 4>that doesn't really fit in that environment and make it

625
00:42:25.239 --> 00:42:29.440
<v Speaker 4>work in that environment. It wasn't designed for it. Think

626
00:42:29.480 --> 00:42:32.079
<v Speaker 4>what would happen if you actually go and design a

627
00:42:32.119 --> 00:42:36.039
<v Speaker 4>free work that would work in such a way and

628
00:42:36.079 --> 00:42:39.639
<v Speaker 4>would support both the website and enterprise use cases.

629
00:42:41.960 --> 00:42:45.360
<v Speaker 3>Well, I guess, Chuck, you're supposed to say at this point,

630
00:42:45.440 --> 00:42:49.760
<v Speaker 3>that's why we have rails. And what's the name.

631
00:42:49.599 --> 00:42:52.000
<v Speaker 2>You've been refraining from saying that this whole time.

632
00:42:52.159 --> 00:42:55.559
<v Speaker 3>So rail rails, And what's the name of the thing

633
00:42:55.639 --> 00:43:02.199
<v Speaker 3>that you use in stimulus or the other one, turbo

634
00:43:03.079 --> 00:43:06.039
<v Speaker 3>turbo stimulus whatever. You've got a whole bunch of terms.

635
00:43:06.199 --> 00:43:07.719
<v Speaker 2>Wire.

636
00:43:07.760 --> 00:43:08.760
<v Speaker 3>I think that was the one.

637
00:43:10.039 --> 00:43:16.119
<v Speaker 4>Yeah, Well, Rails did a lot of really good stuff,

638
00:43:17.760 --> 00:43:21.280
<v Speaker 4>and it tink. Its kind of when you look at

639
00:43:21.320 --> 00:43:24.840
<v Speaker 4>the what I would call the one point five age

640
00:43:24.840 --> 00:43:28.960
<v Speaker 4>of the Internet, which is basically static, basically self aside

641
00:43:29.000 --> 00:43:32.840
<v Speaker 4>rendering everything and a little bit of JavaScript, a little

642
00:43:32.840 --> 00:43:35.960
<v Speaker 4>bit of jQuery on the client. Your WordPress is there,

643
00:43:36.079 --> 00:43:40.360
<v Speaker 4>Shopify is there, Rails is there. Rails is kind of

644
00:43:40.400 --> 00:43:45.639
<v Speaker 4>the best of the breed, but it does suffer. And

645
00:43:45.679 --> 00:43:48.039
<v Speaker 4>there is a reason why we move to Web two

646
00:43:48.079 --> 00:43:51.320
<v Speaker 4>point zero, which starts with React and Angula, which our

647
00:43:51.360 --> 00:43:56.920
<v Speaker 4>client first libraries, simply because you want to be very

648
00:43:56.920 --> 00:43:59.280
<v Speaker 4>productive on the client and very interactive on the client,

649
00:44:00.039 --> 00:44:02.639
<v Speaker 4>and very fast on the climb. And then you know,

650
00:44:02.679 --> 00:44:05.440
<v Speaker 4>when you start moving from front and libraries back to

651
00:44:05.480 --> 00:44:09.320
<v Speaker 4>the back end. Why would they use a different language

652
00:44:09.559 --> 00:44:11.239
<v Speaker 4>for the back end and the front end. Why would

653
00:44:11.280 --> 00:44:13.920
<v Speaker 4>they use react on the front end and rails on

654
00:44:13.960 --> 00:44:17.039
<v Speaker 4>the back end. It makes my life much harder. And

655
00:44:17.119 --> 00:44:21.679
<v Speaker 4>only that would be two different people, you know, rails

656
00:44:21.719 --> 00:44:24.880
<v Speaker 4>in a very good way for someone else that needs

657
00:44:24.920 --> 00:44:27.599
<v Speaker 4>to learn both react and rails and how to connect

658
00:44:27.599 --> 00:44:30.599
<v Speaker 4>them together. That's are there the news in next years?

659
00:44:31.360 --> 00:44:37.239
<v Speaker 4>And again it's the lockdates the Yeah, so yeah.

660
00:44:37.159 --> 00:44:39.000
<v Speaker 2>I thought you were going to go to express or something.

661
00:44:39.039 --> 00:44:44.400
<v Speaker 1>I'm like, now express, if you're going if you're going

662
00:44:44.440 --> 00:44:45.360
<v Speaker 1>to react to next?

663
00:44:45.400 --> 00:44:47.639
<v Speaker 2>I can, I can? I can see that.

664
00:44:48.480 --> 00:44:52.119
<v Speaker 4>Yeah, And I think what we're what I would, I

665
00:44:52.119 --> 00:44:56.960
<v Speaker 4>think we're kind of they've kind of converging on is

666
00:45:00.920 --> 00:45:03.119
<v Speaker 4>there's them that I just don't want to use. So

667
00:45:03.159 --> 00:45:05.760
<v Speaker 4>instead I'm going to say firmworks that are designed to

668
00:45:05.880 --> 00:45:08.559
<v Speaker 4>vote for the back end and the front end as

669
00:45:08.679 --> 00:45:11.679
<v Speaker 4>first as citizens. And when you when.

670
00:45:12.320 --> 00:45:19.760
<v Speaker 3>Okay, I'm going to make a conjecture, Well, I think

671
00:45:20.320 --> 00:45:25.079
<v Speaker 3>that what you or or at least what I'm I'll

672
00:45:25.159 --> 00:45:29.920
<v Speaker 3>restate what I seem to be hearing you say. You're

673
00:45:29.960 --> 00:45:35.239
<v Speaker 3>basically saying most modern frameworks that we've seen started there,

674
00:45:35.480 --> 00:45:39.280
<v Speaker 3>started out client side, and then evolved to work on

675
00:45:40.159 --> 00:45:43.880
<v Speaker 3>the back end as well. So next GS grew out

676
00:45:43.920 --> 00:45:48.840
<v Speaker 3>of React and it's effectively implementing a React specification. Knox

677
00:45:48.960 --> 00:45:54.400
<v Speaker 3>grew out of view, so on and so forth. What

678
00:45:54.440 --> 00:45:58.719
<v Speaker 3>you're saying is, you know, we've had no GS and

679
00:45:58.760 --> 00:46:01.960
<v Speaker 3>whatnot on the back end long enough so that we

680
00:46:02.039 --> 00:46:06.280
<v Speaker 3>can think about frameworks evolving the other way around, starting

681
00:46:06.280 --> 00:46:08.760
<v Speaker 3>their life on the back end and then evolving to

682
00:46:08.840 --> 00:46:12.119
<v Speaker 3>support the front end. Is am I getting the gist

683
00:46:12.159 --> 00:46:13.039
<v Speaker 3>from what you're saying?

684
00:46:14.519 --> 00:46:18.000
<v Speaker 4>Almost? What I'm saying is think about the framework that

685
00:46:18.280 --> 00:46:24.400
<v Speaker 4>is designed to work on all three life cycles of

686
00:46:24.440 --> 00:46:26.840
<v Speaker 4>the web. And you have three life cycles, not two

687
00:46:26.880 --> 00:46:31.000
<v Speaker 4>of them. You have one for slowly changing data like

688
00:46:31.039 --> 00:46:33.559
<v Speaker 4>a product was updated maybe once a day or once

689
00:46:33.599 --> 00:46:37.119
<v Speaker 4>a week. You have a fast change in data that

690
00:46:37.239 --> 00:46:41.039
<v Speaker 4>you have to render for a user directly on the server,

691
00:46:41.320 --> 00:46:46.039
<v Speaker 4>like user name or cookies. And then you have interactive

692
00:46:47.199 --> 00:46:51.800
<v Speaker 4>data or interactive interactions on the client and state management.

693
00:46:52.639 --> 00:46:57.280
<v Speaker 4>And it doesn't make any sense that those are three

694
00:46:57.320 --> 00:47:01.159
<v Speaker 4>different obstructions that are done in three different ways. Why

695
00:47:01.159 --> 00:47:03.559
<v Speaker 4>can't I do them in one? Why can't I get

696
00:47:03.559 --> 00:47:07.239
<v Speaker 4>the framework that speaks in that language and just does

697
00:47:07.320 --> 00:47:11.119
<v Speaker 4>it all and not force me to start meshing up

698
00:47:11.159 --> 00:47:14.360
<v Speaker 4>different things and different concepts to try and understand what

699
00:47:14.400 --> 00:47:14.960
<v Speaker 4>goes work.

700
00:47:20.360 --> 00:47:22.079
<v Speaker 2>I mean a lot of the things that you're talking

701
00:47:22.119 --> 00:47:23.000
<v Speaker 2>about are things that.

702
00:47:24.519 --> 00:47:27.159
<v Speaker 1>I mean, I kind of manage this stuff so that

703
00:47:27.239 --> 00:47:30.000
<v Speaker 1>it changes when it needs to or gets you know,

704
00:47:30.480 --> 00:47:36.320
<v Speaker 1>interaction happens when it needs to. I don't know that

705
00:47:36.360 --> 00:47:38.760
<v Speaker 1>I think of them as all that different, right they

706
00:47:38.840 --> 00:47:40.719
<v Speaker 1>all more or less use the same mechanisms.

707
00:47:40.840 --> 00:47:41.719
<v Speaker 2>Or am I missing something?

708
00:47:42.239 --> 00:47:45.360
<v Speaker 3>Well, let me put it this way. What I'm saying

709
00:47:45.400 --> 00:47:49.360
<v Speaker 3>a lot basically people dealing with this problem by effectively

710
00:47:49.360 --> 00:47:54.320
<v Speaker 3>ignoring it. So, for example, if they build a holy

711
00:47:54.519 --> 00:47:59.599
<v Speaker 3>client side grander application and just make calls back to

712
00:48:00.159 --> 00:48:03.920
<v Speaker 3>the two end point to RESTful endpoints whenever they need

713
00:48:03.960 --> 00:48:06.360
<v Speaker 3>to get more data, so they don't need to think

714
00:48:06.400 --> 00:48:09.800
<v Speaker 3>about how often the data changes, so they respond quickly

715
00:48:10.360 --> 00:48:15.920
<v Speaker 3>to client side interactions, and then whenever they need to

716
00:48:16.000 --> 00:48:19.199
<v Speaker 3>get you know, data from the back end, they just

717
00:48:19.320 --> 00:48:23.760
<v Speaker 3>call a RESTful API and it comes whichever way it comes.

718
00:48:25.000 --> 00:48:28.800
<v Speaker 3>So so effectively they respond to both types of interactions

719
00:48:28.920 --> 00:48:31.920
<v Speaker 3>or all three types of interactions and essentially the same

720
00:48:32.239 --> 00:48:36.519
<v Speaker 3>the exact same way by by writing event handlers in

721
00:48:36.599 --> 00:48:41.519
<v Speaker 3>JavaScript that that tender events. These events might be a

722
00:48:41.719 --> 00:48:44.119
<v Speaker 3>user a mouse click, or these events might be some

723
00:48:44.280 --> 00:48:47.360
<v Speaker 3>data arriving over the network. It's it's all the same,

724
00:48:49.679 --> 00:48:55.320
<v Speaker 3>and I I agree with you of that, and reacts

725
00:48:55.320 --> 00:49:01.079
<v Speaker 3>O her components have been trying to propose a new

726
00:49:01.360 --> 00:49:05.320
<v Speaker 3>approach to dealing with it, basically saying, you know, I'm

727
00:49:05.400 --> 00:49:08.960
<v Speaker 3>rendering some stuff on the server, I'm rendering some stuff

728
00:49:08.960 --> 00:49:11.719
<v Speaker 3>on the client. I'm rendering some stuff on both sides.

729
00:49:13.800 --> 00:49:17.639
<v Speaker 3>By the way, I'm I totally don't know how many

730
00:49:17.800 --> 00:49:24.360
<v Speaker 3>organizations are actually using reacts over components in production, certainly

731
00:49:24.440 --> 00:49:31.079
<v Speaker 3>in anger. Let's say, it's it's an interesting question, you know,

732
00:49:31.599 --> 00:49:35.159
<v Speaker 3>as I said, there's a growing you know, it seems

733
00:49:35.239 --> 00:49:42.159
<v Speaker 3>that next gs is eating the React website market, that

734
00:49:42.239 --> 00:49:46.039
<v Speaker 3>the majority of new React websites are being built using

735
00:49:46.079 --> 00:49:49.400
<v Speaker 3>next gs. But I have no idea how many of

736
00:49:49.400 --> 00:49:52.800
<v Speaker 3>them are actually using reacts over components. Certainly, how many

737
00:49:52.800 --> 00:49:58.039
<v Speaker 3>of them are actually using reacts server components correctly, That's

738
00:49:58.079 --> 00:50:01.400
<v Speaker 3>that's a totally different question, and it's an interesting one,

739
00:50:01.400 --> 00:50:04.199
<v Speaker 3>And I don't know how to get this data. What

740
00:50:05.119 --> 00:50:08.239
<v Speaker 3>how do you think a solution to that might come

741
00:50:08.280 --> 00:50:14.280
<v Speaker 3>along or might look like that actually solves that problem

742
00:50:14.320 --> 00:50:17.079
<v Speaker 3>with lower fraction and greater acceptance.

743
00:50:18.440 --> 00:50:27.079
<v Speaker 4>You can see what both next and well forgot the name.

744
00:50:27.119 --> 00:50:30.519
<v Speaker 4>There's another fermework and they're doing data loaders that by

745
00:50:30.559 --> 00:50:33.400
<v Speaker 4>the name of the data loader of function you know

746
00:50:33.920 --> 00:50:37.039
<v Speaker 4>on which environment run it. You can look at what

747
00:50:37.119 --> 00:50:40.840
<v Speaker 4>the quicks is doing where you can there is a

748
00:50:40.880 --> 00:50:45.519
<v Speaker 4>different specific API which is very similar but specific API.

749
00:50:45.599 --> 00:50:47.719
<v Speaker 4>It says this is something that runs on the selver

750
00:50:48.639 --> 00:50:52.239
<v Speaker 4>or in the case of quick, everything is by different

751
00:50:52.400 --> 00:50:55.000
<v Speaker 4>running on the cellver and only being loaded to the

752
00:50:55.039 --> 00:50:58.480
<v Speaker 4>client if needed, and the compiler is kind of understanding

753
00:50:59.239 --> 00:51:03.079
<v Speaker 4>what needs to been downloaded to the client. I think

754
00:51:04.159 --> 00:51:05.960
<v Speaker 4>we need to figure out the syntax. We don't have

755
00:51:06.000 --> 00:51:06.400
<v Speaker 4>it today.

756
00:51:08.360 --> 00:51:11.280
<v Speaker 3>By the way, syntax, as far as I can tell,

757
00:51:11.480 --> 00:51:16.880
<v Speaker 3>seems to me. The solution that these meta frameworks I'll

758
00:51:17.000 --> 00:51:21.480
<v Speaker 3>use that term are adopting seems to be RPC based,

759
00:51:22.639 --> 00:51:29.400
<v Speaker 3>so that when when it's it's it's it's functions that

760
00:51:29.760 --> 00:51:34.519
<v Speaker 3>when they are executed on the server, it's just it's

761
00:51:34.760 --> 00:51:40.559
<v Speaker 3>just a function called, but when they're executed on the client,

762
00:51:40.920 --> 00:51:48.800
<v Speaker 3>it's it becomes serialized automatically over the wire. So that's

763
00:51:48.880 --> 00:51:53.239
<v Speaker 3>the abstraction that I'm seeing kind of being adopted for

764
00:51:53.400 --> 00:51:57.960
<v Speaker 3>addressing that issue. Now, even that has different approaches associated

765
00:51:58.000 --> 00:52:01.880
<v Speaker 3>with it. So both that's we had Tenner Lindsley talking

766
00:52:01.880 --> 00:52:06.360
<v Speaker 3>about what he's doing with the ten with ten stacks start,

767
00:52:06.880 --> 00:52:10.320
<v Speaker 3>and he's also using RPC, but he's doing it in

768
00:52:10.360 --> 00:52:15.400
<v Speaker 3>a very different way than the way that next GS

769
00:52:14.360 --> 00:52:17.920
<v Speaker 3>is even though you might say that in both cases

770
00:52:18.199 --> 00:52:20.079
<v Speaker 3>it is kind of our PC.

771
00:52:21.199 --> 00:52:26.159
<v Speaker 4>Yeah, anyway, I want to take you even one step more.

772
00:52:27.559 --> 00:52:32.599
<v Speaker 4>You know, we talked about design systems. You're using components

773
00:52:32.639 --> 00:52:37.360
<v Speaker 4>from design systems. Sometimes those components have a large number

774
00:52:37.400 --> 00:52:41.320
<v Speaker 4>of configuration options. You know, for instance, you might have

775
00:52:41.320 --> 00:52:45.679
<v Speaker 4>a gallery that I might have multiple layouts, and you

776
00:52:45.760 --> 00:52:49.760
<v Speaker 4>might be choosing one layout or another, and if that

777
00:52:50.039 --> 00:52:55.719
<v Speaker 4>choice is static, it's basically a constant or even if

778
00:52:55.760 --> 00:53:04.599
<v Speaker 4>it is a choice made by slowly changing data, why

779
00:53:04.639 --> 00:53:08.159
<v Speaker 4>would you download to the browser the full component with

780
00:53:08.199 --> 00:53:11.840
<v Speaker 4>all of the different options. Why not start looking at

781
00:53:11.840 --> 00:53:18.400
<v Speaker 4>the values of slowly changing data, which after defining what

782
00:53:18.599 --> 00:53:23.440
<v Speaker 4>is that that value, it basically become constant data after

783
00:53:23.840 --> 00:53:27.599
<v Speaker 4>that first phase of rendering, and then let's start deleting

784
00:53:27.639 --> 00:53:32.000
<v Speaker 4>all the unnecessary code, So all of the other layouts

785
00:53:32.000 --> 00:53:34.760
<v Speaker 4>of the gallery they don't need to be there. All

786
00:53:34.800 --> 00:53:36.840
<v Speaker 4>of the other style options they don't need to be there.

787
00:53:37.440 --> 00:53:40.599
<v Speaker 4>It might have you might have you know, different tabs

788
00:53:40.719 --> 00:53:45.639
<v Speaker 4>or different you know, screens, or different options that you

789
00:53:45.679 --> 00:53:48.239
<v Speaker 4>can just delete and just remove, and it might go

790
00:53:48.320 --> 00:53:50.599
<v Speaker 4>all the way down to your to your design system

791
00:53:50.960 --> 00:53:54.119
<v Speaker 4>that might have lots of very complicated components because they

792
00:53:54.119 --> 00:53:58.159
<v Speaker 4>need to cope with lots of complicated situations. You know,

793
00:53:58.559 --> 00:54:01.159
<v Speaker 4>a drop down with fifty different options of how to

794
00:54:01.159 --> 00:54:04.679
<v Speaker 4>open a drop down, but I need one, So why

795
00:54:04.719 --> 00:54:07.960
<v Speaker 4>would you download the browser all of the different options?

796
00:54:08.599 --> 00:54:11.159
<v Speaker 4>So there is also another potential here for lots of

797
00:54:11.400 --> 00:54:15.719
<v Speaker 4>very aggressive optimizations that to be honest, no one is

798
00:54:15.760 --> 00:54:16.280
<v Speaker 4>doing today.

799
00:54:17.639 --> 00:54:21.079
<v Speaker 3>Well I think quick guys that you mentioned is kind

800
00:54:21.079 --> 00:54:23.920
<v Speaker 3>of trying to do so at least some of the stuff. Basically,

801
00:54:23.960 --> 00:54:31.239
<v Speaker 3>it's using a compiler two bundler or smart bundler or transpiler,

802
00:54:31.320 --> 00:54:37.119
<v Speaker 3>call it what you will, to decide for you which

803
00:54:37.199 --> 00:54:42.400
<v Speaker 3>code needs to exist where effectively. And then you know, again,

804
00:54:42.480 --> 00:54:50.360
<v Speaker 3>if if we're talking about stuff like like the hot

805
00:54:50.400 --> 00:54:53.960
<v Speaker 3>wire that the Chuck mentioned before, you know, when we

806
00:54:54.079 --> 00:55:03.440
<v Speaker 3>spoke about what's it called HTMX. It's basically saying, why

807
00:55:03.639 --> 00:55:07.760
<v Speaker 3>why do why send Jason over the wire? That I

808
00:55:07.880 --> 00:55:10.360
<v Speaker 3>need to have smart on the client side to be

809
00:55:10.400 --> 00:55:13.960
<v Speaker 3>able to process it according to you know, sophisticated logic

810
00:55:14.000 --> 00:55:16.880
<v Speaker 3>and transform it into HML when I can just send

811
00:55:16.920 --> 00:55:22.079
<v Speaker 3>the HTML. And and to an extent, again reacts over

812
00:55:22.159 --> 00:55:25.599
<v Speaker 3>components are kind of going in that direction. They're not

813
00:55:25.719 --> 00:55:30.119
<v Speaker 3>actually sending HTML, they're sending virtual dom as it were,

814
00:55:30.159 --> 00:55:34.599
<v Speaker 3>over the wire, but they are. But again, it's it's

815
00:55:34.639 --> 00:55:39.280
<v Speaker 3>basically the idea of having generic mechanism that transforms it

816
00:55:39.320 --> 00:55:43.280
<v Speaker 3>into UI rather than having to download all the custom logic.

817
00:55:45.280 --> 00:55:47.760
<v Speaker 4>But think about what's happening here. You have a lot

818
00:55:47.840 --> 00:55:52.440
<v Speaker 4>of innovation going on around all around from meta frameworks,

819
00:55:52.960 --> 00:55:58.519
<v Speaker 4>around performance and around making your application more efficient. Quick

820
00:55:58.599 --> 00:56:01.760
<v Speaker 4>is doing that, Civil component is doing that, HTMX is

821
00:56:01.760 --> 00:56:05.559
<v Speaker 4>doing that, and we're kind of all searching for what

822
00:56:05.760 --> 00:56:10.679
<v Speaker 4>would be the right obstruction when we want to build

823
00:56:10.800 --> 00:56:15.039
<v Speaker 4>an application or a website. I would say that and

824
00:56:15.800 --> 00:56:19.559
<v Speaker 4>add to that all of the web concerns and you

825
00:56:19.639 --> 00:56:25.840
<v Speaker 4>get like a big area of activity just around the

826
00:56:25.880 --> 00:56:29.320
<v Speaker 4>existing frameworks and the existing needs.

827
00:56:31.119 --> 00:56:35.519
<v Speaker 3>So, given everything that we've said so far and giving

828
00:56:35.559 --> 00:56:39.440
<v Speaker 3>everything that you know, You've explained what is the future

829
00:56:39.480 --> 00:56:40.320
<v Speaker 3>of frameworks.

830
00:56:41.639 --> 00:56:46.679
<v Speaker 4>So I think I think you know my bed which

831
00:56:46.760 --> 00:56:50.480
<v Speaker 4>is and again I'm I'm far reaching. I think we

832
00:56:50.519 --> 00:56:53.639
<v Speaker 4>need to add two more requirements into the mix. I

833
00:56:53.679 --> 00:56:57.000
<v Speaker 4>think that if the only reason to move from React

834
00:56:57.559 --> 00:57:01.480
<v Speaker 4>to another framework is aesthetics and performs, it's not good enough.

835
00:57:02.280 --> 00:57:07.400
<v Speaker 4>That includes view and swelled and quick and everything else

836
00:57:07.519 --> 00:57:11.000
<v Speaker 4>and HTMX and so on. And that's why I React.

837
00:57:11.079 --> 00:57:14.000
<v Speaker 4>No one is living React, to be honest, because the

838
00:57:14.519 --> 00:57:17.360
<v Speaker 4>need is not strong enough. But I think there are

839
00:57:17.360 --> 00:57:21.320
<v Speaker 4>two other requirements that are very strong. One is to

840
00:57:21.360 --> 00:57:25.400
<v Speaker 4>be able to consume teled party components in a way

841
00:57:25.480 --> 00:57:29.559
<v Speaker 4>that you are both you and the component are safe

842
00:57:29.599 --> 00:57:36.320
<v Speaker 4>from one another. And you know, just last summer, we

843
00:57:36.480 --> 00:57:44.119
<v Speaker 4>had an issue where vs code plugins appeared to be

844
00:57:44.400 --> 00:57:46.920
<v Speaker 4>very There was a published an article that says that

845
00:57:47.639 --> 00:57:53.880
<v Speaker 4>the self could managed to put a malicious viscode plug

846
00:57:53.920 --> 00:57:59.239
<v Speaker 4>in with hundreds of thousands of developers, and then they

847
00:57:59.440 --> 00:58:03.960
<v Speaker 4>can't developed the plug in market for viscode, and thousands

848
00:58:04.000 --> 00:58:08.960
<v Speaker 4>of plug ins on vis code are potentially malicious. And

849
00:58:09.000 --> 00:58:11.719
<v Speaker 4>then you have a WordPress which is known to be

850
00:58:12.440 --> 00:58:14.199
<v Speaker 4>you know, all of the plug ins to be not

851
00:58:14.280 --> 00:58:15.639
<v Speaker 4>all of them, but a lot of them to be

852
00:58:15.840 --> 00:58:18.760
<v Speaker 4>really problematic. And then you have lots of other cases

853
00:58:18.880 --> 00:58:23.199
<v Speaker 4>like that, And then you're downloading a free NPM across

854
00:58:23.239 --> 00:58:29.000
<v Speaker 4>your company. You're all around talking about enterprises and you

855
00:58:29.079 --> 00:58:34.320
<v Speaker 4>have no idea what attack vectors are going on through NPM,

856
00:58:34.679 --> 00:58:38.199
<v Speaker 4>and it is an attack vector to get a certain

857
00:58:38.280 --> 00:58:40.880
<v Speaker 4>version of library to be legit, and then the next

858
00:58:40.960 --> 00:58:45.679
<v Speaker 4>one a minor version to have some vulnerability or even

859
00:58:45.719 --> 00:58:48.239
<v Speaker 4>some attack and you just download used in your code

860
00:58:48.239 --> 00:58:51.679
<v Speaker 4>in your application and you're exposed to it. So what

861
00:58:51.719 --> 00:58:53.559
<v Speaker 4>if I can give you a framework. I'm gonna say

862
00:58:53.599 --> 00:58:55.440
<v Speaker 4>that I can give you that, But what if the

863
00:58:55.480 --> 00:59:00.840
<v Speaker 4>future framework would protect you from that automatically one example?

864
00:59:01.559 --> 00:59:04.840
<v Speaker 3>But can framework really do that? Doesn't that need to

865
00:59:04.880 --> 00:59:08.920
<v Speaker 3>be solved at the platform level, or at least I

866
00:59:09.119 --> 00:59:12.960
<v Speaker 3>or at least have you know, for the platform to

867
00:59:13.039 --> 00:59:17.280
<v Speaker 3>provide building blocks that the frameworks can then use to

868
00:59:17.320 --> 00:59:20.519
<v Speaker 3>provide a provider analistic solutions to stuff like that.

869
00:59:22.119 --> 00:59:26.519
<v Speaker 4>I think you're asking the wrong question. The right question

870
00:59:26.760 --> 00:59:30.880
<v Speaker 4>is if someone will make something like that, will be

871
00:59:30.960 --> 00:59:35.239
<v Speaker 4>able to create a framework that is such a new

872
00:59:35.360 --> 00:59:39.920
<v Speaker 4>requirement working within it in some way and people are innovative,

873
00:59:39.960 --> 00:59:43.880
<v Speaker 4>they'll find a way, for instance, that that would be

874
00:59:43.920 --> 00:59:47.079
<v Speaker 4>a reason to move frameworks. And I think two of

875
00:59:47.119 --> 00:59:50.000
<v Speaker 4>the requirements that can put on the table for frameworks

876
00:59:50.000 --> 00:59:53.760
<v Speaker 4>to challenge that would challenge our exiting frameworks is one

877
00:59:53.840 --> 00:59:57.639
<v Speaker 4>the security and the second one is designed to code.

878
00:59:58.320 --> 01:00:01.199
<v Speaker 4>Those are the two ones, because we both of either

879
01:00:01.360 --> 01:00:04.360
<v Speaker 4>one of those will challenge everything we have today in

880
01:00:04.400 --> 01:00:05.400
<v Speaker 4>a significant way.

881
01:00:07.960 --> 01:00:15.360
<v Speaker 3>So yeah, I know it's interesting because look, so for example,

882
01:00:16.639 --> 01:00:21.440
<v Speaker 3>the quick gang made the bat that that getting a

883
01:00:21.440 --> 01:00:25.840
<v Speaker 3>more performance solution would get people to switch, and so

884
01:00:26.119 --> 01:00:35.519
<v Speaker 3>far it hasn't really happened, certainly not on mass. Whether

885
01:00:35.639 --> 01:00:38.480
<v Speaker 3>or not people will switch for that, it's you know,

886
01:00:40.800 --> 01:00:45.840
<v Speaker 3>maybe I have no insight, but that's the point.

887
01:00:46.039 --> 01:00:50.639
<v Speaker 4>You know, when the only thing you're comparing are non functional,

888
01:00:51.920 --> 01:00:55.480
<v Speaker 4>it's very odd to get someone to switch. You have

889
01:00:55.559 --> 01:00:59.599
<v Speaker 4>to be really, really better and in a really pain

890
01:00:59.639 --> 01:01:04.639
<v Speaker 4>point when you're starting to move to easier you know, functionals,

891
01:01:04.639 --> 01:01:09.039
<v Speaker 4>and for a framework allowing designer to work in a

892
01:01:09.039 --> 01:01:12.039
<v Speaker 4>different way, that's a functional thing. It changes the all

893
01:01:12.119 --> 01:01:16.480
<v Speaker 4>DNA of your framework. Or when solving a big problem

894
01:01:16.599 --> 01:01:20.400
<v Speaker 4>like security and your security team is like hey, hey

895
01:01:20.519 --> 01:01:24.320
<v Speaker 4>dev team, you know we can drop all of that

896
01:01:25.400 --> 01:01:28.440
<v Speaker 4>million dollar deal of code scanning that we're doing all

897
01:01:28.480 --> 01:01:31.360
<v Speaker 4>the time to make sure all of your MPM dependencies

898
01:01:31.360 --> 01:01:36.800
<v Speaker 4>are working and just use a secure framework. Then again,

899
01:01:37.039 --> 01:01:39.039
<v Speaker 4>no one knows what the future is going to be.

900
01:01:39.679 --> 01:01:43.559
<v Speaker 4>But my bet is that future framework will not be

901
01:01:43.920 --> 01:01:48.400
<v Speaker 4>just about aesthetics and better performance. There's going to be

902
01:01:48.559 --> 01:01:53.079
<v Speaker 4>some other needs, some other requirement, or some other problem

903
01:01:53.119 --> 01:01:57.599
<v Speaker 4>that it solves on top of all of the existing problems.

904
01:01:57.639 --> 01:02:00.599
<v Speaker 4>It might be security, might be designed to code, might'd

905
01:02:00.639 --> 01:02:03.639
<v Speaker 4>be something else. I don't know, so I'll kind of

906
01:02:03.679 --> 01:02:08.159
<v Speaker 4>inverse your statement. What you're saying is that there are

907
01:02:08.400 --> 01:02:12.440
<v Speaker 4>a couple of hard problems that we need to be

908
01:02:12.599 --> 01:02:17.840
<v Speaker 4>solving that fall under the umbrella term web essentials. Current

909
01:02:18.280 --> 01:02:22.760
<v Speaker 4>existing frameworks and even meta frameworks are not either or

910
01:02:22.760 --> 01:02:26.480
<v Speaker 4>not solving these problems or not sufficiently solving these problems.

911
01:02:27.559 --> 01:02:32.159
<v Speaker 4>Something will come along that will and you want to

912
01:02:32.199 --> 01:02:36.599
<v Speaker 4>call that the future framework. I would say doubt with

913
01:02:36.880 --> 01:02:42.519
<v Speaker 4>learning of the aesthetics of our current frameworks, that would

914
01:02:42.559 --> 01:02:45.079
<v Speaker 4>probably be our next big framework.

915
01:02:49.119 --> 01:02:51.440
<v Speaker 3>I would also, very much, by the way, like to

916
01:02:51.599 --> 01:02:55.880
<v Speaker 3>have a link to that list of web essentials.

917
01:02:57.119 --> 01:03:02.639
<v Speaker 4>By the way, I'll send it you I I think

918
01:03:02.679 --> 01:03:08.239
<v Speaker 4>I edit in the React next the presentation did last year,

919
01:03:08.519 --> 01:03:09.199
<v Speaker 4>but I'll send.

920
01:03:09.039 --> 01:03:09.320
<v Speaker 2>It to you.

921
01:03:10.440 --> 01:03:13.920
<v Speaker 3>Okay, that'll be great. I'll look at that presentation as well.

922
01:03:13.920 --> 01:03:15.679
<v Speaker 3>I think I did, but I don't remember off the

923
01:03:15.679 --> 01:03:17.400
<v Speaker 3>top of my head right now.

924
01:03:18.440 --> 01:03:20.519
<v Speaker 2>Yeah, we're getting towards the end of our scheduled time

925
01:03:20.559 --> 01:03:23.159
<v Speaker 2>and I have to go soon.

926
01:03:23.320 --> 01:03:26.679
<v Speaker 1>So is there some kind of overriding point that you

927
01:03:26.719 --> 01:03:28.679
<v Speaker 1>want to make or some conclusion you want to give

928
01:03:28.760 --> 01:03:29.199
<v Speaker 1>us you all.

929
01:03:31.360 --> 01:03:37.000
<v Speaker 4>I think I would say that there's we are at

930
01:03:37.000 --> 01:03:40.599
<v Speaker 4>a point where something is going to happen with web frameworks.

931
01:03:40.840 --> 01:03:44.079
<v Speaker 4>You know when you look at we look when you

932
01:03:44.079 --> 01:03:46.360
<v Speaker 4>want to predict the future, you look at the history,

933
01:03:47.639 --> 01:03:51.679
<v Speaker 4>and you know our web frameworks. You know, Age one

934
01:03:52.159 --> 01:03:57.400
<v Speaker 4>was in nineteen ninety five, silver entering. Age one point

935
01:03:57.480 --> 01:04:00.840
<v Speaker 4>five was in a round two thousand and one with

936
01:04:00.960 --> 01:04:06.280
<v Speaker 4>j Querry. Age two was with Angular and React around

937
01:04:06.559 --> 01:04:12.559
<v Speaker 4>twenty ten, and then the metal frameworks and addless CMS

938
01:04:12.559 --> 01:04:16.400
<v Speaker 4>systems twenty sixteen. That's kind of the two point five age.

939
01:04:17.639 --> 01:04:21.280
<v Speaker 4>And now there's all kinds of different innovations and ideas

940
01:04:21.360 --> 01:04:25.320
<v Speaker 4>floating around trying to make something new, and at the

941
01:04:25.320 --> 01:04:27.880
<v Speaker 4>same time, we're moving from a non regulated market to

942
01:04:27.920 --> 01:04:31.280
<v Speaker 4>highly regulated market. And on the same time, we have

943
01:04:31.639 --> 01:04:35.320
<v Speaker 4>AI coming into the mix, and there's going to be

944
01:04:35.360 --> 01:04:38.880
<v Speaker 4>another something that is going to challenge the Internet with AI.

945
01:04:38.920 --> 01:04:41.239
<v Speaker 4>By the way, it's not going to replace anything. It's

946
01:04:41.320 --> 01:04:44.960
<v Speaker 4>just going to be another distribution channel based on AI

947
01:04:45.559 --> 01:04:49.039
<v Speaker 4>that's going to be accompanying web and mobile and social.

948
01:04:49.920 --> 01:04:53.440
<v Speaker 4>So with all of that together, something big is going

949
01:04:53.440 --> 01:04:58.320
<v Speaker 4>to happen with web frameworks. What is it? I think

950
01:04:58.360 --> 01:05:01.719
<v Speaker 4>that is the big question. But I can promise you

951
01:05:02.480 --> 01:05:06.800
<v Speaker 4>is that it's not anything like the films we have today.

952
01:05:06.840 --> 01:05:09.960
<v Speaker 4>It's not going to be just aesthetics and little bit

953
01:05:10.000 --> 01:05:12.000
<v Speaker 4>better performance. It's going to be something bigger.

954
01:05:12.679 --> 01:05:15.519
<v Speaker 2>All right, cool, let's go into our picks.

955
01:05:15.719 --> 01:05:18.440
<v Speaker 1>So one game that my family's played a bit lately

956
01:05:18.559 --> 01:05:22.639
<v Speaker 1>is called The Crew Mission Deep Sea. Now I've picked

957
01:05:22.639 --> 01:05:25.159
<v Speaker 1>the Crew before that was the Quest for Planet Nine,

958
01:05:26.039 --> 01:05:32.840
<v Speaker 1>and they're effectively the same. The difference is is that

959
01:05:33.519 --> 01:05:40.400
<v Speaker 1>with the the Crew the Deep Sea version, what you

960
01:05:40.440 --> 01:05:41.599
<v Speaker 1>wind up doing is.

961
01:05:43.199 --> 01:05:45.039
<v Speaker 2>You still have the missions right, so it still gives

962
01:05:45.079 --> 01:05:46.280
<v Speaker 2>you a handicap of some kind.

963
01:05:46.320 --> 01:05:48.719
<v Speaker 1>You can't yeah, you have to do things in a

964
01:05:48.760 --> 01:05:52.800
<v Speaker 1>sortain order or right. You do so many missions The

965
01:05:53.159 --> 01:05:56.719
<v Speaker 1>difference is that with the deep Sea mission, the missions,

966
01:05:56.760 --> 01:05:59.760
<v Speaker 1>you actually flip cards over, just like you did in

967
01:06:00.880 --> 01:06:04.199
<v Speaker 1>the Quest for Planet Nine, but they can be anything

968
01:06:04.320 --> 01:06:07.840
<v Speaker 1>from you have to take two cards of this color

969
01:06:07.840 --> 01:06:10.679
<v Speaker 1>and two cards of that color, or you I mean,

970
01:06:10.840 --> 01:06:13.760
<v Speaker 1>there are all kinds of things, whereas with the original version,

971
01:06:13.800 --> 01:06:15.559
<v Speaker 1>you'd flip it over and you'd have to take that card,

972
01:06:15.719 --> 01:06:17.320
<v Speaker 1>and then you have little tiles you'd put on them.

973
01:06:17.360 --> 01:06:19.320
<v Speaker 1>You have to do this one first and this one last,

974
01:06:19.599 --> 01:06:21.440
<v Speaker 1>or you have to do these three in order, or

975
01:06:21.480 --> 01:06:23.440
<v Speaker 1>you have to do this one first and the next

976
01:06:23.480 --> 01:06:25.480
<v Speaker 1>two in order after that, and then this one has

977
01:06:25.480 --> 01:06:28.400
<v Speaker 1>to be last, or things like that. So and it's

978
01:06:28.440 --> 01:06:35.320
<v Speaker 1>trick taking. So anyway, it's pretty simple and straightforward as

979
01:06:35.360 --> 01:06:36.280
<v Speaker 1>far as all that goes.

980
01:06:41.360 --> 01:06:46.199
<v Speaker 2>Game game Board Geek or Board game Geek it rates

981
01:06:46.239 --> 01:06:47.199
<v Speaker 2>it at.

982
01:06:47.000 --> 01:06:54.159
<v Speaker 1>A two point four, so it's it's right around casual gamer.

983
01:06:54.639 --> 01:06:56.159
<v Speaker 2>Good pick it up and have fun with it.

984
01:06:57.400 --> 01:06:59.880
<v Speaker 1>I like playing these games with four people. You can

985
01:07:00.239 --> 01:07:02.719
<v Speaker 1>three to five and it's not bad at three or five.

986
01:07:02.800 --> 01:07:06.119
<v Speaker 1>But anyway, it's it's a fun game. So I'm gonna

987
01:07:06.159 --> 01:07:10.519
<v Speaker 1>pick that for my pick. My wife and I watched

988
01:07:10.519 --> 01:07:14.679
<v Speaker 1>a movie this week called Homestead. Let me get a

989
01:07:14.679 --> 01:07:19.440
<v Speaker 1>link for this and put it in the in the comments.

990
01:07:19.480 --> 01:07:25.719
<v Speaker 1>But we watched a movie called Homestead, and it's so

991
01:07:25.920 --> 01:07:27.880
<v Speaker 1>essentially the premise of the show. If you go watch

992
01:07:27.920 --> 01:07:32.400
<v Speaker 1>the trailer, this is about what you'll get from it.

993
01:07:32.440 --> 01:07:36.639
<v Speaker 1>Is there's a nuclear bomb that goes off in California,

994
01:07:37.519 --> 01:07:42.000
<v Speaker 1>in southern California, and then there are other terrorist attacks.

995
01:07:42.360 --> 01:07:44.639
<v Speaker 1>It's a little fuzzy on it, but they just I

996
01:07:44.679 --> 01:07:47.559
<v Speaker 1>got was that there major power outages. The power grid

997
01:07:47.639 --> 01:07:50.000
<v Speaker 1>goes out on the east coast of the United States,

998
01:07:50.719 --> 01:07:59.000
<v Speaker 1>and so it there's this homestead. Essentially, it's it's some land.

999
01:07:59.400 --> 01:08:01.519
<v Speaker 1>I kind of othered it was in Montana, but I'm

1000
01:08:01.519 --> 01:08:07.239
<v Speaker 1>not sure on that. But anyway, this guy hires an

1001
01:08:07.280 --> 01:08:12.400
<v Speaker 1>ex Green Beret to put together a security team just

1002
01:08:12.480 --> 01:08:16.039
<v Speaker 1>in case there's kind of a worldwide catastrophe and he

1003
01:08:16.119 --> 01:08:17.600
<v Speaker 1>needs to protect.

1004
01:08:17.159 --> 01:08:19.000
<v Speaker 2>His his area.

1005
01:08:19.000 --> 01:08:21.079
<v Speaker 1>And he's he's like this uber prepper, right, So they

1006
01:08:21.159 --> 01:08:25.439
<v Speaker 1>have medical supplies and you know, they grow stuff on

1007
01:08:25.479 --> 01:08:27.680
<v Speaker 1>their property and all kinds of stuff like that, and

1008
01:08:27.760 --> 01:08:31.199
<v Speaker 1>so you know, this catastrophe hits and so this guy,

1009
01:08:31.359 --> 01:08:34.079
<v Speaker 1>you know, basically grabs his family and heads up to

1010
01:08:34.359 --> 01:08:40.439
<v Speaker 1>where this this homestead is and they you know, they

1011
01:08:40.560 --> 01:08:43.760
<v Speaker 1>they set things up and are protecting the homestead kind

1012
01:08:43.760 --> 01:08:44.000
<v Speaker 1>of thing.

1013
01:08:44.800 --> 01:08:48.199
<v Speaker 2>It was really good. And then when we watched it afterwards,

1014
01:08:48.199 --> 01:08:50.439
<v Speaker 2>so we were part of the Angel Guild, which is

1015
01:08:51.119 --> 01:08:53.600
<v Speaker 2>Angel Studios is the one that put it out.

1016
01:08:53.600 --> 01:08:55.680
<v Speaker 1>Angel Studios also did The Chosen and a bunch of

1017
01:08:55.680 --> 01:08:56.680
<v Speaker 1>other movies that I've picked.

1018
01:08:58.119 --> 01:08:59.680
<v Speaker 2>They turned it into a series, and so we.

1019
01:08:59.680 --> 01:09:01.920
<v Speaker 1>Actually watched the first episode of the series too, and

1020
01:09:01.960 --> 01:09:05.359
<v Speaker 1>it's pretty good. So I'm gonna pick that if that's

1021
01:09:05.439 --> 01:09:09.079
<v Speaker 1>kind of your cup of tea kind of the it

1022
01:09:09.199 --> 01:09:13.720
<v Speaker 1>kind of walks you through the apocalypse and anyway, it's

1023
01:09:13.760 --> 01:09:14.640
<v Speaker 1>it's really awesome.

1024
01:09:14.720 --> 01:09:17.760
<v Speaker 2>So I've been enjoying that, and.

1025
01:09:20.039 --> 01:09:24.000
<v Speaker 4>So you know, talk about the apocalypse. I looked. I've

1026
01:09:24.039 --> 01:09:30.199
<v Speaker 4>seen the series A Van nelsin recently, which is a

1027
01:09:31.319 --> 01:09:37.960
<v Speaker 4>you know, another adaptation of vampires taking over America, and

1028
01:09:39.159 --> 01:09:43.159
<v Speaker 4>but it's you know, it's very very fun. But you know,

1029
01:09:43.279 --> 01:09:45.720
<v Speaker 4>my pig is actually going to be different a different movie.

1030
01:09:46.319 --> 01:09:50.520
<v Speaker 4>I would go with Themselves, which is a movie about

1031
01:09:51.880 --> 01:09:56.159
<v Speaker 4>a princess that is you know bestally it's a common

1032
01:09:56.239 --> 01:10:00.720
<v Speaker 4>girl that is a princess chosen heir to be his wife,

1033
01:10:01.279 --> 01:10:04.720
<v Speaker 4>and it's like a fairy tale story, and then after

1034
01:10:05.199 --> 01:10:09.560
<v Speaker 4>the marriage he kinds of trowser under into a pit

1035
01:10:10.520 --> 01:10:14.359
<v Speaker 4>to be sacrificed to a dragon, and then it kind

1036
01:10:14.439 --> 01:10:18.279
<v Speaker 4>of goes off rails and becomes a very different moviehm.

1037
01:10:18.880 --> 01:10:23.560
<v Speaker 4>Which you know. One thing that actually I liked about

1038
01:10:23.600 --> 01:10:28.119
<v Speaker 4>it is that first it's very very different, and second

1039
01:10:28.319 --> 01:10:32.960
<v Speaker 4>it doesn't go with the regular style of the Prince

1040
01:10:33.079 --> 01:10:37.680
<v Speaker 4>saves the Princess. It actually goes either way around, which

1041
01:10:37.720 --> 01:10:44.079
<v Speaker 4>is really encouraging and really fresh, I would say, m hm.

1042
01:10:45.680 --> 01:10:50.960
<v Speaker 4>As for a game, he's the kay to choose a

1043
01:10:51.079 --> 01:10:55.680
<v Speaker 4>cards game, mhm. You know, there is a game that

1044
01:10:55.800 --> 01:10:59.439
<v Speaker 4>really enjoyed, I really enjoy playing with my kids called

1045
01:10:59.479 --> 01:11:05.520
<v Speaker 4>The Wins, and it actually starts to become a recurring

1046
01:11:06.720 --> 01:11:09.960
<v Speaker 4>idea of queens and Princess, but e's actually it's a

1047
01:11:10.079 --> 01:11:15.119
<v Speaker 4>it's it's a game where there are there are a

1048
01:11:15.279 --> 01:11:20.479
<v Speaker 4>ten queens or so it's a sixteen queens on the board,

1049
01:11:21.279 --> 01:11:23.800
<v Speaker 4>which upside down. I don't know which card is.

1050
01:11:23.760 --> 01:11:28.880
<v Speaker 2>Which queens sleeping quinns. Yeah, yeah, I've played this with

1051
01:11:28.920 --> 01:11:30.119
<v Speaker 2>my kids. It's a fun one.

1052
01:11:30.880 --> 01:11:33.560
<v Speaker 4>It's a really fun one, and my kids are very

1053
01:11:33.680 --> 01:11:40.279
<v Speaker 4>enthusiatic about that, very passionate. So that's just great game.

1054
01:11:41.720 --> 01:11:44.319
<v Speaker 2>Yeah, it's it's very approachable.

1055
01:11:44.439 --> 01:11:47.479
<v Speaker 1>So my daughter is nine now, but I think we

1056
01:11:47.560 --> 01:11:50.239
<v Speaker 1>got it when she was like six or seven, and

1057
01:11:50.359 --> 01:11:57.159
<v Speaker 1>it's definitely approachable for younger kids. But yeah, there's enough

1058
01:11:57.359 --> 01:12:00.439
<v Speaker 1>meat to the game to where adultsod enjoy playing with it.

1059
01:12:00.439 --> 01:12:02.399
<v Speaker 1>It's not when I would pick to play with my friends,

1060
01:12:03.159 --> 01:12:05.800
<v Speaker 1>but with my kids definitely. And Board Game Geek waits

1061
01:12:05.840 --> 01:12:08.640
<v Speaker 1>it at one point oh five, so it's got fairly

1062
01:12:08.680 --> 01:12:11.640
<v Speaker 1>simple mechanics. I can't place two to five people too,

1063
01:12:11.640 --> 01:12:14.680
<v Speaker 1>that's what it says here. And yeah, terrific game.

1064
01:12:14.880 --> 01:12:17.279
<v Speaker 4>Yeah, it's a great game. And you know, my kids

1065
01:12:17.279 --> 01:12:20.560
<v Speaker 4>are nine and eleven, which is just the right age,

1066
01:12:20.760 --> 01:12:23.039
<v Speaker 4>and yeah, it's what's wondrous with them.

1067
01:12:23.880 --> 01:12:24.079
<v Speaker 2>Yeah.

1068
01:12:24.119 --> 01:12:26.439
<v Speaker 1>I had somebody ask me on I think it was

1069
01:12:26.520 --> 01:12:29.640
<v Speaker 1>Ruby Rogues last week. They asked me what games I

1070
01:12:29.680 --> 01:12:31.840
<v Speaker 1>recommend for kids, and I listed a whole bunch there.

1071
01:12:31.880 --> 01:12:34.920
<v Speaker 1>But there are a ton of just terrific games you

1072
01:12:34.960 --> 01:12:36.960
<v Speaker 1>can play with kids.

1073
01:12:38.399 --> 01:12:39.880
<v Speaker 3>That. Yeah.

1074
01:12:40.000 --> 01:12:43.279
<v Speaker 1>I wonder if Board game Geek actually has a list

1075
01:12:43.319 --> 01:12:46.880
<v Speaker 1>for kids.

1076
01:12:48.000 --> 01:12:50.840
<v Speaker 2>I know they have categories here, here we go categories.

1077
01:12:51.079 --> 01:12:55.079
<v Speaker 4>Yeah. I actually I actually never tried that Bold game

1078
01:12:55.239 --> 01:12:56.399
<v Speaker 4>bold game gigs.

1079
01:12:56.880 --> 01:12:59.279
<v Speaker 1>Yeah, board game Geek, So I'll just do that as

1080
01:12:59.319 --> 01:13:00.760
<v Speaker 1>a pick and I'll just throw it out as well.

1081
01:13:00.800 --> 01:13:01.800
<v Speaker 2>So Board Game Geek.

1082
01:13:02.439 --> 01:13:05.159
<v Speaker 1>The way that it works is it's essentially kind of

1083
01:13:05.199 --> 01:13:07.920
<v Speaker 1>this database of board games and they do board games

1084
01:13:07.960 --> 01:13:11.359
<v Speaker 1>and card games. And then what you can do is

1085
01:13:13.159 --> 01:13:16.720
<v Speaker 1>they have forums as well. So if you a lot

1086
01:13:16.760 --> 01:13:20.319
<v Speaker 1>of times, I'm on board game Geek because I'm going, what,

1087
01:13:22.520 --> 01:13:24.920
<v Speaker 1>you know, what what is the I have a question

1088
01:13:24.960 --> 01:13:26.920
<v Speaker 1>about a mechanic in a game? Right, So they didn't

1089
01:13:28.239 --> 01:13:30.880
<v Speaker 1>they didn't clarify, and so.

1090
01:13:33.319 --> 01:13:34.800
<v Speaker 2>You know, I need to know, hey, how does this

1091
01:13:34.880 --> 01:13:35.600
<v Speaker 2>work or that work?

1092
01:13:35.600 --> 01:13:39.239
<v Speaker 4>And I have to say. The director I'm looking at

1093
01:13:39.279 --> 01:13:43.079
<v Speaker 4>is Whiskey Base, and it's a little bit different. It's

1094
01:13:43.399 --> 01:13:48.520
<v Speaker 4>kind of give ratings for different whiskey drums, and so

1095
01:13:48.600 --> 01:13:53.840
<v Speaker 4>you know, you can know which spirit to get, especially

1096
01:13:53.840 --> 01:13:55.880
<v Speaker 4>when you go to the more unique ones and more

1097
01:13:56.880 --> 01:14:03.840
<v Speaker 4>little ones. Just as a Glen Garry twenty nine on

1098
01:14:03.920 --> 01:14:07.000
<v Speaker 4>its way to my house, which is supposed to be

1099
01:14:07.119 --> 01:14:09.520
<v Speaker 4>ninety five at in Corn Whiskey Base, which is kind

1100
01:14:09.520 --> 01:14:12.279
<v Speaker 4>of amazing. We see how it goes.

1101
01:14:13.520 --> 01:14:19.479
<v Speaker 2>Very cool. Yeah I don't drink alcohol at all, but yeah,

1102
01:14:19.520 --> 01:14:20.000
<v Speaker 2>I mean.

1103
01:14:21.520 --> 01:14:24.359
<v Speaker 1>We used to have somebody would pick beers every episode,

1104
01:14:24.479 --> 01:14:27.000
<v Speaker 1>so right, it's like, hey, you have to try this one.

1105
01:14:27.000 --> 01:14:29.960
<v Speaker 1>And sometimes they were local brews and sometimes yeah, I

1106
01:14:30.199 --> 01:14:32.239
<v Speaker 1>could definitely see myself getting into that if that was

1107
01:14:32.239 --> 01:14:33.680
<v Speaker 1>my my thing.

1108
01:14:33.760 --> 01:14:37.039
<v Speaker 2>But yeah, very cool. Well you ovious.

1109
01:14:37.199 --> 01:14:40.319
<v Speaker 1>If people want to check out with Enterprise or they

1110
01:14:40.399 --> 01:14:42.760
<v Speaker 1>want to see what you're working on or catch you

1111
01:14:42.800 --> 01:14:44.520
<v Speaker 1>at a conference or anything, how do they find you?

1112
01:14:46.119 --> 01:14:50.680
<v Speaker 4>Twitter? That is it one. Also there's week Engineering Blog.

1113
01:14:51.640 --> 01:14:55.720
<v Speaker 4>There's lots of stuff there, and you know, just give me,

1114
01:14:55.880 --> 01:14:58.119
<v Speaker 4>give me a call, you know, reach out to me

1115
01:14:58.159 --> 01:15:01.920
<v Speaker 4>on Twitter or then I am there. I'll be up

1116
01:15:01.920 --> 01:15:03.319
<v Speaker 4>to help anyone.

1117
01:15:04.039 --> 01:15:06.319
<v Speaker 2>Sounds good. All right, Well, I'm gonna go ahead and

1118
01:15:06.319 --> 01:15:08.000
<v Speaker 2>wrap this up. Thanks for coming.

1119
01:15:09.119 --> 01:15:11.479
<v Speaker 4>I don't think of having me here. Was a super

1120
01:15:11.520 --> 01:15:12.239
<v Speaker 4>fun

1121
01:15:12.520 --> 01:15:15.800
<v Speaker 2>Yeah, until next time, folks, max out
