1
00:00:00,719 --> 00:00:02,399
the following is my conversation with

2
00:00:02,399 --> 00:00:04,640
adam argyle who is css developer

3
00:00:04,640 --> 00:00:06,720
advocate for google chrome

4
00:00:06,720 --> 00:00:08,320
the conversation covers quite a few

5
00:00:08,320 --> 00:00:10,400
topics that are relevant in the web dev

6
00:00:10,400 --> 00:00:13,280
and web design industries ui complexity

7
00:00:13,280 --> 00:00:14,160
clips

8
00:00:14,160 --> 00:00:15,759
developer experience versus user

9
00:00:15,759 --> 00:00:18,320
experience which we call dx versus ux

10
00:00:18,320 --> 00:00:20,880
self disruption and what web design

11
00:00:20,880 --> 00:00:22,240
tooling could be

12
00:00:22,240 --> 00:00:24,320
along the way we touch on what open ui

13
00:00:24,320 --> 00:00:27,039
is adam's deferred inputs proposal the

14
00:00:27,039 --> 00:00:29,039
four jobs of developer experience

15
00:00:29,039 --> 00:00:31,359
thought leading for good or thought

16
00:00:31,359 --> 00:00:33,360
leading for fun and profit from emily

17
00:00:33,360 --> 00:00:36,719
freeman elia grigorik and dionne meyer

18
00:00:36,719 --> 00:00:40,239
who inspire each of us individually and

19
00:00:40,239 --> 00:00:42,879
adobe versus figma vs webflow

20
00:00:42,879 --> 00:00:44,399
i hope you enjoy these long-form

21
00:00:44,399 --> 00:00:46,000
conversations that i have with amazing

22
00:00:46,000 --> 00:00:48,399
developers i haven't been as regular as

23
00:00:48,399 --> 00:00:50,160
i would like but i'm investing into

24
00:00:50,160 --> 00:00:52,800
youtube in 2022 and i'm keen on

25
00:00:52,800 --> 00:00:53,840
producing more high quality

26
00:00:53,840 --> 00:00:55,840
conversations if you like this share

27
00:00:55,840 --> 00:00:57,680
with a friend if you have requests for

28
00:00:57,680 --> 00:00:59,440
other guests tag them on social media

29
00:00:59,440 --> 00:01:01,600
i'd like to basically make this a space

30
00:01:01,600 --> 00:01:03,120
where passionate builders and doers can

31
00:01:03,120 --> 00:01:04,640
talk about their craft and where things

32
00:01:04,640 --> 00:01:06,000
are going

33
00:01:06,000 --> 00:01:06,960
all right so the first thing we're

34
00:01:06,960 --> 00:01:09,360
talking about is ui complexity clips um

35
00:01:09,360 --> 00:01:11,280
what's on your mind why is this

36
00:01:11,280 --> 00:01:13,360
first on your on your list

37
00:01:13,360 --> 00:01:14,720
yeah you had a tweet the other day that

38
00:01:14,720 --> 00:01:15,920
was um

39
00:01:15,920 --> 00:01:17,920
i'm at my fourth startup or something

40
00:01:17,920 --> 00:01:19,680
like this and we're discussing buttons

41
00:01:19,680 --> 00:01:24,240
again like how is it 2021 and buttons

42
00:01:24,240 --> 00:01:26,880
are popping up is needing refactored or

43
00:01:26,880 --> 00:01:30,159
something like how are they not solved

44
00:01:30,159 --> 00:01:32,320
and um i'm sure you had threads of

45
00:01:32,320 --> 00:01:33,920
people that have their ideas there and

46
00:01:33,920 --> 00:01:36,159
mine was it's a complexity cliff it's

47
00:01:36,159 --> 00:01:38,000
the first introduction where you as a

48
00:01:38,000 --> 00:01:40,880
front-end ui person who actually is like

49
00:01:40,880 --> 00:01:43,200
going to go build out all this matrix of

50
00:01:43,200 --> 00:01:45,280
states that a button needs that it lands

51
00:01:45,280 --> 00:01:47,040
on you it's like you've been in the car

52
00:01:47,040 --> 00:01:48,960
using a shifter this whole time using a

53
00:01:48,960 --> 00:01:50,320
steering wheel this whole time and then

54
00:01:50,320 --> 00:01:52,720
someone said hey go change the steering

55
00:01:52,720 --> 00:01:54,720
wheel out and you're like oh that's just

56
00:01:54,720 --> 00:01:57,040
a component it's just a single use like

57
00:01:57,040 --> 00:01:59,119
that thing has totally only got like one

58
00:01:59,119 --> 00:02:00,479
attachment right and then you walk up to

59
00:02:00,479 --> 00:02:02,479
it and you start working on it like this

60
00:02:02,479 --> 00:02:04,560
thing is like really integrated into the

61
00:02:04,560 --> 00:02:06,799
system and or whatever right you have

62
00:02:06,799 --> 00:02:08,959
these like discovery moments with it and

63
00:02:08,959 --> 00:02:10,800
you realize it's much more complex than

64
00:02:10,800 --> 00:02:12,400
it is and a button just does that a

65
00:02:12,400 --> 00:02:14,239
button's like yeah well let's allow an

66
00:02:14,239 --> 00:02:16,000
icon to be on our button and you're like

67
00:02:16,000 --> 00:02:18,560
okay left and right

68
00:02:18,560 --> 00:02:20,239
yeah how about both sides can you i can

69
00:02:20,239 --> 00:02:21,440
have both sides because you could have a

70
00:02:21,440 --> 00:02:23,200
shopping cart with a little drop down

71
00:02:23,200 --> 00:02:25,680
arrow oh man okay and you have to have

72
00:02:25,680 --> 00:02:27,760
dark mode you better have this and that

73
00:02:27,760 --> 00:02:30,080
and the the matrix like i was saying of

74
00:02:30,080 --> 00:02:32,160
states is what i mean by this complexity

75
00:02:32,160 --> 00:02:33,920
cliff like it's just not visible from

76
00:02:33,920 --> 00:02:36,720
the surface it looks all innocent um and

77
00:02:36,720 --> 00:02:38,640
then you go map it like if you mapped

78
00:02:38,640 --> 00:02:40,720
out everything you need it's it's a lot

79
00:02:40,720 --> 00:02:42,560
like the css alone that it takes to have

80
00:02:42,560 --> 00:02:45,280
like a custom button and a design system

81
00:02:45,280 --> 00:02:47,360
is absurd it's absurd but at the same

82
00:02:47,360 --> 00:02:48,239
time

83
00:02:48,239 --> 00:02:51,200
i love it uh anyway

84
00:02:51,200 --> 00:02:54,160
so this is the tweet in question um and

85
00:02:54,160 --> 00:02:56,480
honestly like this is this is genuine

86
00:02:56,480 --> 00:02:58,000
because

87
00:02:58,000 --> 00:03:00,400
uh yeah i had it at uh two sigma where i

88
00:03:00,400 --> 00:03:02,480
where i had my first uh front-end job

89
00:03:02,480 --> 00:03:04,640
and then netlify and now at the world

90
00:03:04,640 --> 00:03:06,800
same stuff again

91
00:03:06,800 --> 00:03:09,680
and oh did you handle disabled oh is it

92
00:03:09,680 --> 00:03:11,440
a link or is it a button

93
00:03:11,440 --> 00:03:12,879
um

94
00:03:12,879 --> 00:03:14,879
and what's interesting was also just the

95
00:03:14,879 --> 00:03:16,159
replies like

96
00:03:16,159 --> 00:03:19,280
nicole from google so uh what does she

97
00:03:19,280 --> 00:03:21,440
do she like needs that i work with her

98
00:03:21,440 --> 00:03:23,200
directly these days

99
00:03:23,200 --> 00:03:25,440
she was on frameworks and she's now

100
00:03:25,440 --> 00:03:28,720
shifted to um ui and sort of like how

101
00:03:28,720 --> 00:03:30,799
did she empower people to build flexible

102
00:03:30,799 --> 00:03:32,720
and fluid interfaces on the web and

103
00:03:32,720 --> 00:03:34,239
that's why she points to open ui this is

104
00:03:34,239 --> 00:03:36,080
like a community for that but anyway i'm

105
00:03:36,080 --> 00:03:37,920
part of her team because i'm

106
00:03:37,920 --> 00:03:40,239
i work on similar things

107
00:03:40,239 --> 00:03:42,319
okay yeah and so like you know first of

108
00:03:42,319 --> 00:03:43,760
all i didn't i didn't expect this to

109
00:03:43,760 --> 00:03:47,120
reach uh anyone at google

110
00:03:47,120 --> 00:03:49,519
but then also like the the

111
00:03:49,519 --> 00:03:51,040
web components people reached out to me

112
00:03:51,040 --> 00:03:52,720
and they're like how come web components

113
00:03:52,720 --> 00:03:53,920
have installed this for you and i'm like

114
00:03:53,920 --> 00:03:55,439
it's not about the tech

115
00:03:55,439 --> 00:03:58,080
um it's more about like understanding

116
00:03:58,080 --> 00:03:59,760
the specs of what people want and people

117
00:03:59,760 --> 00:04:02,879
not agreeing what a button should do

118
00:04:02,879 --> 00:04:05,519
yeah yeah google cloud had

119
00:04:05,519 --> 00:04:06,720
had um

120
00:04:06,720 --> 00:04:08,319
too many they had them in multiple

121
00:04:08,319 --> 00:04:11,200
frameworks in the same repo right being

122
00:04:11,200 --> 00:04:13,040
like just because they grew so fast or

123
00:04:13,040 --> 00:04:14,480
whatever like your project always gets

124
00:04:14,480 --> 00:04:15,599
out of hand and all of a sudden yeah you

125
00:04:15,599 --> 00:04:17,680
have more than one button which some

126
00:04:17,680 --> 00:04:19,519
people have enough time wrangling one

127
00:04:19,519 --> 00:04:20,798
how are they going to wrangle two or

128
00:04:20,798 --> 00:04:22,160
three and built in different frameworks

129
00:04:22,160 --> 00:04:23,280
right you've got your island's

130
00:04:23,280 --> 00:04:24,800
architecture with buttons you're just

131
00:04:24,800 --> 00:04:26,639
like oh snap does that just mean any

132
00:04:26,639 --> 00:04:28,240
button from any framework just shows up

133
00:04:28,240 --> 00:04:30,400
in an island i don't know

134
00:04:30,400 --> 00:04:31,840
um

135
00:04:31,840 --> 00:04:33,360
that's an interesting discussion is is

136
00:04:33,360 --> 00:04:35,600
that a big uh

137
00:04:35,600 --> 00:04:37,280
is the island's architecture a big

138
00:04:37,280 --> 00:04:38,720
discussion within

139
00:04:38,720 --> 00:04:41,199
google or because i always have heart i

140
00:04:41,199 --> 00:04:43,680
have trouble separating jason from jason

141
00:04:43,680 --> 00:04:45,120
miller who wrote the island's article

142
00:04:45,120 --> 00:04:47,199
architecture blog post when is he

143
00:04:47,199 --> 00:04:49,199
talking in his own personal capacity or

144
00:04:49,199 --> 00:04:50,800
when is he saying like

145
00:04:50,800 --> 00:04:52,160
no this is something we're thinking

146
00:04:52,160 --> 00:04:53,520
about at google

147
00:04:53,520 --> 00:04:56,080
oh in my opinion jason and i are pretty

148
00:04:56,080 --> 00:04:58,560
straight shooters about our own stuff

149
00:04:58,560 --> 00:05:00,240
like we work for

150
00:05:00,240 --> 00:05:02,240
google and chrome and we love our job

151
00:05:02,240 --> 00:05:04,400
and we want to represent chrome well and

152
00:05:04,400 --> 00:05:06,080
um do all the things our job want us to

153
00:05:06,080 --> 00:05:08,320
do but we have this like

154
00:05:08,320 --> 00:05:10,720
i don't know our own personal opinion

155
00:05:10,720 --> 00:05:12,479
like jake archibald does this too he

156
00:05:12,479 --> 00:05:14,160
he's working on a lot of his own stuff

157
00:05:14,160 --> 00:05:15,919
we kind of balance both i mean jason

158
00:05:15,919 --> 00:05:17,440
definitely does things internally that

159
00:05:17,440 --> 00:05:19,520
he might not have chosen to go do if he

160
00:05:19,520 --> 00:05:20,800
just could choose whatever he wants to

161
00:05:20,800 --> 00:05:22,240
do but that doesn't mean that's what

162
00:05:22,240 --> 00:05:24,400
he's going to go pitch outside of google

163
00:05:24,400 --> 00:05:26,400
and the islands architecture is yeah

164
00:05:26,400 --> 00:05:27,759
this is just sort of the micro

165
00:05:27,759 --> 00:05:29,919
front-ends evolution into let's

166
00:05:29,919 --> 00:05:32,000
eventually dockerize every component and

167
00:05:32,000 --> 00:05:33,520
then manage them with kubernetes in the

168
00:05:33,520 --> 00:05:34,560
front end right we'll get there i don't

169
00:05:34,560 --> 00:05:35,280
know

170
00:05:35,280 --> 00:05:36,639
um

171
00:05:36,639 --> 00:05:37,680
yeah

172
00:05:37,680 --> 00:05:41,440
so the this discussion of the reusable

173
00:05:41,440 --> 00:05:44,639
button and the ui complexity cliff

174
00:05:44,639 --> 00:05:46,479
makes me wonder because there's a lot of

175
00:05:46,479 --> 00:05:49,120
discussion about how dry is overrated

176
00:05:49,120 --> 00:05:51,360
you know um we should we should write

177
00:05:51,360 --> 00:05:52,800
everything twice

178
00:05:52,800 --> 00:05:54,960
and sometimes if you're just customizing

179
00:05:54,960 --> 00:05:57,120
it so often and you're reusing it so

180
00:05:57,120 --> 00:05:59,600
much maybe just don't reuse code just

181
00:05:59,600 --> 00:06:01,440
just copy and paste

182
00:06:01,440 --> 00:06:03,280
and and then that makes it easy to

183
00:06:03,280 --> 00:06:05,280
delete easy to modify

184
00:06:05,280 --> 00:06:07,440
the only thing that

185
00:06:07,440 --> 00:06:08,800
that goes wrong with that is whenever

186
00:06:08,800 --> 00:06:10,880
you need to do a global update

187
00:06:10,880 --> 00:06:13,199
um then you'd run into trouble but

188
00:06:13,199 --> 00:06:15,840
how often do you really need to do that

189
00:06:15,840 --> 00:06:17,680
right is that what the super rad

190
00:06:17,680 --> 00:06:19,600
typescript refactor button is for like

191
00:06:19,600 --> 00:06:21,199
that's why you typed your whole thing so

192
00:06:21,199 --> 00:06:23,280
that you could refactor across something

193
00:06:23,280 --> 00:06:25,199
globally i mean this is a value prop of

194
00:06:25,199 --> 00:06:26,960
typescript right

195
00:06:26,960 --> 00:06:28,080
if you are

196
00:06:28,080 --> 00:06:29,840
you know employing it that way on your

197
00:06:29,840 --> 00:06:30,960
project but

198
00:06:30,960 --> 00:06:32,720
um yeah i think that's a really good

199
00:06:32,720 --> 00:06:34,160
point though is that sometimes you don't

200
00:06:34,160 --> 00:06:36,960
need to build a mega button yeah mega

201
00:06:36,960 --> 00:06:38,560
buttons get built and then mega buttons

202
00:06:38,560 --> 00:06:40,880
fall down

203
00:06:40,880 --> 00:06:43,039
and i also wonder if it's like

204
00:06:43,039 --> 00:06:44,319
uh

205
00:06:44,319 --> 00:06:46,840
if it should be gated by a number of

206
00:06:46,840 --> 00:06:49,919
people working on the project

207
00:06:49,919 --> 00:06:52,880
so we had at my first company

208
00:06:52,880 --> 00:06:54,479
um

209
00:06:54,479 --> 00:06:56,560
three front end developers and we were

210
00:06:56,560 --> 00:06:58,479
building both the design system and the

211
00:06:58,479 --> 00:06:59,680
app

212
00:06:59,680 --> 00:07:00,960
and i was just like maybe we should just

213
00:07:00,960 --> 00:07:03,520
build the app and forget the design

214
00:07:03,520 --> 00:07:05,680
system

215
00:07:05,680 --> 00:07:07,120
okay this is actually something i've

216
00:07:07,120 --> 00:07:09,680
said multiple times is that

217
00:07:09,680 --> 00:07:11,680
projects and people are in phases a

218
00:07:11,680 --> 00:07:13,599
startup is in a phase and in your first

219
00:07:13,599 --> 00:07:15,440
phase where you're in the creation state

220
00:07:15,440 --> 00:07:16,960
you should not be in typescript you

221
00:07:16,960 --> 00:07:18,479
should not be hardening all of your

222
00:07:18,479 --> 00:07:20,160
stuff with 100 test coverage and you

223
00:07:20,160 --> 00:07:21,840
should be not be making a design system

224
00:07:21,840 --> 00:07:23,759
what you need to do is build a really

225
00:07:23,759 --> 00:07:25,680
good experience that's messy and

226
00:07:25,680 --> 00:07:28,000
expressive and then go harden all the

227
00:07:28,000 --> 00:07:29,599
things that are tried and true because

228
00:07:29,599 --> 00:07:31,199
you can't predict it all and if you try

229
00:07:31,199 --> 00:07:33,360
to sit down and predict it all and and

230
00:07:33,360 --> 00:07:34,960
build this like perfect thing from the

231
00:07:34,960 --> 00:07:36,880
start you're just never going to get to

232
00:07:36,880 --> 00:07:38,880
the point at which it should have as

233
00:07:38,880 --> 00:07:40,400
fast as you can it's weird we think we

234
00:07:40,400 --> 00:07:42,319
move faster with all of these rules and

235
00:07:42,319 --> 00:07:43,840
all this stuff but we end up moving way

236
00:07:43,840 --> 00:07:46,080
slower and so yeah i'd say phase two of

237
00:07:46,080 --> 00:07:47,759
your company let's say you have success

238
00:07:47,759 --> 00:07:49,280
and you're sustainable and it's time to

239
00:07:49,280 --> 00:07:50,720
like rethink something because you need

240
00:07:50,720 --> 00:07:52,879
to grow the team by 10 or 50 or whatever

241
00:07:52,879 --> 00:07:55,520
go ahead and spend a few months and

242
00:07:55,520 --> 00:07:57,039
refactor and harden and create the

243
00:07:57,039 --> 00:07:59,599
components that are obvious like and

244
00:07:59,599 --> 00:08:01,919
don't go micromanage your design system

245
00:08:01,919 --> 00:08:03,440
oh okay wait i'm getting ramped up sorry

246
00:08:03,440 --> 00:08:05,280
okay anyway

247
00:08:05,280 --> 00:08:08,240
no i think look like you have this uh

248
00:08:08,240 --> 00:08:09,840
i've seen you do this rant a couple

249
00:08:09,840 --> 00:08:11,360
times um

250
00:08:11,360 --> 00:08:13,039
i think you need to slap a fancy label

251
00:08:13,039 --> 00:08:15,280
on it and then put it put into a nice

252
00:08:15,280 --> 00:08:17,759
graphic and go like this is the way

253
00:08:17,759 --> 00:08:19,280
that you should do things because uh

254
00:08:19,280 --> 00:08:21,840
have you seen emily freeman

255
00:08:21,840 --> 00:08:23,759
at aws

256
00:08:23,759 --> 00:08:24,960
she did she

257
00:08:24,960 --> 00:08:27,120
basically had some issues with the

258
00:08:27,120 --> 00:08:28,560
software the traditional software

259
00:08:28,560 --> 00:08:30,560
development life cycle where it's like a

260
00:08:30,560 --> 00:08:32,159
very waterfall approach and shows she

261
00:08:32,159 --> 00:08:34,080
reshaped it into like a

262
00:08:34,080 --> 00:08:36,479
like a circular concentric circle grid

263
00:08:36,479 --> 00:08:38,640
with six dimensions and it made a lot of

264
00:08:38,640 --> 00:08:40,880
sense for some people um but that at

265
00:08:40,880 --> 00:08:42,479
least encoded her opinion and she could

266
00:08:42,479 --> 00:08:45,279
give it a name and and she she said like

267
00:08:45,279 --> 00:08:46,720
this is the way you do things now and

268
00:08:46,720 --> 00:08:49,519
she had a whole spiel on it but like

269
00:08:49,519 --> 00:08:51,519
sometimes it's better to sell an idea or

270
00:08:51,519 --> 00:08:53,279
like a workflow if you give it a name

271
00:08:53,279 --> 00:08:55,279
and you put put some diagrams on it and

272
00:08:55,279 --> 00:08:57,519
make it a thing rather than uh repeating

273
00:08:57,519 --> 00:08:59,760
the rant every time

274
00:08:59,760 --> 00:09:01,360
yeah and so yeah this is the phases

275
00:09:01,360 --> 00:09:03,200
range you're mentioning like yeah

276
00:09:03,200 --> 00:09:04,640
yeah

277
00:09:04,640 --> 00:09:07,519
catchy acronym or like you know whatever

278
00:09:07,519 --> 00:09:08,399
um

279
00:09:08,399 --> 00:09:10,160
and and yeah i mean you know i see

280
00:09:10,160 --> 00:09:11,680
island's architecture was a catchy

281
00:09:11,680 --> 00:09:13,600
catchy name for it you know sure was

282
00:09:13,600 --> 00:09:15,200
yeah people could visualize that name he

283
00:09:15,200 --> 00:09:17,440
had for um oh holotypes right it was

284
00:09:17,440 --> 00:09:19,600
holotypes holotypes i never heard that

285
00:09:19,600 --> 00:09:20,880
word before

286
00:09:20,880 --> 00:09:24,000
that was so cool yeah

287
00:09:24,080 --> 00:09:25,760
oh that's that's what jason called it in

288
00:09:25,760 --> 00:09:27,519
an article he was oh no he was saying

289
00:09:27,519 --> 00:09:29,680
your app is one of these holotypes and

290
00:09:29,680 --> 00:09:31,839
if you were a certain holotype it could

291
00:09:31,839 --> 00:09:34,000
lead well to you know an island's

292
00:09:34,000 --> 00:09:35,600
architecture or whatever

293
00:09:35,600 --> 00:09:37,760
yeah yeah very good so basically this is

294
00:09:37,760 --> 00:09:40,399
like uh part of my long-running study on

295
00:09:40,399 --> 00:09:42,399
how the thought lead or thought leading

296
00:09:42,399 --> 00:09:43,839
for fun and profit you know there's like

297
00:09:43,839 --> 00:09:46,080
sort of the cynical thought leading

298
00:09:46,080 --> 00:09:48,000
which is like hey i want you to buy my

299
00:09:48,000 --> 00:09:49,440
ebook

300
00:09:49,440 --> 00:09:50,720
but then there you can also thought lead

301
00:09:50,720 --> 00:09:52,720
for for benefit if like you really have

302
00:09:52,720 --> 00:09:54,399
a cause that you just really want to

303
00:09:54,399 --> 00:09:57,040
align people on um you have to com

304
00:09:57,040 --> 00:09:59,040
package it in a message that that people

305
00:09:59,040 --> 00:10:00,959
can spread for you instead of you having

306
00:10:00,959 --> 00:10:02,880
to do all the work

307
00:10:02,880 --> 00:10:04,560
totally yeah i think you're doing a good

308
00:10:04,560 --> 00:10:06,160
job with that being a thought leader by

309
00:10:06,160 --> 00:10:09,680
the way i very much enjoy your thoughts

310
00:10:09,680 --> 00:10:12,959
i don't know what i'm meeting people too

311
00:10:13,360 --> 00:10:14,640
i mean i think that's what's fun is

312
00:10:14,640 --> 00:10:16,480
you're on an exploration constantly

313
00:10:16,480 --> 00:10:17,920
digging and going through all these

314
00:10:17,920 --> 00:10:19,120
archives and you're just kind of

315
00:10:19,120 --> 00:10:20,959
shooting it out as it happens and

316
00:10:20,959 --> 00:10:22,240
honestly that's kind of all i do with my

317
00:10:22,240 --> 00:10:25,120
css tips i'm building stuff every day

318
00:10:25,120 --> 00:10:26,959
almost all day and so i'm like but

319
00:10:26,959 --> 00:10:28,640
here's it i just did this thing this is

320
00:10:28,640 --> 00:10:30,839
cool i think anyway maybe someone else

321
00:10:30,839 --> 00:10:33,440
willing i would say like um the thing

322
00:10:33,440 --> 00:10:35,120
about css like no one ever feels like

323
00:10:35,120 --> 00:10:37,519
they know all of it

324
00:10:37,519 --> 00:10:39,839
do you think that's a problem

325
00:10:39,839 --> 00:10:41,440
no i think that's how every language

326
00:10:41,440 --> 00:10:43,760
feels

327
00:10:44,000 --> 00:10:45,360
so

328
00:10:45,360 --> 00:10:47,519
i've been trying to uh

329
00:10:47,519 --> 00:10:49,440
push back on this a little because i

330
00:10:49,440 --> 00:10:51,360
think being able to say

331
00:10:51,360 --> 00:10:53,360
this is the entire map like okay you

332
00:10:53,360 --> 00:10:55,839
know there is a spec right

333
00:10:55,839 --> 00:10:57,600
and it's not an infinite list it's a

334
00:10:57,600 --> 00:10:58,800
finite list

335
00:10:58,800 --> 00:11:00,079
and you can you can at least kind of

336
00:11:00,079 --> 00:11:02,320
draw like here's the world map you will

337
00:11:02,320 --> 00:11:03,360
never visit

338
00:11:03,360 --> 00:11:05,200
the entire world but at least you know

339
00:11:05,200 --> 00:11:07,040
like okay here's a continent here

340
00:11:07,040 --> 00:11:08,560
there's a continent there

341
00:11:08,560 --> 00:11:10,800
um i haven't gone there yet but it's

342
00:11:10,800 --> 00:11:12,640
there when i need it

343
00:11:12,640 --> 00:11:14,320
at least like having boundaries around

344
00:11:14,320 --> 00:11:16,560
like okay the world ends ends here

345
00:11:16,560 --> 00:11:18,000
and um

346
00:11:18,000 --> 00:11:19,440
i think that that's an interesting way

347
00:11:19,440 --> 00:11:21,040
to think about like learning or

348
00:11:21,040 --> 00:11:22,720
evangelizing something and this is

349
00:11:22,720 --> 00:11:25,360
relevant for me because at my job uh we

350
00:11:25,360 --> 00:11:27,440
have a fairly complex system

351
00:11:27,440 --> 00:11:29,440
and no one had ever enumerated the

352
00:11:29,440 --> 00:11:30,880
features until i went through and just

353
00:11:30,880 --> 00:11:33,040
went like okay we have 30 features

354
00:11:33,040 --> 00:11:34,560
and once you know these 30 features

355
00:11:34,560 --> 00:11:36,640
that's about it for the system and being

356
00:11:36,640 --> 00:11:38,240
able to say that's it

357
00:11:38,240 --> 00:11:40,640
and and having an end to your learning i

358
00:11:40,640 --> 00:11:42,240
think it's a really interesting concept

359
00:11:42,240 --> 00:11:43,680
to have

360
00:11:43,680 --> 00:11:45,200
yeah docs kind of give you that sense

361
00:11:45,200 --> 00:11:46,959
right you land on docs and you're like i

362
00:11:46,959 --> 00:11:49,839
have the world in my hands every api

363
00:11:49,839 --> 00:11:51,839
call and every function is

364
00:11:51,839 --> 00:11:54,160
articulated here with every parameter um

365
00:11:54,160 --> 00:11:55,760
yeah and i definitely see where you're

366
00:11:55,760 --> 00:11:57,920
going i think that can help someone um

367
00:11:57,920 --> 00:11:59,920
get perspective of the language that

368
00:11:59,920 --> 00:12:01,120
they're jumping into but there's like

369
00:12:01,120 --> 00:12:02,880
surprises right like you learned

370
00:12:02,880 --> 00:12:05,360
javascript for uh who cares how long and

371
00:12:05,360 --> 00:12:06,720
then all of a sudden someone goes you

372
00:12:06,720 --> 00:12:08,959
heard a functional programming go and

373
00:12:08,959 --> 00:12:10,560
then you're like what and then you go

374
00:12:10,560 --> 00:12:11,680
look at it you're like what are you

375
00:12:11,680 --> 00:12:13,200
doing with javascript and then it

376
00:12:13,200 --> 00:12:14,399
doesn't stop you're bringing it to

377
00:12:14,399 --> 00:12:15,839
infinity right and then like

378
00:12:15,839 --> 00:12:17,200
typescript's the same way you're like i

379
00:12:17,200 --> 00:12:20,480
thought i was like i liked or knew like

380
00:12:20,480 --> 00:12:22,560
javascript and typescript just tells me

381
00:12:22,560 --> 00:12:24,320
all day that i have no idea what i know

382
00:12:24,320 --> 00:12:25,760
and you know like

383
00:12:25,760 --> 00:12:27,760
yeah css is the same way i've been

384
00:12:27,760 --> 00:12:29,519
studying and building things in it for a

385
00:12:29,519 --> 00:12:31,200
long time and i

386
00:12:31,200 --> 00:12:33,360
i'd also i'm a human you know some of

387
00:12:33,360 --> 00:12:35,440
these things are so big that i can't

388
00:12:35,440 --> 00:12:37,839
memorize every map in territory so i

389
00:12:37,839 --> 00:12:40,800
revisit and so i think what happens uh

390
00:12:40,800 --> 00:12:43,360
with experience is that um you know like

391
00:12:43,360 --> 00:12:44,560
okay

392
00:12:44,560 --> 00:12:46,480
every programming language has a moment

393
00:12:46,480 --> 00:12:47,760
where you're banging your head against

394
00:12:47,760 --> 00:12:50,160
it you know whether it's flexbox or it's

395
00:12:50,160 --> 00:12:52,800
um you know some extends in typescript

396
00:12:52,800 --> 00:12:54,320
or something that's extending extend

397
00:12:54,320 --> 00:12:55,760
extend and you're just like lost in the

398
00:12:55,760 --> 00:12:57,760
extension world like

399
00:12:57,760 --> 00:13:01,040
in these scenarios you eventually emerge

400
00:13:01,040 --> 00:13:03,200
right you bust out

401
00:13:03,200 --> 00:13:04,639
and your head comes popping out you get

402
00:13:04,639 --> 00:13:06,079
a breath of air and you're like i have

403
00:13:06,079 --> 00:13:08,160
defeated it like and what i think

404
00:13:08,160 --> 00:13:10,560
professional developers are they're just

405
00:13:10,560 --> 00:13:12,399
seasoned at defeating all the little

406
00:13:12,399 --> 00:13:14,079
things in so much that they're now in a

407
00:13:14,079 --> 00:13:16,079
perspective where they they expect

408
00:13:16,079 --> 00:13:17,440
things to pop up that they're not going

409
00:13:17,440 --> 00:13:19,440
to know but b they've if they run into

410
00:13:19,440 --> 00:13:20,880
things that they run into before they

411
00:13:20,880 --> 00:13:23,120
don't have the same hour or four hours

412
00:13:23,120 --> 00:13:24,720
or two days that it takes to solve it

413
00:13:24,720 --> 00:13:26,079
they just walk right over it because

414
00:13:26,079 --> 00:13:27,200
they're like oh that was in that

415
00:13:27,200 --> 00:13:29,360
territory over here i remember like two

416
00:13:29,360 --> 00:13:30,720
years ago when i had to go there like

417
00:13:30,720 --> 00:13:32,079
i'll just go there i don't remember

418
00:13:32,079 --> 00:13:33,760
everything about it but i'll go read it

419
00:13:33,760 --> 00:13:34,800
and study it and be like oh yeah that

420
00:13:34,800 --> 00:13:36,079
was it okay and i'll put that back in

421
00:13:36,079 --> 00:13:37,279
this happens like every time i use

422
00:13:37,279 --> 00:13:39,040
intersection observer i'm like i know

423
00:13:39,040 --> 00:13:40,560
intersection observer and then i'm like

424
00:13:40,560 --> 00:13:42,959
i don't remember this syntax i gotta go

425
00:13:42,959 --> 00:13:47,040
look it up um it's so funky um

426
00:13:47,040 --> 00:13:48,639
anyway yeah

427
00:13:48,639 --> 00:13:50,240
and basically i just want to copy and

428
00:13:50,240 --> 00:13:51,920
paste intersection observer code and

429
00:13:51,920 --> 00:13:53,279
just give me like the three or four

430
00:13:53,279 --> 00:13:55,440
design patterns that work and

431
00:13:55,440 --> 00:13:56,959
that's about it that's that's all people

432
00:13:56,959 --> 00:13:58,720
want out of in section observer i mean i

433
00:13:58,720 --> 00:14:00,000
think people want the matrix i think

434
00:14:00,000 --> 00:14:01,199
they want to stick a thing in the back

435
00:14:01,199 --> 00:14:04,000
of their neck and just be like css i

436
00:14:04,000 --> 00:14:06,399
know it i will now command every box in

437
00:14:06,399 --> 00:14:09,440
the way that i've ever desired you know

438
00:14:09,440 --> 00:14:11,680
um yeah briefly though before we get off

439
00:14:11,680 --> 00:14:13,839
of complexity cliffs um one of the first

440
00:14:13,839 --> 00:14:15,120
components that reminded me of

441
00:14:15,120 --> 00:14:17,920
complexity clips was the tabs component

442
00:14:17,920 --> 00:14:19,519
um and we've been talking about that so

443
00:14:19,519 --> 00:14:21,279
we talked about nicole already and so

444
00:14:21,279 --> 00:14:22,399
one of the things we're trying to do is

445
00:14:22,399 --> 00:14:24,639
make tabs on the web easier and in my

446
00:14:24,639 --> 00:14:27,519
studies um i have found

447
00:14:27,519 --> 00:14:28,480
that

448
00:14:28,480 --> 00:14:32,000
it's a massive complexity cliff like

449
00:14:32,000 --> 00:14:34,880
there's a hundred variants of what tabs

450
00:14:34,880 --> 00:14:36,959
are more than that over the years we've

451
00:14:36,959 --> 00:14:39,839
seen thousands of variants of tabs

452
00:14:39,839 --> 00:14:42,079
and they all have little niche features

453
00:14:42,079 --> 00:14:44,160
some little niche features make tabs

454
00:14:44,160 --> 00:14:46,000
feel like a carousel

455
00:14:46,000 --> 00:14:48,880
some tabs kind of feel like an accordion

456
00:14:48,880 --> 00:14:50,720
some tabs feel like those paper tabs you

457
00:14:50,720 --> 00:14:52,800
had in a binder and they all have this

458
00:14:52,800 --> 00:14:55,199
like little thing and they all have

459
00:14:55,199 --> 00:14:57,440
different accessibility implications and

460
00:14:57,440 --> 00:14:58,560
usually

461
00:14:58,560 --> 00:15:00,560
um that that's like the deciding factor

462
00:15:00,560 --> 00:15:02,320
at least i like open ui they're like

463
00:15:02,320 --> 00:15:04,000
okay here's what tabs are tabs are

464
00:15:04,000 --> 00:15:07,279
basically this accessibility ux as a

465
00:15:07,279 --> 00:15:08,720
foundation like the skeleton of the

466
00:15:08,720 --> 00:15:10,800
thing works like this but i go look in

467
00:15:10,800 --> 00:15:13,120
the wild and i see all of these

468
00:15:13,120 --> 00:15:15,600
different tabs and i'm excited by it and

469
00:15:15,600 --> 00:15:16,800
it kind of frustrates other people

470
00:15:16,800 --> 00:15:17,920
because they want to go hard in the

471
00:15:17,920 --> 00:15:20,720
pattern right this is what um

472
00:15:20,720 --> 00:15:21,839
the button is trying to do it's like

473
00:15:21,839 --> 00:15:23,760
hard in a pattern and so people want to

474
00:15:23,760 --> 00:15:26,079
harden these patterns they they look so

475
00:15:26,079 --> 00:15:28,959
obvious to harden and then i go research

476
00:15:28,959 --> 00:15:31,120
and i basically call them keratabs now

477
00:15:31,120 --> 00:15:32,880
i'm like oh tabata cells you mean oh

478
00:15:32,880 --> 00:15:35,279
keratabs they're like no tabs i'm like

479
00:15:35,279 --> 00:15:36,880
keratabs

480
00:15:36,880 --> 00:15:40,399
um because the variations are so fun and

481
00:15:40,399 --> 00:15:41,839
exciting and i actually think that's

482
00:15:41,839 --> 00:15:43,680
what the web is excelling at is this

483
00:15:43,680 --> 00:15:46,800
weirdness is that um

484
00:15:46,800 --> 00:15:48,560
anyway so but the complexity cliff is

485
00:15:48,560 --> 00:15:51,120
very clear in tabs where there is really

486
00:15:51,120 --> 00:15:54,320
no single way to build one that would

487
00:15:54,320 --> 00:15:56,800
fulfill every tabs component need that's

488
00:15:56,800 --> 00:15:57,680
out there

489
00:15:57,680 --> 00:15:59,120
like a lot of tabs have nothing to do

490
00:15:59,120 --> 00:16:00,959
with swiping when i think that's

491
00:16:00,959 --> 00:16:02,480
mandatory on like mobile you got to be

492
00:16:02,480 --> 00:16:04,399
able to swipe between tabs

493
00:16:04,399 --> 00:16:05,440
we've been trained that way for like

494
00:16:05,440 --> 00:16:06,480
five years

495
00:16:06,480 --> 00:16:09,360
but they would disagree like the um

496
00:16:09,360 --> 00:16:11,519
open ui organization because that's just

497
00:16:11,519 --> 00:16:13,600
not part of the float anyway so what i'm

498
00:16:13,600 --> 00:16:14,959
getting at is these complexity clips

499
00:16:14,959 --> 00:16:17,199
make it really hard to harden things and

500
00:16:17,199 --> 00:16:19,279
um i'm at a point where i'm trying to

501
00:16:19,279 --> 00:16:21,519
study which ones are on which side of

502
00:16:21,519 --> 00:16:23,360
the cliff sean that's what i want to

503
00:16:23,360 --> 00:16:24,240
know

504
00:16:24,240 --> 00:16:26,240
uh because the ones that are on the side

505
00:16:26,240 --> 00:16:28,240
that it just goes steep downhill i think

506
00:16:28,240 --> 00:16:30,320
it's okay to let those be free ship

507
00:16:30,320 --> 00:16:32,560
primitives and let people be weird let

508
00:16:32,560 --> 00:16:34,000
people build all these fun different

509
00:16:34,000 --> 00:16:36,959
exciting tabs like i don't i'm not that

510
00:16:36,959 --> 00:16:38,639
interested in that but

511
00:16:38,639 --> 00:16:40,720
uh we could move into deferred inputs if

512
00:16:40,720 --> 00:16:43,279
you want as that's that next topic

513
00:16:43,279 --> 00:16:45,279
i i've had two things to ask you before

514
00:16:45,279 --> 00:16:47,199
you do this so one

515
00:16:47,199 --> 00:16:49,040
you seem to have a image in your head

516
00:16:49,040 --> 00:16:50,560
about complexity clips have you

517
00:16:50,560 --> 00:16:52,160
visualized this because i feel like it's

518
00:16:52,160 --> 00:16:53,680
an analogy that is right for

519
00:16:53,680 --> 00:16:55,519
visualization

520
00:16:55,519 --> 00:16:57,440
no i mean it be an iceberg you're

521
00:16:57,440 --> 00:16:58,959
looking at a button and it looks like a

522
00:16:58,959 --> 00:17:00,240
simple button on top and then you look

523
00:17:00,240 --> 00:17:01,680
under the water and you're like holy

524
00:17:01,680 --> 00:17:03,839
this thing has like request animation

525
00:17:03,839 --> 00:17:05,119
frame loops in it or something you're

526
00:17:05,119 --> 00:17:06,959
like i just did not predict that

527
00:17:06,959 --> 00:17:08,799
yeah i think i think some visuals would

528
00:17:08,799 --> 00:17:10,160
be nice to for people to really

529
00:17:10,160 --> 00:17:12,720
instantly get it um and then secondly

530
00:17:12,720 --> 00:17:14,480
could you introduce uh for those who

531
00:17:14,480 --> 00:17:17,039
would like i've dug around open ui it

532
00:17:17,039 --> 00:17:19,679
seems like um basically it tries to be a

533
00:17:19,679 --> 00:17:22,480
browser a vendor agnostic

534
00:17:22,480 --> 00:17:25,919
spec of here's how here's extensions to

535
00:17:25,919 --> 00:17:28,880
standard html

536
00:17:28,880 --> 00:17:29,919
how about you how about you help me

537
00:17:29,919 --> 00:17:32,799
define like what is open ui um who runs

538
00:17:32,799 --> 00:17:33,520
it

539
00:17:33,520 --> 00:17:36,640
uh what is the near term like should

540
00:17:36,640 --> 00:17:38,160
people pay attention to this now is this

541
00:17:38,160 --> 00:17:40,160
just an r d phase like what what's uh

542
00:17:40,160 --> 00:17:41,760
what phase is it is it

543
00:17:41,760 --> 00:17:43,840
sure yeah and you know you should have a

544
00:17:43,840 --> 00:17:46,080
unit on because she's a member of the

545
00:17:46,080 --> 00:17:47,919
open ui

546
00:17:47,919 --> 00:17:49,360
cabinet i have no idea anyway it's a

547
00:17:49,360 --> 00:17:50,799
community group it operates like a

548
00:17:50,799 --> 00:17:52,080
community group

549
00:17:52,080 --> 00:17:52,880
um

550
00:17:52,880 --> 00:17:56,320
it's led by i think greg whitworth um

551
00:17:56,320 --> 00:17:58,640
maybe brian cardell also

552
00:17:58,640 --> 00:17:59,919
um

553
00:17:59,919 --> 00:18:02,480
dave rupert is on it also he does a lot

554
00:18:02,480 --> 00:18:04,400
of presentations dave rupert is a he's

555
00:18:04,400 --> 00:18:07,600
pro tabs uh not pro tabisell he has a

556
00:18:07,600 --> 00:18:09,600
spicy accordion that he's made that is

557
00:18:09,600 --> 00:18:12,080
basically tabs but it's it's not tabs

558
00:18:12,080 --> 00:18:14,000
it's a spicy accordion anyway okay so

559
00:18:14,000 --> 00:18:15,280
that's the sort of things that sometimes

560
00:18:15,280 --> 00:18:16,559
get talked about at open ui but their

561
00:18:16,559 --> 00:18:18,000
goal is to

562
00:18:18,000 --> 00:18:20,240
move faster as an agnostic

563
00:18:20,240 --> 00:18:22,160
implementation team

564
00:18:22,160 --> 00:18:23,919
than what browsers would do and how can

565
00:18:23,919 --> 00:18:25,760
they operate like how the community

566
00:18:25,760 --> 00:18:28,000
groups do for css but do it for

567
00:18:28,000 --> 00:18:30,240
components and so they have one that's

568
00:18:30,240 --> 00:18:32,880
like a recent success um i think and

569
00:18:32,880 --> 00:18:34,160
it's taken a long time to get there

570
00:18:34,160 --> 00:18:35,919
which is the popover component have you

571
00:18:35,919 --> 00:18:38,080
heard about the popover component no if

572
00:18:38,080 --> 00:18:39,679
i can pull it up you can tell me about

573
00:18:39,679 --> 00:18:42,160
it awesome it's it's classic you mouse

574
00:18:42,160 --> 00:18:44,000
or you focus into a link and you get a

575
00:18:44,000 --> 00:18:46,960
pop-up right is it this one

576
00:18:46,960 --> 00:18:48,640
yeah

577
00:18:48,640 --> 00:18:51,360
and so this took a long time to um get

578
00:18:51,360 --> 00:18:53,200
through it has tons of you can see that

579
00:18:53,200 --> 00:18:55,520
they are very oh look it's an editor's

580
00:18:55,520 --> 00:18:57,039
draft oh they have three in editor's

581
00:18:57,039 --> 00:18:58,880
draft interesting so the select element

582
00:18:58,880 --> 00:19:00,480
is also there i know they've been

583
00:19:00,480 --> 00:19:01,840
working on that one so something that's

584
00:19:01,840 --> 00:19:04,000
a styleable select

585
00:19:04,000 --> 00:19:05,679
and i bet you that depended on the

586
00:19:05,679 --> 00:19:08,080
pop-up

587
00:19:08,240 --> 00:19:10,559
anyway so i'm not a super pro here about

588
00:19:10,559 --> 00:19:12,480
um how they operate but i do know that

589
00:19:12,480 --> 00:19:14,640
their goals are to make

590
00:19:14,640 --> 00:19:18,160
um accessible well-defined open source

591
00:19:18,160 --> 00:19:20,320
community group driven

592
00:19:20,320 --> 00:19:22,160
web com components i think they're web

593
00:19:22,160 --> 00:19:23,360
components

594
00:19:23,360 --> 00:19:25,280
um and yeah and eventually i think their

595
00:19:25,280 --> 00:19:27,440
goal is to have those things accepted

596
00:19:27,440 --> 00:19:29,360
into browser specs and have browsers

597
00:19:29,360 --> 00:19:31,120
implement them natively maybe i'm not

598
00:19:31,120 --> 00:19:32,080
really sure

599
00:19:32,080 --> 00:19:33,280
where that goes from there oh look you

600
00:19:33,280 --> 00:19:35,679
can see masonry down there for pop-up

601
00:19:35,679 --> 00:19:37,200
he's the googler who's doing a lot of

602
00:19:37,200 --> 00:19:38,880
the implementation and he's on the group

603
00:19:38,880 --> 00:19:41,120
there too melanie richards awesome

604
00:19:41,120 --> 00:19:43,039
uh yeah it's got a great crew of cats

605
00:19:43,039 --> 00:19:44,720
that are like hacking on it um they

606
00:19:44,720 --> 00:19:47,039
they're diligent they seem passionate

607
00:19:47,039 --> 00:19:47,919
um

608
00:19:47,919 --> 00:19:50,559
i'm not a member

609
00:19:50,559 --> 00:19:53,840
because i'm kind of

610
00:19:54,559 --> 00:19:58,480
i don't know if we need more primitives

611
00:19:59,600 --> 00:20:01,679
sean i want to it is a hot take i know

612
00:20:01,679 --> 00:20:02,960
i've talked to brian and a couple other

613
00:20:02,960 --> 00:20:04,559
people about it but like like i'm

614
00:20:04,559 --> 00:20:06,480
actually um

615
00:20:06,480 --> 00:20:07,919
so this is why deferred inputs is an

616
00:20:07,919 --> 00:20:09,520
interesting conversation i like to swing

617
00:20:09,520 --> 00:20:11,200
for the fences i like to swing a lot

618
00:20:11,200 --> 00:20:14,400
bigger okay so for example let's say um

619
00:20:14,400 --> 00:20:16,159
open ui or someone else and open ui i

620
00:20:16,159 --> 00:20:17,280
seriously

621
00:20:17,280 --> 00:20:18,799
i admire them so much i think they're

622
00:20:18,799 --> 00:20:21,280
it's a really important and

623
00:20:21,280 --> 00:20:22,640
impressive thing that they're doing so i

624
00:20:22,640 --> 00:20:24,320
think i'm also just intimidated but

625
00:20:24,320 --> 00:20:27,039
anyway um what i would like to suggest

626
00:20:27,039 --> 00:20:29,280
is okay consider the calendar so maybe a

627
00:20:29,280 --> 00:20:30,720
calendar component

628
00:20:30,720 --> 00:20:32,480
gets you know standardized so you could

629
00:20:32,480 --> 00:20:34,400
customize it you don't just get the 20

630
00:20:34,400 --> 00:20:35,440
year old dinky one that's in your

631
00:20:35,440 --> 00:20:37,280
browser right now right

632
00:20:37,280 --> 00:20:38,559
i hate that one it drives me nuts i'm

633
00:20:38,559 --> 00:20:40,559
like geez louise there's no one here

634
00:20:40,559 --> 00:20:41,679
well there's anything there's one that's

635
00:20:41,679 --> 00:20:43,440
worse than that it's the number number

636
00:20:43,440 --> 00:20:45,200
input you know with the small tiny

637
00:20:45,200 --> 00:20:46,320
arrows

638
00:20:46,320 --> 00:20:48,799
oh my god seriously

639
00:20:48,799 --> 00:20:50,320
i don't know someone on a netbook with

640
00:20:50,320 --> 00:20:51,840
like one of those minnie mouses or

641
00:20:51,840 --> 00:20:54,480
something anyway um

642
00:20:54,480 --> 00:20:56,159
okay so imagine this sean this is my

643
00:20:56,159 --> 00:20:57,760
crazy idea called deferred input so you

644
00:20:57,760 --> 00:20:59,600
put an input in there type equals date

645
00:20:59,600 --> 00:21:01,120
and you put an attribute called deferred

646
00:21:01,120 --> 00:21:02,720
on it and what the browser does when the

647
00:21:02,720 --> 00:21:05,360
user taps that input is they broker a

648
00:21:05,360 --> 00:21:07,679
relationship between that web page and a

649
00:21:07,679 --> 00:21:10,159
third-party widget and a third-party

650
00:21:10,159 --> 00:21:12,000
experience because what i want when i

651
00:21:12,000 --> 00:21:13,919
click on a calendar widget is not just a

652
00:21:13,919 --> 00:21:16,559
stupid calendar sean i want my events on

653
00:21:16,559 --> 00:21:18,320
there i want to know if what i'm picking

654
00:21:18,320 --> 00:21:19,600
is going to interrupt or something if

655
00:21:19,600 --> 00:21:21,440
i'm booking dinner i need to know all of

656
00:21:21,440 --> 00:21:22,960
these different cases i want to know my

657
00:21:22,960 --> 00:21:24,320
stuff in there but i don't want the web

658
00:21:24,320 --> 00:21:25,919
page to know anything about it so

659
00:21:25,919 --> 00:21:27,440
imagine for a second that we went to the

660
00:21:27,440 --> 00:21:30,720
app store on mac os and we installed um

661
00:21:30,720 --> 00:21:32,320
a calendar component called google

662
00:21:32,320 --> 00:21:34,159
calendar who cares or maybe it's ical

663
00:21:34,159 --> 00:21:35,840
right icon makes sense for safari to

664
00:21:35,840 --> 00:21:37,600
prompt so you get these deferred inputs

665
00:21:37,600 --> 00:21:39,919
where the broker sends the request to

666
00:21:39,919 --> 00:21:41,600
this app and says this user is

667
00:21:41,600 --> 00:21:43,440
requesting a date all we want is a

668
00:21:43,440 --> 00:21:45,520
string formatted like this give them an

669
00:21:45,520 --> 00:21:47,840
experience that's rich and set and has a

670
00:21:47,840 --> 00:21:49,679
session and you're logged into

671
00:21:49,679 --> 00:21:51,679
um and let them pick a date and then

672
00:21:51,679 --> 00:21:53,440
we'll just get the date back so the date

673
00:21:53,440 --> 00:21:56,880
input is still just a static text input

674
00:21:56,880 --> 00:21:58,799
but it the browser brokered a

675
00:21:58,799 --> 00:22:00,880
relationship to third-party um

676
00:22:00,880 --> 00:22:03,280
developers who can create specific and

677
00:22:03,280 --> 00:22:06,400
robust experiences for these inputs so

678
00:22:06,400 --> 00:22:08,640
i'm not talking we just you know as a

679
00:22:08,640 --> 00:22:10,880
group come up with a cool date picker

680
00:22:10,880 --> 00:22:12,480
that people can pass custom properties

681
00:22:12,480 --> 00:22:14,480
to to style it i think that's a great

682
00:22:14,480 --> 00:22:16,480
stopgap but i'd love to see us like make

683
00:22:16,480 --> 00:22:19,200
a rich ex dude picking a date is a rich

684
00:22:19,200 --> 00:22:20,960
experience moment it's something that

685
00:22:20,960 --> 00:22:23,039
people can excel at and show you how

686
00:22:23,039 --> 00:22:25,200
beautiful it is like imagine sunrise

687
00:22:25,200 --> 00:22:26,480
like that app that made the calendar

688
00:22:26,480 --> 00:22:28,000
thing that just like disrupted every one

689
00:22:28,000 --> 00:22:30,159
time they made one and then imagine

690
00:22:30,159 --> 00:22:32,159
someone else now you had choices sean

691
00:22:32,159 --> 00:22:34,159
you had choices for your date input as a

692
00:22:34,159 --> 00:22:36,000
user that's what i want to see i want to

693
00:22:36,000 --> 00:22:38,400
see users having the ability and i want

694
00:22:38,400 --> 00:22:40,640
developers to be able to compete for the

695
00:22:40,640 --> 00:22:43,120
uh creation of those widget experiences

696
00:22:43,120 --> 00:22:44,720
i think browsers have been sitting on it

697
00:22:44,720 --> 00:22:46,960
and it drives me nuts they're crappy and

698
00:22:46,960 --> 00:22:48,640
it looks like they don't care so just

699
00:22:48,640 --> 00:22:50,720
open it up just broker the relationship

700
00:22:50,720 --> 00:22:52,240
to a bunch of other developers that want

701
00:22:52,240 --> 00:22:53,679
to get a two dollar component so that

702
00:22:53,679 --> 00:22:55,039
you can have a session logged in

703
00:22:55,039 --> 00:22:57,120
calendar picker like

704
00:22:57,120 --> 00:22:58,720
and anyway so a lot of these inputs that

705
00:22:58,720 --> 00:23:00,240
are a lot of these components that we're

706
00:23:00,240 --> 00:23:01,280
waiting for

707
00:23:01,280 --> 00:23:03,360
that are more robust that we need more

708
00:23:03,360 --> 00:23:04,720
out of like some of our primitives i'm

709
00:23:04,720 --> 00:23:06,799
like don't just give us some new crappy

710
00:23:06,799 --> 00:23:08,880
primitive that looks like crap we i just

711
00:23:08,880 --> 00:23:11,200
i'm tired of those like give us an

712
00:23:11,200 --> 00:23:14,640
opportunity and and open up the uh open

713
00:23:14,640 --> 00:23:16,559
up the industry to a new monetization

714
00:23:16,559 --> 00:23:18,240
flow like you're basically creating

715
00:23:18,240 --> 00:23:20,480
third-party developer anyway whatever

716
00:23:20,480 --> 00:23:22,240
sean i think i've pitched it enough what

717
00:23:22,240 --> 00:23:24,240
do you think is that crazy so i need to

718
00:23:24,240 --> 00:23:25,840
clarify one more thing uh so first of

719
00:23:25,840 --> 00:23:27,919
all have you written this up anywhere

720
00:23:27,919 --> 00:23:29,520
this is in slides i have like a little

721
00:23:29,520 --> 00:23:31,280
presentation i've given it to people

722
00:23:31,280 --> 00:23:33,360
it's just um it's pretty much can we

723
00:23:33,360 --> 00:23:34,480
find it somewhere

724
00:23:34,480 --> 00:23:36,320
just just so people can follow up if

725
00:23:36,320 --> 00:23:38,080
they want

726
00:23:38,080 --> 00:23:40,240
i think i could it's just a random idea

727
00:23:40,240 --> 00:23:42,480
i have so i assume i could open i mean i

728
00:23:42,480 --> 00:23:44,240
if you know if you you believe in this

729
00:23:44,240 --> 00:23:46,400
so what this this kind of conversation

730
00:23:46,400 --> 00:23:48,559
always reminds me of the cathedral

731
00:23:48,559 --> 00:23:50,640
versus the bazaar

732
00:23:50,640 --> 00:23:52,159
you know that nice

733
00:23:52,159 --> 00:23:53,360
that uh

734
00:23:53,360 --> 00:23:54,799
fred brooks

735
00:23:54,799 --> 00:23:56,880
this is this is old school software

736
00:23:56,880 --> 00:23:58,480
development right like how do you design

737
00:23:58,480 --> 00:24:00,640
an ecosystem do you want do you want to

738
00:24:00,640 --> 00:24:02,320
say like i do it for you because i know

739
00:24:02,320 --> 00:24:03,760
best or do you want to say i don't know

740
00:24:03,760 --> 00:24:06,880
best and let everyone just have it out

741
00:24:06,880 --> 00:24:09,120
um and so open ui is kind of the

742
00:24:09,120 --> 00:24:11,200
cathedral and they're like okay we'll

743
00:24:11,200 --> 00:24:12,720
research everything and then we'll we'll

744
00:24:12,720 --> 00:24:14,240
pick the best way that is the superset

745
00:24:14,240 --> 00:24:16,000
of everything and then the bazaar is

746
00:24:16,000 --> 00:24:17,120
kind of like this deferred input

747
00:24:17,120 --> 00:24:18,480
approach where it's just like i don't

748
00:24:18,480 --> 00:24:20,400
know and i'll just give you a single

749
00:24:20,400 --> 00:24:24,159
extension point and you guys go nuts

750
00:24:24,400 --> 00:24:26,400
yep that's exactly what it's uh and yeah

751
00:24:26,400 --> 00:24:28,960
basically just be a um what did i call

752
00:24:28,960 --> 00:24:30,480
them um

753
00:24:30,480 --> 00:24:31,840
because they have them in android it's

754
00:24:31,840 --> 00:24:34,480
an intent the input basically emits an

755
00:24:34,480 --> 00:24:36,080
intent and it says who can handle the

756
00:24:36,080 --> 00:24:38,080
intent right and all these developers

757
00:24:38,080 --> 00:24:39,840
now have apps living on your operating

758
00:24:39,840 --> 00:24:41,200
system that the browser can broker the

759
00:24:41,200 --> 00:24:43,120
intent with it says it's just like how

760
00:24:43,120 --> 00:24:45,360
intense it's actually extremely modeled

761
00:24:45,360 --> 00:24:46,799
after the

762
00:24:46,799 --> 00:24:48,720
mobile experience of intense because i

763
00:24:48,720 --> 00:24:50,159
love that experience it's really nice

764
00:24:50,159 --> 00:24:51,600
you're just like yeah look at all my fun

765
00:24:51,600 --> 00:24:52,880
custom stuff i have that can handle

766
00:24:52,880 --> 00:24:54,640
where my image goes like that's really

767
00:24:54,640 --> 00:24:55,520
nice

768
00:24:55,520 --> 00:24:57,039
um and yeah we should have a color

769
00:24:57,039 --> 00:24:58,159
picker like that like give me the

770
00:24:58,159 --> 00:24:59,760
opportunity to click on a color input

771
00:24:59,760 --> 00:25:01,679
and i bring my own color picker to the

772
00:25:01,679 --> 00:25:03,520
table chrome

773
00:25:03,520 --> 00:25:05,840
you know so i don't like yours

774
00:25:05,840 --> 00:25:07,840
yeah anyway is this the user so there's

775
00:25:07,840 --> 00:25:09,760
a few personas here

776
00:25:09,760 --> 00:25:11,600
app developer and then the user viewing

777
00:25:11,600 --> 00:25:13,279
the site so each viewer has like their

778
00:25:13,279 --> 00:25:14,880
own experience

779
00:25:14,880 --> 00:25:16,400
of this thing

780
00:25:16,400 --> 00:25:17,520
okay

781
00:25:17,520 --> 00:25:19,279
they bring like a utility built of

782
00:25:19,279 --> 00:25:21,600
personalized widgets in their browser so

783
00:25:21,600 --> 00:25:23,679
anywhere their browser is logged in and

784
00:25:23,679 --> 00:25:25,679
how many of these are there i mean apart

785
00:25:25,679 --> 00:25:28,080
from i've labeled a few here um yes

786
00:25:28,080 --> 00:25:30,720
calendar autofill payment photo picker

787
00:25:30,720 --> 00:25:32,960
and file picker oh photo picker and file

788
00:25:32,960 --> 00:25:34,720
picker already done is what this says in

789
00:25:34,720 --> 00:25:36,159
my deck i haven't looked at my deck in

790
00:25:36,159 --> 00:25:38,240
like a year um because yeah if you think

791
00:25:38,240 --> 00:25:40,559
about photo picker um

792
00:25:40,559 --> 00:25:42,559
well i guess on mobile it's deferred but

793
00:25:42,559 --> 00:25:44,480
on desktop it's not right on mobile when

794
00:25:44,480 --> 00:25:45,919
you click on a file uploader or you

795
00:25:45,919 --> 00:25:47,279
click on something that allows you to

796
00:25:47,279 --> 00:25:48,880
upload you get to fulfill it with your

797
00:25:48,880 --> 00:25:51,279
own choice of an app your phone your

798
00:25:51,279 --> 00:25:54,000
personal stuff just needs to return an

799
00:25:54,000 --> 00:25:56,159
image right and then the browser doesn't

800
00:25:56,159 --> 00:25:57,600
have to know to care about the whole

801
00:25:57,600 --> 00:25:58,880
experience that it took you to find it

802
00:25:58,880 --> 00:26:00,240
because you went back three years on

803
00:26:00,240 --> 00:26:02,799
june 24th to find the hamburger that you

804
00:26:02,799 --> 00:26:05,360
were looking for right like

805
00:26:05,360 --> 00:26:07,279
anyway yeah so autofill would be an

806
00:26:07,279 --> 00:26:08,720
awesome one and payment like why can't i

807
00:26:08,720 --> 00:26:10,240
just install a third-party payment

808
00:26:10,240 --> 00:26:12,400
installation thing and when i

809
00:26:12,400 --> 00:26:14,960
pay yeah it invokes my own experience

810
00:26:14,960 --> 00:26:15,840
uh

811
00:26:15,840 --> 00:26:16,799
well

812
00:26:16,799 --> 00:26:18,400
what about security like if it's a

813
00:26:18,400 --> 00:26:19,840
third-party widget

814
00:26:19,840 --> 00:26:21,520
and it's payment like i'm giving you my

815
00:26:21,520 --> 00:26:22,799
card details

816
00:26:22,799 --> 00:26:24,480
user installed it and so they're

817
00:26:24,480 --> 00:26:25,600
hopefully they're trusting what they

818
00:26:25,600 --> 00:26:27,600
installed and the the page itself is

819
00:26:27,600 --> 00:26:29,360
only getting results back so it's like

820
00:26:29,360 --> 00:26:30,640
the same static results they would have

821
00:26:30,640 --> 00:26:32,640
got before so the page doesn't get to

822
00:26:32,640 --> 00:26:34,080
know anything about the third-party

823
00:26:34,080 --> 00:26:35,760
experience there's like a very

824
00:26:35,760 --> 00:26:37,039
it's just a message that's going to get

825
00:26:37,039 --> 00:26:38,720
passed back and forth yeah

826
00:26:38,720 --> 00:26:41,120
and do you think so uh one example of

827
00:26:41,120 --> 00:26:42,559
this that is

828
00:26:42,559 --> 00:26:44,559
done in userland is essentially password

829
00:26:44,559 --> 00:26:45,840
managers

830
00:26:45,840 --> 00:26:47,440
um like uh

831
00:26:47,440 --> 00:26:49,360
right they override all the password

832
00:26:49,360 --> 00:26:51,039
fields and then they give in their own

833
00:26:51,039 --> 00:26:52,720
little things why can't it just be done

834
00:26:52,720 --> 00:26:54,320
like that

835
00:26:54,320 --> 00:26:57,039
oh so like an extension model

836
00:26:57,039 --> 00:26:58,640
sounds good to me so yeah you could as a

837
00:26:58,640 --> 00:27:00,720
developer go build a whole bunch of

838
00:27:00,720 --> 00:27:03,200
really awesome you know extensions built

839
00:27:03,200 --> 00:27:05,600
on the extension version 3 manifest and

840
00:27:05,600 --> 00:27:07,919
deploy them across all the browsers and

841
00:27:07,919 --> 00:27:10,320
deliver a unique logged in

842
00:27:10,320 --> 00:27:12,559
experience for color picking and sure

843
00:27:12,559 --> 00:27:13,919
yeah maybe you could intercept those

844
00:27:13,919 --> 00:27:16,960
clicks and invoke your own overlay ui

845
00:27:16,960 --> 00:27:18,880
that actually makes sense to me

846
00:27:18,880 --> 00:27:21,840
okay got it i so it sounds like you know

847
00:27:21,840 --> 00:27:23,440
of those things that you listed those

848
00:27:23,440 --> 00:27:24,559
are inputs

849
00:27:24,559 --> 00:27:26,000
um

850
00:27:26,000 --> 00:27:26,960
there are a lot of things there are a

851
00:27:26,960 --> 00:27:29,679
lot of components that are not inputs

852
00:27:29,679 --> 00:27:30,480
and

853
00:27:30,480 --> 00:27:34,000
uh i guess open ui would be

854
00:27:34,000 --> 00:27:36,480
involved yeah like tabs carousels

855
00:27:36,480 --> 00:27:37,919
popovers yeah

856
00:27:37,919 --> 00:27:40,720
so you're not in con conflicts um you

857
00:27:40,720 --> 00:27:42,799
know i don't think so yeah yeah okay and

858
00:27:42,799 --> 00:27:44,799
both can coexist they could create a new

859
00:27:44,799 --> 00:27:46,080
date picker and that should be the

860
00:27:46,080 --> 00:27:48,640
default we need better date pickers so i

861
00:27:48,640 --> 00:27:50,080
really need better default components

862
00:27:50,080 --> 00:27:51,679
anyway so yeah i'm like

863
00:27:51,679 --> 00:27:53,039
this isn't me trying to stop them it's

864
00:27:53,039 --> 00:27:54,080
like i just think there's a whole

865
00:27:54,080 --> 00:27:55,360
opportunity

866
00:27:55,360 --> 00:27:57,840
for competition like yeah and it could

867
00:27:57,840 --> 00:27:59,360
be cool yeah

868
00:27:59,360 --> 00:28:01,440
uh one one last thing that comes up when

869
00:28:01,440 --> 00:28:03,840
uh whenever you talk about image pickers

870
00:28:03,840 --> 00:28:04,799
um

871
00:28:04,799 --> 00:28:06,640
did you ever see that talk by ilya

872
00:28:06,640 --> 00:28:09,039
grigorik about um

873
00:28:09,039 --> 00:28:09,919
the

874
00:28:09,919 --> 00:28:11,919
image picker up like file up size

875
00:28:11,919 --> 00:28:14,399
optimizer

876
00:28:14,399 --> 00:28:17,039
i don't think so tell me all about it so

877
00:28:17,039 --> 00:28:19,039
he had a fantastic talk which like

878
00:28:19,039 --> 00:28:21,039
really shaped the way i think about so

879
00:28:21,039 --> 00:28:23,200
okay uh oh god

880
00:28:23,200 --> 00:28:25,520
i i'm okay give me a sec to pull this up

881
00:28:25,520 --> 00:28:27,919
okay uh because yeah i don't i don't

882
00:28:27,919 --> 00:28:30,320
think i'm gonna do this justice unless i

883
00:28:30,320 --> 00:28:33,200
literally have it up

884
00:28:33,760 --> 00:28:35,600
rick

885
00:28:35,600 --> 00:28:37,120
um what is his twitter head no he's not

886
00:28:37,120 --> 00:28:39,039
super active on twitter

887
00:28:39,039 --> 00:28:42,720
uh i think it's ilya some igorik

888
00:28:42,720 --> 00:28:45,279
oh i was wrong

889
00:28:45,279 --> 00:28:47,039
sorry

890
00:28:47,039 --> 00:28:49,120
okay all right um

891
00:28:49,120 --> 00:28:51,039
all right here we go

892
00:28:51,039 --> 00:28:52,240
so

893
00:28:52,240 --> 00:28:54,720
uh this is where this is where i shouted

894
00:28:54,720 --> 00:28:58,880
it out um he had this concept of the

895
00:28:58,880 --> 00:29:01,840
the head the torso and the tail

896
00:29:01,840 --> 00:29:03,120
um

897
00:29:03,120 --> 00:29:04,640
and

898
00:29:04,640 --> 00:29:06,960
it was like how do we solve

899
00:29:06,960 --> 00:29:09,039
um how do you solve image performance

900
00:29:09,039 --> 00:29:10,240
forever

901
00:29:10,240 --> 00:29:12,080
right like you can do some fancy stuff

902
00:29:12,080 --> 00:29:13,120
with like

903
00:29:13,120 --> 00:29:15,760
your image optimizing cdn you can do all

904
00:29:15,760 --> 00:29:18,000
these like source set things no one's

905
00:29:18,000 --> 00:29:20,640
gonna do it it's just it's too complex

906
00:29:20,640 --> 00:29:22,720
like yeah it's cool and you should feel

907
00:29:22,720 --> 00:29:23,840
bad

908
00:29:23,840 --> 00:29:25,840
if you don't do it right but also

909
00:29:25,840 --> 00:29:27,840
there's just too much to learn serving

910
00:29:27,840 --> 00:29:30,880
images is very hard yeah it's super hard

911
00:29:30,880 --> 00:29:33,679
so like he was he fantastically

912
00:29:33,679 --> 00:29:36,480
broke it down to like okay so he's at

913
00:29:36,480 --> 00:29:38,640
this performance.now conference right

914
00:29:38,640 --> 00:29:41,679
and he said um

915
00:29:41,679 --> 00:29:44,320
okay yeah here we go

916
00:29:44,320 --> 00:29:46,559
i like i just i just love how clearly he

917
00:29:46,559 --> 00:29:48,000
stated this if you want to solve the

918
00:29:48,000 --> 00:29:50,159
image problem once and for all the cost

919
00:29:50,159 --> 00:29:51,600
should be free the number of choices

920
00:29:51,600 --> 00:29:53,440
should be zero the tools must do the

921
00:29:53,440 --> 00:29:56,240
work not require work right now the

922
00:29:56,240 --> 00:29:58,000
tools that we're being given require

923
00:29:58,000 --> 00:30:00,559
more work hey the default sucks but just

924
00:30:00,559 --> 00:30:02,480
be backward compatible here's the source

925
00:30:02,480 --> 00:30:03,919
set thing with like five different

926
00:30:03,919 --> 00:30:05,200
options and hey you gotta do image

927
00:30:05,200 --> 00:30:08,559
processing on your own good luck um

928
00:30:08,559 --> 00:30:11,039
that requires work so people don't do it

929
00:30:11,039 --> 00:30:12,159
right so

930
00:30:12,159 --> 00:30:13,760
the kind of person that goes to a

931
00:30:13,760 --> 00:30:16,000
performance.now conference that watches

932
00:30:16,000 --> 00:30:17,840
performance videos in their free time

933
00:30:17,840 --> 00:30:20,840
that is what he calls the head

934
00:30:20,840 --> 00:30:22,399
um

935
00:30:22,399 --> 00:30:23,760
uh that

936
00:30:23,760 --> 00:30:25,360
i'm not i'm not finding the right slide

937
00:30:25,360 --> 00:30:26,720
but essentially like there's a there's

938
00:30:26,720 --> 00:30:28,799
an adoption curve right there's there's

939
00:30:28,799 --> 00:30:30,799
the really like performance oriented

940
00:30:30,799 --> 00:30:32,480
performance minded people

941
00:30:32,480 --> 00:30:34,000
who are going to adopt all the best

942
00:30:34,000 --> 00:30:35,120
practices they're going to listen to

943
00:30:35,120 --> 00:30:36,080
your talks they're going to read your

944
00:30:36,080 --> 00:30:38,640
blog post then the torso they're like

945
00:30:38,640 --> 00:30:40,159
they're just you know following whatever

946
00:30:40,159 --> 00:30:41,360
the the

947
00:30:41,360 --> 00:30:43,360
the body says and then and then there's

948
00:30:43,360 --> 00:30:45,520
a long tail that just will never read

949
00:30:45,520 --> 00:30:46,960
anything they will just do whatever this

950
00:30:46,960 --> 00:30:48,240
is easiest

951
00:30:48,240 --> 00:30:50,080
so you see if you want real impact you

952
00:30:50,080 --> 00:30:52,399
have to address the torso and the tail

953
00:30:52,399 --> 00:30:54,159
not just the head because the head

954
00:30:54,159 --> 00:30:55,120
um

955
00:30:55,120 --> 00:30:56,720
has the time to list to learn all your

956
00:30:56,720 --> 00:30:58,799
stuff but that's not the problem the

957
00:30:58,799 --> 00:31:00,480
problem is the rest of like everyone

958
00:31:00,480 --> 00:31:01,600
else

959
00:31:01,600 --> 00:31:02,960
um

960
00:31:02,960 --> 00:31:04,559
sorry i i don't think i'm like doing

961
00:31:04,559 --> 00:31:06,480
doing they're doing a good job of no i

962
00:31:06,480 --> 00:31:08,480
think i'm following yeah so so his

963
00:31:08,480 --> 00:31:10,640
proposal by the end of his talk uh and

964
00:31:10,640 --> 00:31:12,799
this is like in 2019 was that

965
00:31:12,799 --> 00:31:15,039
okay all right uh image optimizing cdn

966
00:31:15,039 --> 00:31:16,399
too complicated source set to

967
00:31:16,399 --> 00:31:19,039
complicated um

968
00:31:19,039 --> 00:31:22,159
never just never upload a giant file

969
00:31:22,159 --> 00:31:23,760
that you never giant photo that you

970
00:31:23,760 --> 00:31:25,919
never need so he was like let's

971
00:31:25,919 --> 00:31:27,919
introduce an image uploader component

972
00:31:27,919 --> 00:31:30,080
that has image optimization built into

973
00:31:30,080 --> 00:31:30,799
that

974
00:31:30,799 --> 00:31:33,200
that point of upload so all points down

975
00:31:33,200 --> 00:31:36,559
the chain just never get there

976
00:31:36,799 --> 00:31:38,880
i i thought that was like the this i

977
00:31:38,880 --> 00:31:40,240
thought that was where you were going i

978
00:31:40,240 --> 00:31:41,600
don't know if you talked to him before

979
00:31:41,600 --> 00:31:44,080
about this

980
00:31:44,320 --> 00:31:46,880
yeah okay i have not

981
00:31:46,880 --> 00:31:48,720
um but that kind of reminds me of ink

982
00:31:48,720 --> 00:31:50,480
uploader which i used i don't know five

983
00:31:50,480 --> 00:31:52,159
years ago or so it was kind of like an

984
00:31:52,159 --> 00:31:54,559
early imagex server but yeah you'd

985
00:31:54,559 --> 00:31:56,159
upload the biggest image you had and

986
00:31:56,159 --> 00:31:59,360
then request it with one url um and

987
00:31:59,360 --> 00:32:01,679
maybe some parameters on the url and you

988
00:32:01,679 --> 00:32:03,919
get you could get a whole dynamic set of

989
00:32:03,919 --> 00:32:05,360
images back yeah so you only had to deal

990
00:32:05,360 --> 00:32:07,200
with the one image tag and yeah

991
00:32:07,200 --> 00:32:08,399
yeah well good stuff i think that's the

992
00:32:08,399 --> 00:32:09,360
way forward

993
00:32:09,360 --> 00:32:12,399
yeah that's an image optimizing cdn

994
00:32:12,399 --> 00:32:14,720
so you have to pay money for that um and

995
00:32:14,720 --> 00:32:16,480
of course like you know that that

996
00:32:16,480 --> 00:32:18,799
caused some engineering and resources um

997
00:32:18,799 --> 00:32:20,480
so he wanted to go a little bit more

998
00:32:20,480 --> 00:32:22,240
than that i don't know how practical it

999
00:32:22,240 --> 00:32:23,679
was but it was very convincing at the

1000
00:32:23,679 --> 00:32:24,640
time

1001
00:32:24,640 --> 00:32:25,440
uh

1002
00:32:25,440 --> 00:32:27,679
and uh you know i hope he i don't know

1003
00:32:27,679 --> 00:32:29,519
if he's still at google or not but uh

1004
00:32:29,519 --> 00:32:31,200
you know he is yeah

1005
00:32:31,200 --> 00:32:33,519
he gets some sway in the design of this

1006
00:32:33,519 --> 00:32:35,679
thing

1007
00:32:35,840 --> 00:32:38,559
nice yeah i like that uh analogy though

1008
00:32:38,559 --> 00:32:40,880
i think that works really good

1009
00:32:40,880 --> 00:32:43,360
which is yeah i mean it's which i so in

1010
00:32:43,360 --> 00:32:45,840
the broader context of dev developer

1011
00:32:45,840 --> 00:32:47,919
tools and like designing

1012
00:32:47,919 --> 00:32:50,399
for ux versus dx which is our next topic

1013
00:32:50,399 --> 00:32:51,279
uh

1014
00:32:51,279 --> 00:32:52,399
yeah

1015
00:32:52,399 --> 00:32:53,840
um

1016
00:32:53,840 --> 00:32:56,480
i think about this a lot which is that

1017
00:32:56,480 --> 00:32:58,720
whenever we appear at conferences and we

1018
00:32:58,720 --> 00:33:00,159
like drop a new

1019
00:33:00,159 --> 00:33:02,480
blog post a new feature and we just

1020
00:33:02,480 --> 00:33:04,240
expect people to like

1021
00:33:04,240 --> 00:33:05,760
know about it and learn about it and

1022
00:33:05,760 --> 00:33:07,760
adopt it like within a year otherwise

1023
00:33:07,760 --> 00:33:09,600
it's their fault not yours

1024
00:33:09,600 --> 00:33:10,880
and i'm just like no people don't have

1025
00:33:10,880 --> 00:33:12,559
time

1026
00:33:12,559 --> 00:33:14,640
most people just want to know like what

1027
00:33:14,640 --> 00:33:16,799
the best practice is they'll go do that

1028
00:33:16,799 --> 00:33:19,440
and then they'll move on with their day

1029
00:33:19,440 --> 00:33:20,960
and that's about all the time that they

1030
00:33:20,960 --> 00:33:22,840
have for you

1031
00:33:22,840 --> 00:33:26,399
um and and so if we want to

1032
00:33:26,399 --> 00:33:28,320
you know improve user experience like we

1033
00:33:28,320 --> 00:33:29,760
have to make it

1034
00:33:29,760 --> 00:33:31,600
basically bring this for for people to

1035
00:33:31,600 --> 00:33:32,559
adopt

1036
00:33:32,559 --> 00:33:35,440
um the best practice

1037
00:33:35,440 --> 00:33:36,799
yeah so we can

1038
00:33:36,799 --> 00:33:38,399
yeah do you want to start there like

1039
00:33:38,399 --> 00:33:41,279
yeah that's the the goal of the phrase

1040
00:33:41,279 --> 00:33:43,440
or like that's like the

1041
00:33:43,440 --> 00:33:46,320
uh the the heartfelt meaningful good

1042
00:33:46,320 --> 00:33:48,720
side of the phrase that dx can lead to

1043
00:33:48,720 --> 00:33:50,240
good ux is

1044
00:33:50,240 --> 00:33:52,880
the intent is there which is that people

1045
00:33:52,880 --> 00:33:55,519
want to deliver good ux

1046
00:33:55,519 --> 00:33:57,760
and they're not wrong that

1047
00:33:57,760 --> 00:34:01,360
good dx can't deliver a portion or maybe

1048
00:34:01,360 --> 00:34:03,200
a lot of ux

1049
00:34:03,200 --> 00:34:05,120
um

1050
00:34:05,120 --> 00:34:07,039
but i think that the phrase is kind of

1051
00:34:07,039 --> 00:34:10,560
not doing itself a favor um like it's

1052
00:34:10,560 --> 00:34:12,079
it's kind of a short-sighted view of

1053
00:34:12,079 --> 00:34:14,800
what dx is versus a short-sighted view

1054
00:34:14,800 --> 00:34:17,599
of ux and i'm like i don't even know why

1055
00:34:17,599 --> 00:34:18,639
we're

1056
00:34:18,639 --> 00:34:21,440
so okay so first off let's just say that

1057
00:34:21,440 --> 00:34:24,079
to have dx that even could facilitate

1058
00:34:24,079 --> 00:34:27,119
good ux someone had to teach the dx what

1059
00:34:27,119 --> 00:34:30,320
good ux was like ux had to start it in

1060
00:34:30,320 --> 00:34:33,280
order like be the initial cause for dx

1061
00:34:33,280 --> 00:34:35,440
to exist that it was knowledgeable to

1062
00:34:35,440 --> 00:34:38,320
give you good ux so i'm like how does

1063
00:34:38,320 --> 00:34:40,159
people think that dx just magically

1064
00:34:40,159 --> 00:34:42,000
gives good ux it had to be written by

1065
00:34:42,000 --> 00:34:44,719
somebody like the good ux was created

1066
00:34:44,719 --> 00:34:47,359
and someone spent valuable time thinking

1067
00:34:47,359 --> 00:34:50,239
about good ux in order to bake it into

1068
00:34:50,239 --> 00:34:52,399
something that could be shared better

1069
00:34:52,399 --> 00:34:54,800
that then helped facilitate a workflow

1070
00:34:54,800 --> 00:34:56,399
which is just like how like a bakery

1071
00:34:56,399 --> 00:34:58,320
would work right you just got like okay

1072
00:34:58,320 --> 00:34:59,760
we've got all these processes they're

1073
00:34:59,760 --> 00:35:01,520
working like this

1074
00:35:01,520 --> 00:35:03,359
and now we're going to always use this

1075
00:35:03,359 --> 00:35:05,440
flower instead of have random flowers

1076
00:35:05,440 --> 00:35:07,040
and we're always going to use this scoop

1077
00:35:07,040 --> 00:35:08,240
or something like that you just start to

1078
00:35:08,240 --> 00:35:10,000
like harden these things over time so

1079
00:35:10,000 --> 00:35:11,200
that when new people join they don't

1080
00:35:11,200 --> 00:35:12,560
have to go learn there's three scoops

1081
00:35:12,560 --> 00:35:14,000
there's just one scoop now to choose

1082
00:35:14,000 --> 00:35:15,040
from

1083
00:35:15,040 --> 00:35:17,520
and every time those decisions get made

1084
00:35:17,520 --> 00:35:19,920
like they're made in a good faith i

1085
00:35:19,920 --> 00:35:21,920
guess like the bakers are trying to make

1086
00:35:21,920 --> 00:35:22,720
more

1087
00:35:22,720 --> 00:35:23,599
um

1088
00:35:23,599 --> 00:35:24,720
you know muffins or something for

1089
00:35:24,720 --> 00:35:27,119
everybody like the ux is eating a muffin

1090
00:35:27,119 --> 00:35:29,040
um okay

1091
00:35:29,040 --> 00:35:31,040
that

1092
00:35:31,040 --> 00:35:33,520
essentially you can overdo it just like

1093
00:35:33,520 --> 00:35:35,280
in a design system you can overdo it so

1094
00:35:35,280 --> 00:35:36,400
where eventually maybe you make a

1095
00:35:36,400 --> 00:35:38,240
factory maybe you've got you know this

1096
00:35:38,240 --> 00:35:39,599
happens all the time in code we build

1097
00:35:39,599 --> 00:35:41,599
tons of factories to stamp out web pages

1098
00:35:41,599 --> 00:35:43,280
to stamp this out to stand we love our

1099
00:35:43,280 --> 00:35:44,640
automation

1100
00:35:44,640 --> 00:35:47,280
and sometimes automation

1101
00:35:47,280 --> 00:35:50,640
all it does is harden one good ux choice

1102
00:35:50,640 --> 00:35:53,280
and it might make subsequent ux choices

1103
00:35:53,280 --> 00:35:54,320
harder

1104
00:35:54,320 --> 00:35:56,560
um

1105
00:35:56,560 --> 00:35:58,240
in any way so okay so then here i want

1106
00:35:58,240 --> 00:35:59,839
to go back to like the

1107
00:35:59,839 --> 00:36:02,079
like dx is so much more

1108
00:36:02,079 --> 00:36:03,040
than

1109
00:36:03,040 --> 00:36:05,040
providing good ux

1110
00:36:05,040 --> 00:36:06,400
like there's so much more to it like you

1111
00:36:06,400 --> 00:36:07,839
can have an entire

1112
00:36:07,839 --> 00:36:10,800
day's worth of dx that never touches ux

1113
00:36:10,800 --> 00:36:12,480
and that should be fine like you should

1114
00:36:12,480 --> 00:36:13,680
be happy with that because what you're

1115
00:36:13,680 --> 00:36:16,000
trying to do is empower everyone after

1116
00:36:16,000 --> 00:36:17,680
you um

1117
00:36:17,680 --> 00:36:18,960
or whatever it is like i think it's

1118
00:36:18,960 --> 00:36:20,640
valuable time so basically i think it's

1119
00:36:20,640 --> 00:36:23,040
short-sighting dx to think that it can

1120
00:36:23,040 --> 00:36:25,760
only be valuable if it's affecting ux i

1121
00:36:25,760 --> 00:36:28,240
don't think that even needs to

1122
00:36:28,240 --> 00:36:30,800
anyway and then um

1123
00:36:30,800 --> 00:36:32,560
right i think dx is like you could do

1124
00:36:32,560 --> 00:36:34,880
anyway so dx can be entirely in a whole

1125
00:36:34,880 --> 00:36:36,960
other sector of the organization and

1126
00:36:36,960 --> 00:36:39,119
never change the ux and i don't think

1127
00:36:39,119 --> 00:36:41,280
that's bad i think sometimes it can

1128
00:36:41,280 --> 00:36:43,200
inconsequently change ux and that's

1129
00:36:43,200 --> 00:36:44,640
awesome sometimes it can intentionally

1130
00:36:44,640 --> 00:36:46,320
do it you know maybe data the data

1131
00:36:46,320 --> 00:36:48,240
center team over here they switch to a

1132
00:36:48,240 --> 00:36:49,920
different cluster system and now they're

1133
00:36:49,920 --> 00:36:52,240
you know shaved 50 milliseconds off a

1134
00:36:52,240 --> 00:36:53,839
request or whatever you're like cool the

1135
00:36:53,839 --> 00:36:55,280
user might

1136
00:36:55,280 --> 00:36:57,680
feel that or whatever um

1137
00:36:57,680 --> 00:37:00,160
but then also ux it's short-sighting

1138
00:37:00,160 --> 00:37:01,599
what ux is

1139
00:37:01,599 --> 00:37:05,359
if you've ever met a ux designer

1140
00:37:05,359 --> 00:37:07,440
to them the user experience isn't how

1141
00:37:07,440 --> 00:37:09,599
fast the milliseconds went down the wire

1142
00:37:09,599 --> 00:37:10,880
even though this is part of the user

1143
00:37:10,880 --> 00:37:12,320
experience is how fast you got it to

1144
00:37:12,320 --> 00:37:14,320
them they spend

1145
00:37:14,320 --> 00:37:17,680
weeks and months researching users

1146
00:37:17,680 --> 00:37:18,800
to make

1147
00:37:18,800 --> 00:37:21,839
informed decisions about ux

1148
00:37:21,839 --> 00:37:25,359
so to think that dx can just magically

1149
00:37:25,359 --> 00:37:27,280
have all of that i mean unless the

1150
00:37:27,280 --> 00:37:29,040
designers are baking and they're the

1151
00:37:29,040 --> 00:37:31,200
ones creating the dx maybe dx is

1152
00:37:31,200 --> 00:37:33,200
directly affecting ux but really i think

1153
00:37:33,200 --> 00:37:35,520
ux starts with research it doesn't start

1154
00:37:35,520 --> 00:37:37,520
with good dx you have to you have to

1155
00:37:37,520 --> 00:37:40,240
know what good ux is spend time on it

1156
00:37:40,240 --> 00:37:41,839
and actually create it before you can

1157
00:37:41,839 --> 00:37:43,200
then go harden it and make it like

1158
00:37:43,200 --> 00:37:45,200
repeatable and shareable or whatever it

1159
00:37:45,200 --> 00:37:48,240
is and also ux is just so much more than

1160
00:37:48,240 --> 00:37:50,079
that moment the button downloaded and

1161
00:37:50,079 --> 00:37:52,480
you pressed it so it's like belittling

1162
00:37:52,480 --> 00:37:55,440
the whole concept of ux and dx at the

1163
00:37:55,440 --> 00:37:57,040
same time making a comparison that

1164
00:37:57,040 --> 00:37:58,240
doesn't even really matter like here's

1165
00:37:58,240 --> 00:38:00,079
another thing dude is you can have the

1166
00:38:00,079 --> 00:38:02,079
worst dx in the world let's say you can

1167
00:38:02,079 --> 00:38:04,960
only ssh into this one server you have

1168
00:38:04,960 --> 00:38:07,839
no tools you're just with vim and it's

1169
00:38:07,839 --> 00:38:10,240
like a insane react project you don't

1170
00:38:10,240 --> 00:38:11,680
even have webpack you have to go edit

1171
00:38:11,680 --> 00:38:13,280
the output of a bundle let's say that

1172
00:38:13,280 --> 00:38:16,079
who knows dude a determined ux person

1173
00:38:16,079 --> 00:38:18,400
will do whatever it takes to make the ux

1174
00:38:18,400 --> 00:38:20,079
good they'll go hack that code it

1175
00:38:20,079 --> 00:38:22,000
doesn't matter the dx won't matter what

1176
00:38:22,000 --> 00:38:24,560
matters is the desire that someone had

1177
00:38:24,560 --> 00:38:26,480
and you know conversely uh you could

1178
00:38:26,480 --> 00:38:29,040
have like the best dx in the entire

1179
00:38:29,040 --> 00:38:31,119
world and deliver a button that says

1180
00:38:31,119 --> 00:38:32,720
fart

1181
00:38:32,720 --> 00:38:34,960
because the text in a button bro is part

1182
00:38:34,960 --> 00:38:37,040
of ux man there's ux writers that's all

1183
00:38:37,040 --> 00:38:39,599
they do is provide text so maybe if your

1184
00:38:39,599 --> 00:38:41,520
dx or your button was so rad that you

1185
00:38:41,520 --> 00:38:43,760
could like a new button and then you

1186
00:38:43,760 --> 00:38:45,440
drop it in and it has a whole suggestion

1187
00:38:45,440 --> 00:38:47,920
of ux written content in it like i don't

1188
00:38:47,920 --> 00:38:49,760
think you're really getting the

1189
00:38:49,760 --> 00:38:51,440
full-fledged

1190
00:38:51,440 --> 00:38:53,520
delivery of ux because it's so

1191
00:38:53,520 --> 00:38:55,760
contextual it's so subjective it's so

1192
00:38:55,760 --> 00:38:56,640
human

1193
00:38:56,640 --> 00:38:57,440
that

1194
00:38:57,440 --> 00:38:59,839
all you get from dx in terms of ux is

1195
00:38:59,839 --> 00:39:01,599
anything that's on rails and anything

1196
00:39:01,599 --> 00:39:03,440
you get from dx that can lead to good ux

1197
00:39:03,440 --> 00:39:06,000
usually came because good ux sourced

1198
00:39:06,000 --> 00:39:09,280
into the dx that then changed to the ux

1199
00:39:09,280 --> 00:39:10,480
so i just don't

1200
00:39:10,480 --> 00:39:11,599
it's just like i'm like i'm not sure

1201
00:39:11,599 --> 00:39:13,040
what everyone's trying to say other than

1202
00:39:13,040 --> 00:39:14,960
i think you know which is i said at the

1203
00:39:14,960 --> 00:39:16,640
beginning i'm like i see the initial

1204
00:39:16,640 --> 00:39:18,720
goal here which is like hey if you have

1205
00:39:18,720 --> 00:39:20,960
um really great tools it can make it

1206
00:39:20,960 --> 00:39:22,640
easier to slice some bread and put

1207
00:39:22,640 --> 00:39:23,760
butter on it and then now you have

1208
00:39:23,760 --> 00:39:25,760
sliced butter way faster you know like

1209
00:39:25,760 --> 00:39:27,520
look at us and we made a process for it

1210
00:39:27,520 --> 00:39:29,599
and now we can do 10 breads and 10

1211
00:39:29,599 --> 00:39:32,560
butters in a parallel right we're gatsby

1212
00:39:32,560 --> 00:39:34,640
and now we're doing parallel bread uh

1213
00:39:34,640 --> 00:39:37,200
buttered stuff right until the designer

1214
00:39:37,200 --> 00:39:39,200
says oh we're not using butter or we

1215
00:39:39,200 --> 00:39:40,560
need new butter and peanut butter and

1216
00:39:40,560 --> 00:39:42,400
everyone's like oh we made a factory for

1217
00:39:42,400 --> 00:39:43,839
that last process and you're like dude

1218
00:39:43,839 --> 00:39:46,240
users want peanut butter now too so

1219
00:39:46,240 --> 00:39:47,520
sorry you're gonna have to update all

1220
00:39:47,520 --> 00:39:50,640
the dx to match the new ux so

1221
00:39:50,640 --> 00:39:51,839
that's kind of what i see i think it's

1222
00:39:51,839 --> 00:39:54,960
almost like ux is equal to dx which

1223
00:39:54,960 --> 00:39:58,079
could trickle down to ux again

1224
00:39:58,079 --> 00:39:59,440
at least that's the intent and so i just

1225
00:39:59,440 --> 00:40:01,040
don't know why we don't talk about the

1226
00:40:01,040 --> 00:40:02,960
full cycle and i don't know why we want

1227
00:40:02,960 --> 00:40:05,119
to belittle the two concepts like ux is

1228
00:40:05,119 --> 00:40:07,839
more than just developers building

1229
00:40:07,839 --> 00:40:09,200
buttons and

1230
00:40:09,200 --> 00:40:10,560
forms and flows and stuff like that

1231
00:40:10,560 --> 00:40:13,440
there's a whole team of ux designers

1232
00:40:13,440 --> 00:40:15,599
that they are literally fighting your

1233
00:40:15,599 --> 00:40:18,160
company to have good ux

1234
00:40:18,160 --> 00:40:19,760
and i just that's why i think a lot of

1235
00:40:19,760 --> 00:40:21,599
designers don't retweet that dx is

1236
00:40:21,599 --> 00:40:23,520
better than ux or that dx will lead to

1237
00:40:23,520 --> 00:40:25,520
good ux designers just know that they're

1238
00:40:25,520 --> 00:40:28,079
at the table every day arguing with

1239
00:40:28,079 --> 00:40:30,480
somebody that they need to refactor this

1240
00:40:30,480 --> 00:40:32,640
because it's not good user experience

1241
00:40:32,640 --> 00:40:34,400
and the person over there is going

1242
00:40:34,400 --> 00:40:37,040
no i see all your research and i see you

1243
00:40:37,040 --> 00:40:39,680
did user studies

1244
00:40:39,680 --> 00:40:41,599
i just can't allocate the resources and

1245
00:40:41,599 --> 00:40:43,040
meanwhile they've got a team of 10

1246
00:40:43,040 --> 00:40:45,359
people increasing the dx of the back end

1247
00:40:45,359 --> 00:40:46,720
system over here right and they're just

1248
00:40:46,720 --> 00:40:49,440
not funding the ux so anyway

1249
00:40:49,440 --> 00:40:51,280
i can just see like all these different

1250
00:40:51,280 --> 00:40:53,680
sides to it and i'm i'm just not it just

1251
00:40:53,680 --> 00:40:55,040
doesn't do anyone to favorite it's not

1252
00:40:55,040 --> 00:40:57,280
doing dx a favor like it's not if

1253
00:40:57,280 --> 00:40:59,440
anything it kind of like makes dx look

1254
00:40:59,440 --> 00:41:00,960
like the hero too i think that's my

1255
00:41:00,960 --> 00:41:02,800
biggest issue with it it makes dx look

1256
00:41:02,800 --> 00:41:04,560
like it's the thing that led to good ux

1257
00:41:04,560 --> 00:41:07,520
i'm like no it doesn't

1258
00:41:07,520 --> 00:41:08,800
there's no

1259
00:41:08,800 --> 00:41:10,560
it never anyway so i'm like it's not the

1260
00:41:10,560 --> 00:41:13,040
hero the hero here is having good ux

1261
00:41:13,040 --> 00:41:14,400
like that's what everyone wants is good

1262
00:41:14,400 --> 00:41:16,720
ux but dx steals the show and that

1263
00:41:16,720 --> 00:41:17,680
phrasing

1264
00:41:17,680 --> 00:41:20,079
and it's just so anyway i'm mostly

1265
00:41:20,079 --> 00:41:21,760
annoyed with it and i'm like it's just

1266
00:41:21,760 --> 00:41:23,359
it's based on like these couple of paths

1267
00:41:23,359 --> 00:41:25,680
like people will look at this dx led

1268
00:41:25,680 --> 00:41:27,680
like that's one path of a thousand that

1269
00:41:27,680 --> 00:41:29,040
you'll take in building a product that

1270
00:41:29,040 --> 00:41:30,640
has good ux

1271
00:41:30,640 --> 00:41:33,200
sure your dx led to good ux there

1272
00:41:33,200 --> 00:41:35,359
congratulations just don't praise that

1273
00:41:35,359 --> 00:41:37,280
phrase like it's going to solve all of

1274
00:41:37,280 --> 00:41:39,200
your ux problems it is not the

1275
00:41:39,200 --> 00:41:42,319
responsible party for good choices ux

1276
00:41:42,319 --> 00:41:44,240
focused individuals are the ones that

1277
00:41:44,240 --> 00:41:46,720
make the good ux choices and can funnel

1278
00:41:46,720 --> 00:41:48,400
those through dx and back around or

1279
00:41:48,400 --> 00:41:50,160
whatever so anyway i just think it's

1280
00:41:50,160 --> 00:41:51,440
missing the point in a lot of ways how

1281
00:41:51,440 --> 00:41:53,040
do you feel about you know why

1282
00:41:53,040 --> 00:41:54,960
you know why we hear so much about it

1283
00:41:54,960 --> 00:41:56,160
it's because

1284
00:41:56,160 --> 00:41:58,319
the ux people have nothing to sell you

1285
00:41:58,319 --> 00:42:00,079
whereas the dx people have something to

1286
00:42:00,079 --> 00:42:03,319
sell you

1287
00:42:04,319 --> 00:42:07,200
economic incentive to drive things

1288
00:42:07,200 --> 00:42:09,760
yeah dx is the hottest phrase to get

1289
00:42:09,760 --> 00:42:11,280
your product recognized right now that's

1290
00:42:11,280 --> 00:42:12,800
for sure huh

1291
00:42:12,800 --> 00:42:14,480
do you think so

1292
00:42:14,480 --> 00:42:17,040
do you think the term is tarnished now

1293
00:42:17,040 --> 00:42:18,319
do you think it's so

1294
00:42:18,319 --> 00:42:20,319
no

1295
00:42:20,319 --> 00:42:21,119
no

1296
00:42:21,119 --> 00:42:23,040
it's tarnished to me but no it's still

1297
00:42:23,040 --> 00:42:25,920
hot as ever are you kidding

1298
00:42:25,920 --> 00:42:27,760
it's my it's in my it's my job title by

1299
00:42:27,760 --> 00:42:30,079
the way so my job title is literally

1300
00:42:30,079 --> 00:42:31,680
have a developer experience

1301
00:42:31,680 --> 00:42:33,200
and i don't know if i want to associate

1302
00:42:33,200 --> 00:42:35,119
myself so closely with this thing

1303
00:42:35,119 --> 00:42:36,800
oh really oh dick i mean hey dude i

1304
00:42:36,800 --> 00:42:38,560
associate myself with css how many

1305
00:42:38,560 --> 00:42:40,400
people want to do that

1306
00:42:40,400 --> 00:42:42,880
i i think it's amazing have i told you

1307
00:42:42,880 --> 00:42:45,119
that i think that you and yoona are like

1308
00:42:45,119 --> 00:42:48,000
my like i i idolize you guys so much

1309
00:42:48,000 --> 00:42:51,119
because oh no way being able to advocate

1310
00:42:51,119 --> 00:42:53,200
for css hello like

1311
00:42:53,200 --> 00:42:55,440
um

1312
00:42:55,440 --> 00:42:56,800
it's just it's just

1313
00:42:56,800 --> 00:42:58,079
so first of all you have to be good you

1314
00:42:58,079 --> 00:42:59,280
have to be like really good at it and

1315
00:42:59,280 --> 00:43:01,200
both of you are actually really great uh

1316
00:43:01,200 --> 00:43:03,040
but also just you're advocating for

1317
00:43:03,040 --> 00:43:04,800
something that everyone can use so

1318
00:43:04,800 --> 00:43:06,400
there's nothing to sell you it's just

1319
00:43:06,400 --> 00:43:08,800
like you already have this and

1320
00:43:08,800 --> 00:43:10,880
like 90 of you are terrible at it or

1321
00:43:10,880 --> 00:43:12,079
like you could be better you know let's

1322
00:43:12,079 --> 00:43:14,560
put it politically correctly so i mean i

1323
00:43:14,560 --> 00:43:17,040
think it's great i i css will be around

1324
00:43:17,040 --> 00:43:19,119
longer than both of us will be around

1325
00:43:19,119 --> 00:43:21,359
and i think it's

1326
00:43:21,359 --> 00:43:23,599
no one can i i don't know everyone can

1327
00:43:23,599 --> 00:43:27,040
always use a bit more css in their life

1328
00:43:27,040 --> 00:43:30,319
i need a css shirt by the way

1329
00:43:31,119 --> 00:43:32,560
oh i could probably figure that out i'll

1330
00:43:32,560 --> 00:43:34,720
send you a link uh later it's which is

1331
00:43:34,720 --> 00:43:36,400
funny right like you know they're uh

1332
00:43:36,400 --> 00:43:38,400
they're like 100 different js comps and

1333
00:43:38,400 --> 00:43:40,720
like maybe i don't know if i've ever

1334
00:43:40,720 --> 00:43:42,640
seen the css conf

1335
00:43:42,640 --> 00:43:44,640
there is yeah and i think it uh there

1336
00:43:44,640 --> 00:43:46,319
was one a really popular one for five

1337
00:43:46,319 --> 00:43:47,920
years in europe and it spread there was

1338
00:43:47,920 --> 00:43:51,280
like ones happening in other conflict uh

1339
00:43:51,280 --> 00:43:53,760
continents but it's i think kind of i

1340
00:43:53,760 --> 00:43:55,359
don't know the conference scene is

1341
00:43:55,359 --> 00:43:57,119
shaking up recently but yeah css is

1342
00:43:57,119 --> 00:43:58,640
definitely underdog in all this stuff

1343
00:43:58,640 --> 00:44:00,079
huh

1344
00:44:00,079 --> 00:44:02,400
i mean i yeah so i mean i i was i was

1345
00:44:02,400 --> 00:44:04,960
really encouraged when you joined um and

1346
00:44:04,960 --> 00:44:06,160
and then you started putting out really

1347
00:44:06,160 --> 00:44:08,079
good stuff and i was i just i think

1348
00:44:08,079 --> 00:44:09,520
google does something right when you

1349
00:44:09,520 --> 00:44:10,800
when you hire

1350
00:44:10,800 --> 00:44:12,240
uh developer relations i don't know what

1351
00:44:12,240 --> 00:44:13,359
it is but

1352
00:44:13,359 --> 00:44:15,680
um every every person i see is just

1353
00:44:15,680 --> 00:44:17,760
stellar talk to dion

1354
00:44:17,760 --> 00:44:20,839
dion has um i have an emotion was he

1355
00:44:20,839 --> 00:44:22,160
responsible for

1356
00:44:22,160 --> 00:44:24,960
yeah he's the one who saw me um like i

1357
00:44:24,960 --> 00:44:27,359
anyway yeah he pretty much pulled me out

1358
00:44:27,359 --> 00:44:29,680
of the team i was at and google and was

1359
00:44:29,680 --> 00:44:31,359
like hey you want to do this over here

1360
00:44:31,359 --> 00:44:33,839
in chrome and i was like i idolized you

1361
00:44:33,839 --> 00:44:35,920
all i couldn't do that and he's like

1362
00:44:35,920 --> 00:44:37,599
you're one of us would you like to be i

1363
00:44:37,599 --> 00:44:39,920
was like okay and he totally believed in

1364
00:44:39,920 --> 00:44:42,240
me and um gave me lots of chances and

1365
00:44:42,240 --> 00:44:44,319
was and yeah i'm and i think there's

1366
00:44:44,319 --> 00:44:45,920
lots of so he left recently a couple

1367
00:44:45,920 --> 00:44:47,920
months yeah shopify

1368
00:44:47,920 --> 00:44:50,880
shopify and um you could tell

1369
00:44:50,880 --> 00:44:52,800
um he shattered

1370
00:44:52,800 --> 00:44:54,319
people like there were people that were

1371
00:44:54,319 --> 00:44:56,960
like dion was like

1372
00:44:56,960 --> 00:44:58,880
a different person he was someone i was

1373
00:44:58,880 --> 00:45:00,720
emotionally um

1374
00:45:00,720 --> 00:45:03,440
engaged with he has this amazing ability

1375
00:45:03,440 --> 00:45:06,160
to listen and anyway what if

1376
00:45:06,160 --> 00:45:08,240
what a great leader and manager he was

1377
00:45:08,240 --> 00:45:10,880
um and he had he has some sort of skill

1378
00:45:10,880 --> 00:45:12,960
i don't you have to ask him how he knows

1379
00:45:12,960 --> 00:45:15,359
i was asking someone um and how he can

1380
00:45:15,359 --> 00:45:17,280
judge people but yeah he's got a talent

1381
00:45:17,280 --> 00:45:18,480
there

1382
00:45:18,480 --> 00:45:20,720
you know i had so i went to boulder

1383
00:45:20,720 --> 00:45:22,560
recently and i think he is like kind of

1384
00:45:22,560 --> 00:45:24,319
just just outside boulder or something

1385
00:45:24,319 --> 00:45:26,400
and i had lunch with him and he never

1386
00:45:26,400 --> 00:45:28,400
he's so humble he never brings this up

1387
00:45:28,400 --> 00:45:30,800
he's just like yeah i like tech like you

1388
00:45:30,800 --> 00:45:33,200
know i think shopify is cool you know he

1389
00:45:33,200 --> 00:45:36,079
never talks about like how he runs

1390
00:45:36,079 --> 00:45:38,400
his org and how he how he thinks about

1391
00:45:38,400 --> 00:45:40,240
hiring um

1392
00:45:40,240 --> 00:45:41,359
interesting guy

1393
00:45:41,359 --> 00:45:42,640
interesting guy interesting guy and he

1394
00:45:42,640 --> 00:45:44,880
just carries his candor so well

1395
00:45:44,880 --> 00:45:49,359
um yeah um but back to dx as like a job

1396
00:45:49,359 --> 00:45:51,520
title i do think it's still important i

1397
00:45:51,520 --> 00:45:53,359
just uh and that's what i'm saying i

1398
00:45:53,359 --> 00:45:55,760
don't think the phrase does your job

1399
00:45:55,760 --> 00:45:57,920
justice like it's making dx sound like

1400
00:45:57,920 --> 00:46:00,319
it's only valuable if it is impacting ux

1401
00:46:00,319 --> 00:46:02,240
and i'm like that's not the case you can

1402
00:46:02,240 --> 00:46:04,480
empower developers to save hundreds of

1403
00:46:04,480 --> 00:46:06,960
hours a week and it maybe never touches

1404
00:46:06,960 --> 00:46:08,800
the ux and who cares you just still

1405
00:46:08,800 --> 00:46:10,720
saved hundreds of hours like why is the

1406
00:46:10,720 --> 00:46:13,200
value of dx somehow hinging on its

1407
00:46:13,200 --> 00:46:14,960
ability to start getting more ranty

1408
00:46:14,960 --> 00:46:17,440
again why is yeah this doesn't i'm like

1409
00:46:17,440 --> 00:46:18,960
it's not doing it justice like it wants

1410
00:46:18,960 --> 00:46:21,440
dx to be respected unlike it already is

1411
00:46:21,440 --> 00:46:23,680
so why push that this is like its best

1412
00:46:23,680 --> 00:46:25,040
moment like

1413
00:46:25,040 --> 00:46:26,319
yeah whatever

1414
00:46:26,319 --> 00:46:28,960
so um i think you know just just because

1415
00:46:28,960 --> 00:46:30,480
you're you're interested in this uh i've

1416
00:46:30,480 --> 00:46:33,280
been defining it in

1417
00:46:33,280 --> 00:46:34,079
in

1418
00:46:34,079 --> 00:46:36,480
maybe like four ways

1419
00:46:36,480 --> 00:46:38,640
so the first is api design

1420
00:46:38,640 --> 00:46:40,160
uh because

1421
00:46:40,160 --> 00:46:42,480
um that is that

1422
00:46:42,480 --> 00:46:44,160
everything is downstream of like did you

1423
00:46:44,160 --> 00:46:45,520
did you design the right abstraction

1424
00:46:45,520 --> 00:46:46,720
right like the same thing that you're

1425
00:46:46,720 --> 00:46:47,839
you're doing with deferred inputs and

1426
00:46:47,839 --> 00:46:48,960
stuff like that

1427
00:46:48,960 --> 00:46:51,760
uh and then second of all docs for for

1428
00:46:51,760 --> 00:46:54,839
that api right you have to

1429
00:46:54,839 --> 00:46:57,760
um be able to find it first of all it

1430
00:46:57,760 --> 00:47:00,000
needs to have full coverage everything

1431
00:47:00,000 --> 00:47:00,960
that

1432
00:47:00,960 --> 00:47:03,520
is in your api should be locatable

1433
00:47:03,520 --> 00:47:06,240
uh and then it should be anticipatory

1434
00:47:06,240 --> 00:47:07,599
like tell me what i'm going to need

1435
00:47:07,599 --> 00:47:08,960
before i know about it

1436
00:47:08,960 --> 00:47:10,960
uh which is a high bar i mean

1437
00:47:10,960 --> 00:47:12,240
but like no i like that that's like

1438
00:47:12,240 --> 00:47:13,760
visiting a docs page and it's already

1439
00:47:13,760 --> 00:47:15,839
got my um keys in it like i don't have

1440
00:47:15,839 --> 00:47:17,680
to go find my keys it knows i'm like and

1441
00:47:17,680 --> 00:47:19,040
looking at the docs and it autofills

1442
00:47:19,040 --> 00:47:20,480
them but yeah to me that's just like

1443
00:47:20,480 --> 00:47:22,079
templating it's like templated docs i

1444
00:47:22,079 --> 00:47:23,359
mean everyone can do that you know like

1445
00:47:23,359 --> 00:47:26,480
it's uh it is it is it is good people do

1446
00:47:26,480 --> 00:47:28,720
do enjoy that but i always want to have

1447
00:47:28,720 --> 00:47:31,200
an opinion like uh okay you know you

1448
00:47:31,200 --> 00:47:33,680
have like two required options and five

1449
00:47:33,680 --> 00:47:35,119
not required options but this is

1450
00:47:35,119 --> 00:47:37,119
recommended in these situations and this

1451
00:47:37,119 --> 00:47:40,480
is only for power users tell me that

1452
00:47:40,480 --> 00:47:42,800
in the docs before before letting me go

1453
00:47:42,800 --> 00:47:45,520
on uh and figure it out on my own

1454
00:47:45,520 --> 00:47:47,040
so that's what i'm trying to do with our

1455
00:47:47,040 --> 00:47:50,319
docs and then the last part is um

1456
00:47:50,319 --> 00:47:52,400
have i done four yet uh the last part is

1457
00:47:52,400 --> 00:47:55,440
community three yeah right

1458
00:47:55,440 --> 00:47:56,880
okay so so there's there's developer

1459
00:47:56,880 --> 00:47:58,240
relations which is like traditional

1460
00:47:58,240 --> 00:48:00,160
content creation like teach me how to do

1461
00:48:00,160 --> 00:48:02,319
stuff do tutorials do meet my meetups

1462
00:48:02,319 --> 00:48:03,200
yes

1463
00:48:03,200 --> 00:48:05,280
hype it up pipeline yeah and then the

1464
00:48:05,280 --> 00:48:07,920
last part is community um which uh

1465
00:48:07,920 --> 00:48:09,359
basically like do you have a place to go

1466
00:48:09,359 --> 00:48:11,920
to ask questions and how how much you

1467
00:48:11,920 --> 00:48:14,640
know um like can you get a job in this

1468
00:48:14,640 --> 00:48:15,839
is there like a training is there like

1469
00:48:15,839 --> 00:48:17,920
career progression do i see myself

1470
00:48:17,920 --> 00:48:19,839
identifying with this technology as a

1471
00:48:19,839 --> 00:48:21,680
career like there are lots of

1472
00:48:21,680 --> 00:48:23,839
technologies in our lives there's only

1473
00:48:23,839 --> 00:48:25,040
certain technologies that we choose to

1474
00:48:25,040 --> 00:48:27,520
call to like say like i am a x developer

1475
00:48:27,520 --> 00:48:29,440
i am a react developer that that means

1476
00:48:29,440 --> 00:48:31,599
something that is over and above

1477
00:48:31,599 --> 00:48:32,480
just

1478
00:48:32,480 --> 00:48:34,400
the the particular library and framework

1479
00:48:34,400 --> 00:48:37,119
that you that you use um

1480
00:48:37,119 --> 00:48:38,960
i don't know if i should do that i don't

1481
00:48:38,960 --> 00:48:40,640
know if i should be so expensive and say

1482
00:48:40,640 --> 00:48:42,079
like oh yeah community is part of this

1483
00:48:42,079 --> 00:48:43,040
too

1484
00:48:43,040 --> 00:48:44,960
but also it kind of is

1485
00:48:44,960 --> 00:48:47,440
so it definitely is um it's something

1486
00:48:47,440 --> 00:48:50,000
that i tried and i still try to focus on

1487
00:48:50,000 --> 00:48:52,559
by having open office hours doing the

1488
00:48:52,559 --> 00:48:55,520
amas um i try to reach out and yeah

1489
00:48:55,520 --> 00:48:57,359
that's why i do conferences i like to

1490
00:48:57,359 --> 00:48:59,280
dude i don't think i can effectively do

1491
00:48:59,280 --> 00:49:01,280
my job if i'm not connecting to the

1492
00:49:01,280 --> 00:49:03,040
community because otherwise i'm living

1493
00:49:03,040 --> 00:49:05,599
in a bubble and i'm not putting shoes on

1494
00:49:05,599 --> 00:49:07,200
that are uncomfortable for me like i

1495
00:49:07,200 --> 00:49:09,200
need to be constantly putting on shoes

1496
00:49:09,200 --> 00:49:10,960
of other people to have my own

1497
00:49:10,960 --> 00:49:12,079
perspective

1498
00:49:12,079 --> 00:49:14,240
uh shaped well and then it makes me a

1499
00:49:14,240 --> 00:49:16,319
better educator it makes me better at

1500
00:49:16,319 --> 00:49:18,480
all these other roles yeah

1501
00:49:18,480 --> 00:49:19,920
yeah i think it's very healthy that it's

1502
00:49:19,920 --> 00:49:21,119
included

1503
00:49:21,119 --> 00:49:23,599
that's my that's my map of developer

1504
00:49:23,599 --> 00:49:24,720
experience so far and i'm trying to

1505
00:49:24,720 --> 00:49:26,400
implement that

1506
00:49:26,400 --> 00:49:29,040
awesome uh that sounds very amicable and

1507
00:49:29,040 --> 00:49:30,640
it sounds like you have four pillars and

1508
00:49:30,640 --> 00:49:32,079
everything at google ends up being in

1509
00:49:32,079 --> 00:49:34,240
four pillars so congratulations on

1510
00:49:34,240 --> 00:49:36,559
google i like things to come in

1511
00:49:36,559 --> 00:49:38,000
i like things to come in threes i don't

1512
00:49:38,000 --> 00:49:40,000
know yeah threes is a little more catchy

1513
00:49:40,000 --> 00:49:41,280
huh yeah

1514
00:49:41,280 --> 00:49:42,880
wait wait so what's an example of the

1515
00:49:42,880 --> 00:49:45,599
thing that that's four killers at google

1516
00:49:45,599 --> 00:49:47,119
oh let's see if i can i don't know if i

1517
00:49:47,119 --> 00:49:48,240
could remember one right now but it's

1518
00:49:48,240 --> 00:49:50,240
like any time a leader is presenting

1519
00:49:50,240 --> 00:49:51,920
like slides

1520
00:49:51,920 --> 00:49:54,160
there's always one slide that's got like

1521
00:49:54,160 --> 00:49:56,559
four pillars of our beliefs or whatever

1522
00:49:56,559 --> 00:49:58,480
and you're just like come on this is

1523
00:49:58,480 --> 00:50:00,160
just a template slide everyone slaps and

1524
00:50:00,160 --> 00:50:02,240
they go i can fill this with some crap

1525
00:50:02,240 --> 00:50:03,599
anyway so we teased it every time we see

1526
00:50:03,599 --> 00:50:05,380
it we're like there's the pillars

1527
00:50:05,380 --> 00:50:08,079
[Laughter]

1528
00:50:08,079 --> 00:50:09,359
i mean

1529
00:50:09,359 --> 00:50:11,119
this is the whole thing about draw the

1530
00:50:11,119 --> 00:50:12,960
map right like like i want to know like

1531
00:50:12,960 --> 00:50:14,480
where do i end because if you just say

1532
00:50:14,480 --> 00:50:16,400
it's all the things i i don't know i

1533
00:50:16,400 --> 00:50:18,000
don't know how to deal with that but if

1534
00:50:18,000 --> 00:50:19,920
i've covered like the the big macros

1535
00:50:19,920 --> 00:50:21,280
it's kind of like your your meal right

1536
00:50:21,280 --> 00:50:22,640
like when you're when you're eating you

1537
00:50:22,640 --> 00:50:23,839
want to make sure you're taking care of

1538
00:50:23,839 --> 00:50:26,559
your big macros and and you you're

1539
00:50:26,559 --> 00:50:28,330
roughly like you're gonna survive

1540
00:50:28,330 --> 00:50:30,480
[Laughter]

1541
00:50:30,480 --> 00:50:31,680
so nice

1542
00:50:31,680 --> 00:50:33,280
yeah that's kind of how i think about it

1543
00:50:33,280 --> 00:50:36,079
uh should we talk about self-disruption

1544
00:50:36,079 --> 00:50:37,440
yeah

1545
00:50:37,440 --> 00:50:39,839
um all right so tell me about what this

1546
00:50:39,839 --> 00:50:41,040
what this is and what prompted it

1547
00:50:41,040 --> 00:50:42,480
actually

1548
00:50:42,480 --> 00:50:44,640
okay let's see what prompted it

1549
00:50:44,640 --> 00:50:46,400
um it's just something about

1550
00:50:46,400 --> 00:50:48,480
like not innovating or was it that was

1551
00:50:48,480 --> 00:50:50,160
just me making a comparison yeah it was

1552
00:50:50,160 --> 00:50:54,480
apple and their new machines it was um

1553
00:50:54,480 --> 00:50:56,800
chris coyer sharing a css tricks article

1554
00:50:56,800 --> 00:50:58,480
about alternative browsers based on

1555
00:50:58,480 --> 00:51:00,240
chromium that are offering unique and

1556
00:51:00,240 --> 00:51:02,480
expressive experiences it was me

1557
00:51:02,480 --> 00:51:04,640
reflecting on opera when they tried to

1558
00:51:04,640 --> 00:51:06,400
do this with opera next as like a

1559
00:51:06,400 --> 00:51:08,640
self-disrupting um browser

1560
00:51:08,640 --> 00:51:11,040
implementation it was really cool um

1561
00:51:11,040 --> 00:51:12,640
it's like bubbles every time it was all

1562
00:51:12,640 --> 00:51:15,680
anyway it was pretty neat um

1563
00:51:15,680 --> 00:51:17,359
and i just was like start i just started

1564
00:51:17,359 --> 00:51:18,720
to think about it i was like in tech

1565
00:51:18,720 --> 00:51:20,960
okay it's like a as a naive implementer

1566
00:51:20,960 --> 00:51:22,160
right because i'm pretty much swinging

1567
00:51:22,160 --> 00:51:23,920
the hammer on the engine every day like

1568
00:51:23,920 --> 00:51:26,480
i'm constantly in the house making sure

1569
00:51:26,480 --> 00:51:29,119
the door handles are shiny and open easy

1570
00:51:29,119 --> 00:51:30,400
like this is what i mean by like being a

1571
00:51:30,400 --> 00:51:32,000
ux developer like i'm just going around

1572
00:51:32,000 --> 00:51:33,200
making sure

1573
00:51:33,200 --> 00:51:35,119
that it all flows and i'm like in my

1574
00:51:35,119 --> 00:51:37,599
head i'm like if we had tons of money

1575
00:51:37,599 --> 00:51:39,280
and this thing was just so successful

1576
00:51:39,280 --> 00:51:40,720
you know what i would do is i would roll

1577
00:51:40,720 --> 00:51:43,680
that all into like a labs team that made

1578
00:51:43,680 --> 00:51:46,079
it so that i made the next generation of

1579
00:51:46,079 --> 00:51:48,960
house like let's quit hacking on these

1580
00:51:48,960 --> 00:51:50,880
same houses we all have okay we have a

1581
00:51:50,880 --> 00:51:53,200
great process and it's all hunky-dory

1582
00:51:53,200 --> 00:51:54,880
but at the same time like we're

1583
00:51:54,880 --> 00:51:57,359
outputting a factory looking thing

1584
00:51:57,359 --> 00:51:59,680
um and and we seem to be happy and proud

1585
00:51:59,680 --> 00:52:01,280
about it we are but i'm like okay so for

1586
00:52:01,280 --> 00:52:02,880
me i got really confused i'm like i

1587
00:52:02,880 --> 00:52:04,800
would if i had all this money and

1588
00:52:04,800 --> 00:52:05,920
success

1589
00:52:05,920 --> 00:52:08,480
roll it entirely into disrupting myself

1590
00:52:08,480 --> 00:52:10,160
into the next coolest thing because now

1591
00:52:10,160 --> 00:52:11,760
i don't have to have the same stress as

1592
00:52:11,760 --> 00:52:13,599
i did the first time the first time when

1593
00:52:13,599 --> 00:52:16,079
i made my product i was fighting right

1594
00:52:16,079 --> 00:52:18,240
and you were pushing you had this ideal

1595
00:52:18,240 --> 00:52:20,160
and this mentality

1596
00:52:20,160 --> 00:52:21,920
and i'd want to live that again

1597
00:52:21,920 --> 00:52:23,760
and what i don't see happening is

1598
00:52:23,760 --> 00:52:25,680
companies do that i see chrome browser

1599
00:52:25,680 --> 00:52:28,240
what is it 10 or 15 years old it looks

1600
00:52:28,240 --> 00:52:30,480
kind of the same it has a ton of new

1601
00:52:30,480 --> 00:52:32,400
features under the hood but i'm like

1602
00:52:32,400 --> 00:52:34,480
this is a very unexciting user

1603
00:52:34,480 --> 00:52:35,520
experience but that's probably fine

1604
00:52:35,520 --> 00:52:37,920
that's fine for a mainstream application

1605
00:52:37,920 --> 00:52:39,920
and yeah you don't want to go to so

1606
00:52:39,920 --> 00:52:41,760
anyway like i understand why

1607
00:52:41,760 --> 00:52:42,720
um

1608
00:52:42,720 --> 00:52:44,960
it's risky to try to self-disrupt but at

1609
00:52:44,960 --> 00:52:46,800
the same time i made the adobe

1610
00:52:46,800 --> 00:52:48,559
comparison with you because i'm like

1611
00:52:48,559 --> 00:52:51,839
20 years of success of photoshop um and

1612
00:52:51,839 --> 00:52:53,760
yet there's still like every three years

1613
00:52:53,760 --> 00:52:56,079
a new design tool popping up that turns

1614
00:52:56,079 --> 00:52:58,559
everyone's head away and is almost it

1615
00:52:58,559 --> 00:53:00,240
always feels next-gen when it shows up

1616
00:53:00,240 --> 00:53:01,920
sketch showed up everyone freaked out

1617
00:53:01,920 --> 00:53:03,280
three years later we all freaked out

1618
00:53:03,280 --> 00:53:04,960
over figma three years later we freaked

1619
00:53:04,960 --> 00:53:06,240
out over xd

1620
00:53:06,240 --> 00:53:09,520
um and what and yeah they're like

1621
00:53:09,520 --> 00:53:11,920
they're disrupting photoshop but

1622
00:53:11,920 --> 00:53:13,599
photoshop's not disrupting itself like

1623
00:53:13,599 --> 00:53:14,960
why can't they just sit back and be like

1624
00:53:14,960 --> 00:53:16,319
we've got hundreds of thousands of

1625
00:53:16,319 --> 00:53:18,480
dollars and lots of developers let's

1626
00:53:18,480 --> 00:53:20,400
pivot everything into like

1627
00:53:20,400 --> 00:53:22,480
v2 of this thing and just rock it into

1628
00:53:22,480 --> 00:53:24,240
the future you know like let's do what

1629
00:53:24,240 --> 00:53:25,920
everyone actually wants instead of just

1630
00:53:25,920 --> 00:53:27,920
repeating anyway so that that was the

1631
00:53:27,920 --> 00:53:30,000
thought process and i was like why like

1632
00:53:30,000 --> 00:53:32,240
sean why don't more people roll their

1633
00:53:32,240 --> 00:53:33,680
success okay because they do this in

1634
00:53:33,680 --> 00:53:35,440
business right if you get a big fat

1635
00:53:35,440 --> 00:53:38,000
success in your bitcoin output or what i

1636
00:53:38,000 --> 00:53:40,079
don't know like you roll your money back

1637
00:53:40,079 --> 00:53:41,760
into a bigger investment and you roll it

1638
00:53:41,760 --> 00:53:42,720
again

1639
00:53:42,720 --> 00:53:44,079
but they don't seem to do that with

1640
00:53:44,079 --> 00:53:46,000
their products it's almost like it gets

1641
00:53:46,000 --> 00:53:47,920
big they get

1642
00:53:47,920 --> 00:53:49,359
rich they get

1643
00:53:49,359 --> 00:53:51,680
not inspired anymore and their focus has

1644
00:53:51,680 --> 00:53:52,880
changed and they're no longer in that

1645
00:53:52,880 --> 00:53:54,160
mindset of

1646
00:53:54,160 --> 00:53:55,680
building the best product they're now on

1647
00:53:55,680 --> 00:53:57,520
them they're just in a new phase right

1648
00:53:57,520 --> 00:53:59,200
and i'm like yeah but you can be in the

1649
00:53:59,200 --> 00:54:01,760
new face and invest in like another

1650
00:54:01,760 --> 00:54:03,200
disruptive phase right like now you have

1651
00:54:03,200 --> 00:54:04,880
the funds for it and anyway that's what

1652
00:54:04,880 --> 00:54:06,400
it's all coming from yeah

1653
00:54:06,400 --> 00:54:07,760
um

1654
00:54:07,760 --> 00:54:10,640
a lot of thoughts on that first of all

1655
00:54:10,640 --> 00:54:13,359
wasn't so wasn't xd doesn't xd count

1656
00:54:13,359 --> 00:54:16,480
because it's also from adobe

1657
00:54:16,640 --> 00:54:17,440
um

1658
00:54:17,440 --> 00:54:20,000
i would argue it's of

1659
00:54:20,000 --> 00:54:21,520
this is so rude of me to say it's pretty

1660
00:54:21,520 --> 00:54:23,200
much a figma clone

1661
00:54:23,200 --> 00:54:25,040
yeah and it's great i love xd and in

1662
00:54:25,040 --> 00:54:26,400
fact i like it better than figaro you

1663
00:54:26,400 --> 00:54:27,520
want them to innovate at the end of the

1664
00:54:27,520 --> 00:54:28,400
day

1665
00:54:28,400 --> 00:54:30,079
i want them to okay here's what i want

1666
00:54:30,079 --> 00:54:31,680
photoshop to do with all their money and

1667
00:54:31,680 --> 00:54:33,839
all their fantastic developers is make

1668
00:54:33,839 --> 00:54:36,240
an actual web design tool like a real

1669
00:54:36,240 --> 00:54:38,079
web design tool and stop messing around

1670
00:54:38,079 --> 00:54:40,880
with 20 year old style gradient makers

1671
00:54:40,880 --> 00:54:42,400
and all this old crap that you've been

1672
00:54:42,400 --> 00:54:43,680
carrying around like shed all that

1673
00:54:43,680 --> 00:54:45,520
baggage go something straight up web

1674
00:54:45,520 --> 00:54:47,119
focused and just

1675
00:54:47,119 --> 00:54:49,280
chew that crap off and just

1676
00:54:49,280 --> 00:54:52,319
spec centric design tool something that

1677
00:54:52,319 --> 00:54:54,799
actually like has html elements and it

1678
00:54:54,799 --> 00:54:56,720
helps designers facilitate something

1679
00:54:56,720 --> 00:54:57,839
that is like

1680
00:54:57,839 --> 00:55:00,240
more oriented towards a real thing

1681
00:55:00,240 --> 00:55:01,839
um instead of

1682
00:55:01,839 --> 00:55:03,440
continuing to

1683
00:55:03,440 --> 00:55:07,119
yeah so webflow like i mean

1684
00:55:07,119 --> 00:55:09,359
yes sure yeah so like so webflow tried

1685
00:55:09,359 --> 00:55:11,680
to disrupt the design market by building

1686
00:55:11,680 --> 00:55:13,520
like a web centric and web focused and

1687
00:55:13,520 --> 00:55:16,319
spec focused design tool um and yeah i'm

1688
00:55:16,319 --> 00:55:18,160
like why doesn't adobe look at that and

1689
00:55:18,160 --> 00:55:20,000
go okay we need to do the same we need

1690
00:55:20,000 --> 00:55:22,000
to have uh our own version of this with

1691
00:55:22,000 --> 00:55:23,359
our name on it we've got the funds we've

1692
00:55:23,359 --> 00:55:25,839
got the people like they have see like

1693
00:55:25,839 --> 00:55:27,680
from the outside they have everything

1694
00:55:27,680 --> 00:55:29,280
they need to do it like i look at google

1695
00:55:29,280 --> 00:55:30,480
the same way i'm like look at chrome

1696
00:55:30,480 --> 00:55:32,000
like they have all the money and all the

1697
00:55:32,000 --> 00:55:34,160
people they need to make another version

1698
00:55:34,160 --> 00:55:35,920
that's just incredible

1699
00:55:35,920 --> 00:55:39,119
um and just does something fresh

1700
00:55:39,119 --> 00:55:40,559
but yet they're not and so yeah i was

1701
00:55:40,559 --> 00:55:42,640
mentioning too it's like egos just like

1702
00:55:42,640 --> 00:55:44,400
to polish turds apparently so i think

1703
00:55:44,400 --> 00:55:45,920
that's just kind of what happens is your

1704
00:55:45,920 --> 00:55:48,079
ego grows and you're like you you're

1705
00:55:48,079 --> 00:55:50,000
smeagle i think i think what happens is

1706
00:55:50,000 --> 00:55:52,160
his success turns a lot of teams into

1707
00:55:52,160 --> 00:55:54,559
smeagles and they sit and go

1708
00:55:54,559 --> 00:55:56,640
yeah and they just they just stroke the

1709
00:55:56,640 --> 00:55:59,520
ring um and don't do anything new with

1710
00:55:59,520 --> 00:56:01,520
it or whatever and i guess that doesn't

1711
00:56:01,520 --> 00:56:02,640
make sense because they're not sitting

1712
00:56:02,640 --> 00:56:03,920
on a pile of money but anyway you got

1713
00:56:03,920 --> 00:56:05,760
what i'm saying what adobe's sitting on

1714
00:56:05,760 --> 00:56:07,280
a pile of money i

1715
00:56:07,280 --> 00:56:09,440
i'll definitely vouch for them for doing

1716
00:56:09,440 --> 00:56:11,200
that i think they're like a 200 when i

1717
00:56:11,200 --> 00:56:12,720
last looked at them like five years ago

1718
00:56:12,720 --> 00:56:15,440
they're like uh like 60 billion like

1719
00:56:15,440 --> 00:56:16,880
like decent size and now they're like

1720
00:56:16,880 --> 00:56:20,079
240 billion and i'm just well

1721
00:56:20,079 --> 00:56:22,319
uh it's a great like these

1722
00:56:22,319 --> 00:56:23,680
you you think you think you know these

1723
00:56:23,680 --> 00:56:25,200
companies and then they they just blow

1724
00:56:25,200 --> 00:56:27,920
past any any form of expectations um

1725
00:56:27,920 --> 00:56:29,760
okay so wait uh a couple couple things

1726
00:56:29,760 --> 00:56:33,119
on this um so one is

1727
00:56:33,119 --> 00:56:35,280
you know i had a i had a app that i

1728
00:56:35,280 --> 00:56:37,280
updated you know there's a i have 200

1729
00:56:37,280 --> 00:56:39,040
apps probably on my phone that i do not

1730
00:56:39,040 --> 00:56:40,000
update

1731
00:56:40,000 --> 00:56:41,839
you know why i don't update them because

1732
00:56:41,839 --> 00:56:43,599
they may they may change

1733
00:56:43,599 --> 00:56:45,119
and i'm scared to change they work fine

1734
00:56:45,119 --> 00:56:47,280
for me right now

1735
00:56:47,280 --> 00:56:49,200
um and i updated one of them and yeah

1736
00:56:49,200 --> 00:56:50,799
now like the old ux is gone and i can't

1737
00:56:50,799 --> 00:56:52,240
get it back

1738
00:56:52,240 --> 00:56:52,880
yeah

1739
00:56:52,880 --> 00:56:54,720
so sometimes like don't fix my aim broke

1740
00:56:54,720 --> 00:56:56,720
you know like if i rely on this for my

1741
00:56:56,720 --> 00:56:59,680
living and my business tools like

1742
00:56:59,680 --> 00:57:02,240
it just makes sense to just keep it

1743
00:57:02,240 --> 00:57:04,720
for the users who were like very used to

1744
00:57:04,720 --> 00:57:06,000
it

1745
00:57:06,000 --> 00:57:07,119
that that means something you know what

1746
00:57:07,119 --> 00:57:09,280
i mean like that yeah that lack of

1747
00:57:09,280 --> 00:57:10,079
change

1748
00:57:10,079 --> 00:57:12,000
actually is a feature sometimes but yeah

1749
00:57:12,000 --> 00:57:13,599
i mean obviously innovation is is

1750
00:57:13,599 --> 00:57:15,760
helpful um you did not want them to

1751
00:57:15,760 --> 00:57:18,400
produce a thigma clone i get it um

1752
00:57:18,400 --> 00:57:20,079
they're probably looking at building a

1753
00:57:20,079 --> 00:57:22,480
webflow or buying woodflow uh it's both

1754
00:57:22,480 --> 00:57:24,400
are both totally possible but i don't

1755
00:57:24,400 --> 00:57:26,079
think it's proven itself yet i don't

1756
00:57:26,079 --> 00:57:28,240
think like designers have like flocked

1757
00:57:28,240 --> 00:57:29,520
to

1758
00:57:29,520 --> 00:57:32,480
webflow like they have to figma

1759
00:57:32,480 --> 00:57:35,040
they've been distracted with um yeah

1760
00:57:35,040 --> 00:57:36,880
design systems and components their

1761
00:57:36,880 --> 00:57:39,440
design tools are competing competing

1762
00:57:39,440 --> 00:57:41,599
in that space to you know make an api

1763
00:57:41,599 --> 00:57:43,200
for all your tokens if you make your

1764
00:57:43,200 --> 00:57:44,960
artboards like this put your squares

1765
00:57:44,960 --> 00:57:46,079
like this and give them a name and

1766
00:57:46,079 --> 00:57:48,319
you'll output an api blah blah blah yeah

1767
00:57:48,319 --> 00:57:49,680
yeah they're over there churning their

1768
00:57:49,680 --> 00:57:52,000
wheels hard uh

1769
00:57:52,000 --> 00:57:54,640
digging holes in my opinion yeah well so

1770
00:57:54,640 --> 00:57:56,480
okay and then there's also the fact that

1771
00:57:56,480 --> 00:57:57,839
like um

1772
00:57:57,839 --> 00:57:59,359
it i think it takes

1773
00:57:59,359 --> 00:58:03,599
a few years for a product to season um

1774
00:58:03,599 --> 00:58:05,119
yeah and

1775
00:58:05,119 --> 00:58:07,440
and like photoshop just uh you know i

1776
00:58:07,440 --> 00:58:08,880
think it's now like there's like the web

1777
00:58:08,880 --> 00:58:10,160
version or like creative cloud or

1778
00:58:10,160 --> 00:58:12,079
whatever like that hasn't been that been

1779
00:58:12,079 --> 00:58:13,839
around that long and it takes a long

1780
00:58:13,839 --> 00:58:15,599
time to reach like the mass population

1781
00:58:15,599 --> 00:58:17,520
again this is the whole concept of like

1782
00:58:17,520 --> 00:58:19,280
you're in the head you evaluated all

1783
00:58:19,280 --> 00:58:20,400
these tools when they came out you're

1784
00:58:20,400 --> 00:58:21,599
like you know the difference between

1785
00:58:21,599 --> 00:58:24,799
them most people don't

1786
00:58:25,839 --> 00:58:27,040
and most people like hear about them

1787
00:58:27,040 --> 00:58:28,240
like five years after they're out

1788
00:58:28,240 --> 00:58:29,359
because like that's that's how long it

1789
00:58:29,359 --> 00:58:30,880
takes to like hear about things you know

1790
00:58:30,880 --> 00:58:32,319
from your friends and stuff

1791
00:58:32,319 --> 00:58:33,280
um

1792
00:58:33,280 --> 00:58:35,839
so you're wanting innovation at a pace

1793
00:58:35,839 --> 00:58:37,440
that like

1794
00:58:37,440 --> 00:58:39,440
most of the country or most of the most

1795
00:58:39,440 --> 00:58:41,920
of the industry doesn't operate on

1796
00:58:41,920 --> 00:58:43,599
so i just want you to norm yourself on

1797
00:58:43,599 --> 00:58:44,480
like

1798
00:58:44,480 --> 00:58:45,599
um

1799
00:58:45,599 --> 00:58:46,640
because you're at the cutting edge of a

1800
00:58:46,640 --> 00:58:48,319
lot of things

1801
00:58:48,319 --> 00:58:49,760
like and maybe it feels like the

1802
00:58:49,760 --> 00:58:50,960
companies are not keeping up to where

1803
00:58:50,960 --> 00:58:52,880
you are but also like

1804
00:58:52,880 --> 00:58:54,079
there's two things like one it makes

1805
00:58:54,079 --> 00:58:55,760
business sense because like you you

1806
00:58:55,760 --> 00:58:56,960
wrote the software it's super expensive

1807
00:58:56,960 --> 00:58:58,079
to write the software you have to kind

1808
00:58:58,079 --> 00:58:59,520
of milk it for a while

1809
00:58:59,520 --> 00:59:01,200
uh second it takes a while for software

1810
00:59:01,200 --> 00:59:02,880
to get out there and get get known by

1811
00:59:02,880 --> 00:59:04,559
people get used and then people build

1812
00:59:04,559 --> 00:59:06,000
their careers on top of this thing and

1813
00:59:06,000 --> 00:59:07,359
then and then you don't want to change

1814
00:59:07,359 --> 00:59:08,559
it because like now you know this thing

1815
00:59:08,559 --> 00:59:10,160
and you're you're working on it just

1816
00:59:10,160 --> 00:59:11,599
fine like don't don't take it away from

1817
00:59:11,599 --> 00:59:14,880
me so um there's a uh so base camp uh do

1818
00:59:14,880 --> 00:59:17,119
you are you familiar with base camp um

1819
00:59:17,119 --> 00:59:20,000
yeah i was an early user uh art anyway

1820
00:59:20,000 --> 00:59:20,799
yeah

1821
00:59:20,799 --> 00:59:22,880
yeah they're one of those companies so i

1822
00:59:22,880 --> 00:59:24,480
think they probably closest model your

1823
00:59:24,480 --> 00:59:25,839
approach where they're every new version

1824
00:59:25,839 --> 00:59:27,520
they throw away the old code base and

1825
00:59:27,520 --> 00:59:29,040
they just rebuild from scratch on the

1826
00:59:29,040 --> 00:59:31,520
first principles um the old code base

1827
00:59:31,520 --> 00:59:32,960
still runs

1828
00:59:32,960 --> 00:59:34,160
and any customer that still wants to

1829
00:59:34,160 --> 00:59:35,920
stay on it can stay on it for for

1830
00:59:35,920 --> 00:59:37,440
eternity

1831
00:59:37,440 --> 00:59:38,720
so i think that that's a really nice

1832
00:59:38,720 --> 00:59:39,760
balance

1833
00:59:39,760 --> 00:59:40,640
of

1834
00:59:40,640 --> 00:59:42,319
disrupt yourself

1835
00:59:42,319 --> 00:59:44,160
but don't break the workflows of your

1836
00:59:44,160 --> 00:59:45,680
people who rely i definitely don't want

1837
00:59:45,680 --> 00:59:47,440
i don't want you know chrome to stop

1838
00:59:47,440 --> 00:59:49,920
making chrome or photoshop yeah

1839
00:59:49,920 --> 00:59:51,119
that's not what i'm suggesting i'm

1840
00:59:51,119 --> 00:59:53,520
suggesting roll your roll your excess

1841
00:59:53,520 --> 00:59:55,119
money that's apparent like obviously

1842
00:59:55,119 --> 00:59:56,880
covering your bills and

1843
00:59:56,880 --> 00:59:59,839
come up with something new

1844
00:59:59,839 --> 01:00:01,920
and yeah what do you think fix all fix

1845
01:00:01,920 --> 01:00:03,839
all the things that you noticed uh are

1846
01:00:03,839 --> 01:00:05,520
wrong after you've built this product

1847
01:00:05,520 --> 01:00:07,200
because naturally after you're done

1848
01:00:07,200 --> 01:00:09,440
hardening a tool and building it v2

1849
01:00:09,440 --> 01:00:12,240
looks so clear and after you build v2 v3

1850
01:00:12,240 --> 01:00:15,440
looks so clear and so that's also the

1851
01:00:15,440 --> 01:00:16,640
other thing because

1852
01:00:16,640 --> 01:00:18,160
okay like we have frameworks that update

1853
01:00:18,160 --> 01:00:20,319
all the time and they kind yeah i guess

1854
01:00:20,319 --> 01:00:21,839
the old one always works like you just

1855
01:00:21,839 --> 01:00:23,440
go get the old code but

1856
01:00:23,440 --> 01:00:25,839
um yeah i definitely don't want to see

1857
01:00:25,839 --> 01:00:28,400
old versions breaking i just want to see

1858
01:00:28,400 --> 01:00:31,119
the um the original fire and spark of a

1859
01:00:31,119 --> 01:00:32,880
team

1860
01:00:32,880 --> 01:00:35,040
just trying new stuff with this

1861
01:00:35,040 --> 01:00:36,960
excess funds it's just like i don't know

1862
01:00:36,960 --> 01:00:39,280
that's just what i would do i guess um

1863
01:00:39,280 --> 01:00:40,880
there's a there's an old money effect

1864
01:00:40,880 --> 01:00:42,480
you know once you've made your

1865
01:00:42,480 --> 01:00:45,599
major reputation major wealth whatever

1866
01:00:45,599 --> 01:00:47,520
you're not as hungry anymore

1867
01:00:47,520 --> 01:00:48,720
that's what i mean yeah that's what i

1868
01:00:48,720 --> 01:00:50,960
was saying yes earlier i was like yeah

1869
01:00:50,960 --> 01:00:52,799
i just imagine i would still have the

1870
01:00:52,799 --> 01:00:54,480
hunger and that's when i'm like how come

1871
01:00:54,480 --> 01:00:57,839
other people lose the hunger

1872
01:00:58,240 --> 01:00:59,599
okay so

1873
01:00:59,599 --> 01:01:01,520
one more thing so you

1874
01:01:01,520 --> 01:01:03,119
uh you're just focusing on web design

1875
01:01:03,119 --> 01:01:05,680
you st you work on your own tool

1876
01:01:05,680 --> 01:01:06,559
uh

1877
01:01:06,559 --> 01:01:07,839
would you ever spend that out i mean it

1878
01:01:07,839 --> 01:01:09,520
sounds like you you feel like there's a

1879
01:01:09,520 --> 01:01:11,119
there's a need here

1880
01:01:11,119 --> 01:01:14,240
oh visbog this book is more like

1881
01:01:14,240 --> 01:01:16,480
firebug and devtools than it is a

1882
01:01:16,480 --> 01:01:19,680
creation tool um like creating in the

1883
01:01:19,680 --> 01:01:20,799
browser

1884
01:01:20,799 --> 01:01:22,880
okay really is something different than

1885
01:01:22,880 --> 01:01:24,559
creating a design tool and it would need

1886
01:01:24,559 --> 01:01:26,160
to facilitate some really different

1887
01:01:26,160 --> 01:01:28,319
flows so yeah vis bug just

1888
01:01:28,319 --> 01:01:30,319
can inspect whatever is built anywhere

1889
01:01:30,319 --> 01:01:32,319
it's just like oh is there a

1890
01:01:32,319 --> 01:01:34,160
web page here i'll tell you everything i

1891
01:01:34,160 --> 01:01:36,559
can about it just put me on the page um

1892
01:01:36,559 --> 01:01:38,000
but and it will allow you to copy and

1893
01:01:38,000 --> 01:01:39,599
paste you can hit command d and

1894
01:01:39,599 --> 01:01:41,119
duplicate so if you want to see what

1895
01:01:41,119 --> 01:01:43,119
your layout looks like with nine cards

1896
01:01:43,119 --> 01:01:44,640
instead of three just click on hit

1897
01:01:44,640 --> 01:01:46,799
command d seven times uh so it can help

1898
01:01:46,799 --> 01:01:47,839
you like

1899
01:01:47,839 --> 01:01:50,319
edit text and do this like chaos testing

1900
01:01:50,319 --> 01:01:52,240
and you know stress testing it can also

1901
01:01:52,240 --> 01:01:54,079
change colors and delete i don't know it

1902
01:01:54,079 --> 01:01:56,720
does all sorts of things but it does not

1903
01:01:56,720 --> 01:01:59,359
start from blank and begin although you

1904
01:01:59,359 --> 01:02:00,720
can kind of cheat like if someone really

1905
01:02:00,720 --> 01:02:02,079
wanted to flex fizzbug they could

1906
01:02:02,079 --> 01:02:03,760
definitely do that because visbo can

1907
01:02:03,760 --> 01:02:05,760
copy styles off of anything you select

1908
01:02:05,760 --> 01:02:07,359
so you could go to a page

1909
01:02:07,359 --> 01:02:09,119
uh copy the styles paste them somewhere

1910
01:02:09,119 --> 01:02:11,359
else like i have a tweet where i go to a

1911
01:02:11,359 --> 01:02:14,400
web page i go to web download oh yeah

1912
01:02:14,400 --> 01:02:16,000
here let me see if i can find it i like

1913
01:02:16,000 --> 01:02:17,119
bringing things up on screen so that

1914
01:02:17,119 --> 01:02:19,359
people can follow along yeah that's cool

1915
01:02:19,359 --> 01:02:21,119
um and also like you know some people

1916
01:02:21,119 --> 01:02:23,760
your way but also i think um

1917
01:02:23,760 --> 01:02:25,599
yeah you know i wanted to

1918
01:02:25,599 --> 01:02:27,839
publish to nutify and i never figured

1919
01:02:27,839 --> 01:02:29,680
out the apis because like basically i

1920
01:02:29,680 --> 01:02:31,119
had oh yeah we did we were hacking on

1921
01:02:31,119 --> 01:02:33,280
that together huh yeah i had to do file

1922
01:02:33,280 --> 01:02:35,200
upload from extensions and i could not

1923
01:02:35,200 --> 01:02:36,160
figure out how to do that i don't think

1924
01:02:36,160 --> 01:02:38,000
i had the ability to do that

1925
01:02:38,000 --> 01:02:39,760
and the on the notify thing only only

1926
01:02:39,760 --> 01:02:41,599
allowed file upload

1927
01:02:41,599 --> 01:02:42,640
um

1928
01:02:42,640 --> 01:02:44,799
so yeah i kind of left it i didn't i

1929
01:02:44,799 --> 01:02:47,359
didn't figure out how to do it

1930
01:02:47,359 --> 01:02:49,760
i just sent you one there's a couple you

1931
01:02:49,760 --> 01:02:51,200
did more

1932
01:02:51,200 --> 01:02:52,960
okay got it

1933
01:02:52,960 --> 01:02:55,359
um

1934
01:02:57,119 --> 01:02:58,319
the codepen ones because i just

1935
01:02:58,319 --> 01:02:59,760
literally like in the codepen when i

1936
01:02:59,760 --> 01:03:02,160
literally just like take html and css go

1937
01:03:02,160 --> 01:03:03,920
to codepen and i paste them and it just

1938
01:03:03,920 --> 01:03:05,440
works

1939
01:03:05,440 --> 01:03:06,960
i love it

1940
01:03:06,960 --> 01:03:08,559
that that makes like

1941
01:03:08,559 --> 01:03:10,240
that makes the web like remixable you

1942
01:03:10,240 --> 01:03:11,520
know there's this whole

1943
01:03:11,520 --> 01:03:12,799
yes

1944
01:03:12,799 --> 01:03:14,000
term

1945
01:03:14,000 --> 01:03:16,319
um

1946
01:03:16,319 --> 01:03:18,880
here okay i don't see anyone anything

1947
01:03:18,880 --> 01:03:20,400
else that you sent me so if you if you

1948
01:03:20,400 --> 01:03:22,000
did i haven't sent it yet i'm trying to

1949
01:03:22,000 --> 01:03:23,680
find the code this is the one

1950
01:03:23,680 --> 01:03:24,720
so

1951
01:03:24,720 --> 01:03:27,520
facebook lifts and shift inline svg

1952
01:03:27,520 --> 01:03:29,280
you click on the thing

1953
01:03:29,280 --> 01:03:30,799
and then

1954
01:03:30,799 --> 01:03:32,559
go to codepen oh yeah you paste it oh

1955
01:03:32,559 --> 01:03:34,400
this is the codepen one oh well i just

1956
01:03:34,400 --> 01:03:36,640
started a new codepen oh here it is

1957
01:03:36,640 --> 01:03:38,160
great

1958
01:03:38,160 --> 01:03:40,400
boom

1959
01:03:41,440 --> 01:03:42,960
oh that one just does the svg though

1960
01:03:42,960 --> 01:03:44,400
okay so yeah so that's one thing visible

1961
01:03:44,400 --> 01:03:46,480
can do you don't have to wait for like a

1962
01:03:46,480 --> 01:03:48,960
um a copy button on inline svg you could

1963
01:03:48,960 --> 01:03:51,119
go to netlify or tailwind and all their

1964
01:03:51,119 --> 01:03:52,960
rad svg they have there you can just go

1965
01:03:52,960 --> 01:03:54,160
copy it just

1966
01:03:54,160 --> 01:03:56,839
it's mine yeah

1967
01:03:56,839 --> 01:03:59,119
yeah um i don't see either one but yeah

1968
01:03:59,119 --> 01:04:01,440
i went to web.dev and lifted a button oh

1969
01:04:01,440 --> 01:04:02,880
yeah i stole all of the button off of

1970
01:04:02,880 --> 01:04:05,280
the page i just took the html i pasted

1971
01:04:05,280 --> 01:04:07,119
it i took the styles and i pasted it and

1972
01:04:07,119 --> 01:04:09,200
i had the exact same button just in not

1973
01:04:09,200 --> 01:04:10,480
the font because i didn't have the font

1974
01:04:10,480 --> 01:04:12,160
imported

1975
01:04:12,160 --> 01:04:15,520
you see that's a reusable button

1976
01:04:15,680 --> 01:04:16,720
that's actually what i'm trying to tell

1977
01:04:16,720 --> 01:04:18,319
designers to do is i'm just basically

1978
01:04:18,319 --> 01:04:20,079
like stop recreating the button in a

1979
01:04:20,079 --> 01:04:22,240
design tool go use your production

1980
01:04:22,240 --> 01:04:24,480
website as an artboard you don't need to

1981
01:04:24,480 --> 01:04:26,240
recreate the page anymore go to the

1982
01:04:26,240 --> 01:04:27,839
product you work on and edit it and

1983
01:04:27,839 --> 01:04:29,760
express yourself in a familiar way that

1984
01:04:29,760 --> 01:04:31,039
you're doing a design tool take a

1985
01:04:31,039 --> 01:04:32,400
screenshot and tell the developers

1986
01:04:32,400 --> 01:04:34,559
that's what i want

1987
01:04:34,559 --> 01:04:36,880
yeah yeah that that would be

1988
01:04:36,880 --> 01:04:38,400
that'd be next level

1989
01:04:38,400 --> 01:04:39,280
yeah

1990
01:04:39,280 --> 01:04:42,079
um cool man uh i mean that was that was

1991
01:04:42,079 --> 01:04:43,839
about the the list of topics that we

1992
01:04:43,839 --> 01:04:46,000
prepared uh you know and i wanted you to

1993
01:04:46,000 --> 01:04:48,240
plug this back a bit so i kind of oh

1994
01:04:48,240 --> 01:04:49,920
thanks i was like oh this is nice that's

1995
01:04:49,920 --> 01:04:52,480
coming up i know right um but is there

1996
01:04:52,480 --> 01:04:53,760
anything else you want you want people

1997
01:04:53,760 --> 01:04:56,240
to you want to plug you want people to

1998
01:04:56,240 --> 01:04:58,000
uh like you know what's your what's your

1999
01:04:58,000 --> 01:04:59,920
message to to people that you wish uh if

2000
01:04:59,920 --> 01:05:01,280
you could wave a magic wand everyone

2001
01:05:01,280 --> 01:05:02,880
would do

2002
01:05:02,880 --> 01:05:05,599
oh um

2003
01:05:06,240 --> 01:05:09,039
this which is um the next time

2004
01:05:09,039 --> 01:05:11,200
you're in typescript or in javascript

2005
01:05:11,200 --> 01:05:12,960
and um

2006
01:05:12,960 --> 01:05:14,000
you're banging your head again or maybe

2007
01:05:14,000 --> 01:05:15,839
you're in rust maybe whatever language

2008
01:05:15,839 --> 01:05:16,960
you're in

2009
01:05:16,960 --> 01:05:18,640
and you're banging your head against it

2010
01:05:18,640 --> 01:05:20,480
and you're stuck

2011
01:05:20,480 --> 01:05:22,960
um i want you to remember how you feel

2012
01:05:22,960 --> 01:05:24,640
and then next time it happens to you in

2013
01:05:24,640 --> 01:05:25,839
css

2014
01:05:25,839 --> 01:05:27,440
don't be so frustrated

2015
01:05:27,440 --> 01:05:29,359
just know that every language you work

2016
01:05:29,359 --> 01:05:31,760
in you're not perfect and you will plunk

2017
01:05:31,760 --> 01:05:33,920
around like a bowling ball between the

2018
01:05:33,920 --> 01:05:35,680
rails until you hit the end and it

2019
01:05:35,680 --> 01:05:37,119
doesn't matter what language you're in

2020
01:05:37,119 --> 01:05:38,799
you do the same thing

2021
01:05:38,799 --> 01:05:41,359
in all of them so

2022
01:05:41,359 --> 01:05:43,839
css is hard um and maybe people think

2023
01:05:43,839 --> 01:05:46,079
it's below them because it's just boxes

2024
01:05:46,079 --> 01:05:48,000
but some you know maybe you think your

2025
01:05:48,000 --> 01:05:49,920
math functions on the you know your

2026
01:05:49,920 --> 01:05:50,799
server

2027
01:05:50,799 --> 01:05:52,240
functions running on the edge are so

2028
01:05:52,240 --> 01:05:53,920
cool but it's all just a place where

2029
01:05:53,920 --> 01:05:55,680
you're trying to get a task done and

2030
01:05:55,680 --> 01:05:57,200
you're not a superhero so you don't do

2031
01:05:57,200 --> 01:06:00,319
it right the first time and it's okay

2032
01:06:00,319 --> 01:06:03,520
it's very bob ross of you

2033
01:06:03,599 --> 01:06:05,039
it's like yeah you may make some

2034
01:06:05,039 --> 01:06:06,720
mistakes it's okay it's happy little

2035
01:06:06,720 --> 01:06:09,920
accident uh and also but also uh i would

2036
01:06:09,920 --> 01:06:11,680
do on a feature that cs has just got a

2037
01:06:11,680 --> 01:06:13,440
whole bunch of math functions right you

2038
01:06:13,440 --> 01:06:15,599
can do some really sciency things yeah

2039
01:06:15,599 --> 01:06:17,280
cosine and all that good stuff yeah i'm

2040
01:06:17,280 --> 01:06:19,680
not i'm never using it but it's cool

2041
01:06:19,680 --> 01:06:20,799
yeah i don't think i'll use much of it

2042
01:06:20,799 --> 01:06:22,000
either maybe if i'm like doing a

2043
01:06:22,000 --> 01:06:23,520
rotation and i'm trying to be fancy

2044
01:06:23,520 --> 01:06:25,039
usually i have to google all the math

2045
01:06:25,039 --> 01:06:26,559
stuff i'm like the math stuff is solved

2046
01:06:26,559 --> 01:06:28,160
you know i want an arc okay who's got

2047
01:06:28,160 --> 01:06:30,079
the arc math i'll go take it

2048
01:06:30,079 --> 01:06:31,359
um

2049
01:06:31,359 --> 01:06:33,359
yeah nice i do have two shows to pitch

2050
01:06:33,359 --> 01:06:35,119
though if i want to plug i have plugs

2051
01:06:35,119 --> 01:06:36,960
which is gooey challenges on youtube on

2052
01:06:36,960 --> 01:06:38,240
youtube um

2053
01:06:38,240 --> 01:06:40,640
every month i release a blog post and a

2054
01:06:40,640 --> 01:06:42,640
youtube video that i explain and break

2055
01:06:42,640 --> 01:06:43,440
down

2056
01:06:43,440 --> 01:06:44,480
um

2057
01:06:44,480 --> 01:06:46,799
a component that i build and i build it

2058
01:06:46,799 --> 01:06:49,200
in an agnostic to any framework i just

2059
01:06:49,200 --> 01:06:50,079
sort of

2060
01:06:50,079 --> 01:06:52,000
um build it in html css and javascript

2061
01:06:52,000 --> 01:06:53,119
i'm like here you can take this anywhere

2062
01:06:53,119 --> 01:06:54,720
you want any framework go make it fit

2063
01:06:54,720 --> 01:06:56,079
into your architecture but here's the

2064
01:06:56,079 --> 01:06:57,839
goals you know the goals are it needs to

2065
01:06:57,839 --> 01:07:00,400
be interactive this way and it needs to

2066
01:07:00,400 --> 01:07:01,599
have this feature and i talk about

2067
01:07:01,599 --> 01:07:03,359
accessibility and how i do it and then i

2068
01:07:03,359 --> 01:07:05,119
open source the code and yeah i have a

2069
01:07:05,119 --> 01:07:06,559
blog post that goes in really deep about

2070
01:07:06,559 --> 01:07:09,200
it um and i like that show it's a good

2071
01:07:09,200 --> 01:07:10,160
way for

2072
01:07:10,160 --> 01:07:12,000
people to see that it's just thinking on

2073
01:07:12,000 --> 01:07:14,960
ways to solve things like i don't think

2074
01:07:14,960 --> 01:07:16,720
i don't think people would be happy if

2075
01:07:16,720 --> 01:07:19,599
there was only one way to do stuff

2076
01:07:19,599 --> 01:07:21,280
i think that's why the web is succeeding

2077
01:07:21,280 --> 01:07:23,520
is it's weird and it's quirky a url

2078
01:07:23,520 --> 01:07:24,960
could be anything at the end of it when

2079
01:07:24,960 --> 01:07:26,480
an app you load an app and you're like

2080
01:07:26,480 --> 01:07:28,079
oh i'm probably going to see bottom tabs

2081
01:07:28,079 --> 01:07:29,599
and probably see this

2082
01:07:29,599 --> 01:07:31,200
and i think that's exciting and so it's

2083
01:07:31,200 --> 01:07:34,400
trying to empower people to um

2084
01:07:34,400 --> 01:07:35,599
just

2085
01:07:35,599 --> 01:07:37,760
be okay with being expressive about how

2086
01:07:37,760 --> 01:07:39,200
you want to do stuff like there's a lot

2087
01:07:39,200 --> 01:07:40,839
of style that even goes into

2088
01:07:40,839 --> 01:07:43,200
accessibility um and people don't talk

2089
01:07:43,200 --> 01:07:44,640
about that they make accessibility sound

2090
01:07:44,640 --> 01:07:46,319
like there's one way to do it i'm like i

2091
01:07:46,319 --> 01:07:48,319
don't know every time i do it there's

2092
01:07:48,319 --> 01:07:50,000
different things and different smart

2093
01:07:50,000 --> 01:07:52,400
little so anyway i bake a lot of that

2094
01:07:52,400 --> 01:07:54,079
information into that show and then the

2095
01:07:54,079 --> 01:07:56,480
css css podcast

2096
01:07:56,480 --> 01:07:58,000
really makes

2097
01:07:58,000 --> 01:07:59,839
it illuminates the computer science

2098
01:07:59,839 --> 01:08:02,720
behind css where we break down you know

2099
01:08:02,720 --> 01:08:04,160
uh the functions that we they're pretty

2100
01:08:04,160 --> 01:08:05,520
much all pure functions we talk about

2101
01:08:05,520 --> 01:08:07,839
the functions that run client-side

2102
01:08:07,839 --> 01:08:09,440
and take parameters they're just like

2103
01:08:09,440 --> 01:08:11,039
javascript um

2104
01:08:11,039 --> 01:08:13,520
and they're typed css is typed you know

2105
01:08:13,520 --> 01:08:15,599
we go into the color as a type and sizes

2106
01:08:15,599 --> 01:08:17,198
and links or types and

2107
01:08:17,198 --> 01:08:18,000
um

2108
01:08:18,000 --> 01:08:19,600
and anyway i think it will help anyone

2109
01:08:19,600 --> 01:08:21,679
with their perspective of css and feel

2110
01:08:21,679 --> 01:08:23,279
more comfortable just sort of

2111
01:08:23,279 --> 01:08:25,040
um being in that world so yeah those are

2112
01:08:25,040 --> 01:08:27,120
my plugs uh thanks you've really let me

2113
01:08:27,120 --> 01:08:28,799
share those hang on you said you had a

2114
01:08:28,799 --> 01:08:30,319
second show

2115
01:08:30,319 --> 01:08:32,960
you had two shows what's the css podcast

2116
01:08:32,960 --> 01:08:36,399
oh yeah okay got it yeah i enjoy that

2117
01:08:36,399 --> 01:08:38,880
i love i love how uh salvi hao is a

2118
01:08:38,880 --> 01:08:40,640
friend of mine from singapore and he

2119
01:08:40,640 --> 01:08:41,520
does

2120
01:08:41,520 --> 01:08:42,960
uh the whole pick up what you put down

2121
01:08:42,960 --> 01:08:45,040
thing that i preach which is essentially

2122
01:08:45,040 --> 01:08:46,799
he goes over and actually

2123
01:08:46,799 --> 01:08:48,640
demonstrates show notes and so he's

2124
01:08:48,640 --> 01:08:50,960
learning it along but everyone else can

2125
01:08:50,960 --> 01:08:53,600
learn with him so i really like it um i

2126
01:08:53,600 --> 01:08:55,198
have to admit it's hard to follow when

2127
01:08:55,198 --> 01:08:57,040
you mouth blog but

2128
01:08:57,040 --> 01:08:58,319
uh

2129
01:08:58,319 --> 01:08:59,759
at least at least i know like you see

2130
01:08:59,759 --> 01:09:01,839
this is a map right like here are all

2131
01:09:01,839 --> 01:09:04,080
the things that you know the the two css

2132
01:09:04,080 --> 01:09:06,238
developer advocates at chrome uh thought

2133
01:09:06,238 --> 01:09:08,238
it was worth knowing and you covered the

2134
01:09:08,238 --> 01:09:10,640
the topics and you you called out the

2135
01:09:10,640 --> 01:09:11,839
things that

2136
01:09:11,839 --> 01:09:14,000
you took for granted or maybe you like

2137
01:09:14,000 --> 01:09:16,158
found out as you as you covered the spec

2138
01:09:16,158 --> 01:09:20,000
again like this is super valuable

2139
01:09:20,000 --> 01:09:21,279
thanks sean and that's definitely what

2140
01:09:21,279 --> 01:09:23,040
we do that's a good description of a map

2141
01:09:23,040 --> 01:09:25,120
that's mapping territories um and we

2142
01:09:25,120 --> 01:09:27,040
have more territories that are sort of

2143
01:09:27,040 --> 01:09:27,920
un

2144
01:09:27,920 --> 01:09:29,600
undocumented right now and we'll get

2145
01:09:29,600 --> 01:09:32,158
those out sometime next year but

2146
01:09:32,158 --> 01:09:34,000
um yeah we've got a pretty good coverage

2147
01:09:34,000 --> 01:09:37,198
of the core css in that show

2148
01:09:37,198 --> 01:09:38,960
yeah it's really it's really great um

2149
01:09:38,960 --> 01:09:41,279
all right perfect um thanks for thanks

2150
01:09:41,279 --> 01:09:42,399
for doing this i know it's like kind of

2151
01:09:42,399 --> 01:09:43,679
like an awkward thing and i know i

2152
01:09:43,679 --> 01:09:45,120
really wanted to do an in-person thing

2153
01:09:45,120 --> 01:09:47,198
and let's see

2154
01:09:47,198 --> 01:09:49,198
dogs coming around and you see all the

2155
01:09:49,198 --> 01:09:50,960
kids toys everywhere and all my plants i

2156
01:09:50,960 --> 01:09:53,359
have a lot of plants um but you'll see

2157
01:09:53,359 --> 01:09:54,320
them later

2158
01:09:54,320 --> 01:09:56,320
yeah i'll come over sometime we have to

2159
01:09:56,320 --> 01:09:59,360
do this um seattle meetup um but hey

2160
01:09:59,360 --> 01:10:01,840
thanks thanks for uh thanks for chatting

2161
01:10:01,840 --> 01:10:05,159
alright i'm gonna