WEBVTT

1
00:00:06.160 --> 00:00:09.839
<v Speaker 1>Hey, everyone, Welcome to another episode of React Round Up.

2
00:00:10.080 --> 00:00:12.839
<v Speaker 1>I will be your host today, Paige Nee Dringhouse, and

3
00:00:12.880 --> 00:00:15.000
<v Speaker 1>we are joined by one of our panelists, TJ.

4
00:00:15.160 --> 00:00:15.560
<v Speaker 2>Van Tool.

5
00:00:15.759 --> 00:00:18.719
<v Speaker 1>Here everyone, and our special guest for today is Katherine

6
00:00:18.800 --> 00:00:22.440
<v Speaker 1>Grayson NaN's Katherine, Do you want to introduce yourself and

7
00:00:22.519 --> 00:00:26.120
<v Speaker 1>tell us a little bit about why you're famous? Absolutely?

8
00:00:26.359 --> 00:00:28.160
<v Speaker 3>First out, thank you so much for having me. I'm

9
00:00:28.199 --> 00:00:29.960
<v Speaker 3>super excited to be here.

10
00:00:30.120 --> 00:00:33.079
<v Speaker 1>I am a senior front end engineer at threat Connect

11
00:00:33.240 --> 00:00:36.799
<v Speaker 1>and I'm here today talk about component libraries. That's been

12
00:00:37.200 --> 00:00:40.039
<v Speaker 1>kind of my jam recently, a place that I've really enjoyed,

13
00:00:40.159 --> 00:00:43.399
<v Speaker 1>kind of working, getting to combine some of the skills

14
00:00:43.439 --> 00:00:47.799
<v Speaker 1>from my design background with some of the technical aspects

15
00:00:47.799 --> 00:00:50.719
<v Speaker 1>of being a friend end engineer. It's kind of been

16
00:00:50.840 --> 00:00:53.920
<v Speaker 1>a niche I've found that I've really enjoyed and gotten

17
00:00:53.920 --> 00:00:56.600
<v Speaker 1>the chance to give a couple talks on and build

18
00:00:56.600 --> 00:01:00.560
<v Speaker 1>a couple libraries at a couple different companies. Now excited

19
00:01:00.600 --> 00:01:05.079
<v Speaker 1>to share that's actually really interesting. I have used a

20
00:01:05.159 --> 00:01:10.560
<v Speaker 1>number of component libraries Bootstrap, ant design material, UI. How

21
00:01:10.560 --> 00:01:13.439
<v Speaker 1>do you actually go about building a library? Though? That

22
00:01:13.680 --> 00:01:18.280
<v Speaker 1>is that seems like a pretty large undertaking. It is

23
00:01:18.519 --> 00:01:20.480
<v Speaker 1>and I think it's worth saying first that it's not

24
00:01:20.560 --> 00:01:23.760
<v Speaker 1>an undertaking that everyone needs to do. Like you said,

25
00:01:23.760 --> 00:01:26.879
<v Speaker 1>there are a lot of really great libraries that really exist,

26
00:01:26.959 --> 00:01:30.079
<v Speaker 1>and if you're just getting something off the ground or

27
00:01:30.319 --> 00:01:32.760
<v Speaker 1>really trying to iterate quickly, then there's a lot of

28
00:01:32.840 --> 00:01:36.480
<v Speaker 1>value in material design or ant design, they're good libraries.

29
00:01:37.239 --> 00:01:40.599
<v Speaker 1>But it's also true that if you are at a

30
00:01:40.680 --> 00:01:44.200
<v Speaker 1>larger company, or you have an application that has some

31
00:01:44.239 --> 00:01:47.319
<v Speaker 1>different requirements or has a lot of custom components that

32
00:01:47.359 --> 00:01:50.480
<v Speaker 1>you find yourself using and reusing that might go beyond

33
00:01:50.519 --> 00:01:53.799
<v Speaker 1>your basics, your button, your drop down, then it can

34
00:01:53.799 --> 00:01:56.280
<v Speaker 1>be beneficial to have all of those in one place.

35
00:01:56.560 --> 00:02:01.040
<v Speaker 1>Really get to control the design, control puts, the props

36
00:02:01.040 --> 00:02:04.040
<v Speaker 1>that are passed in, getting to handle all the things

37
00:02:04.040 --> 00:02:06.799
<v Speaker 1>that are kind of custom to your library. And you

38
00:02:06.879 --> 00:02:07.359
<v Speaker 1>forgive me, you.

39
00:02:07.359 --> 00:02:09.439
<v Speaker 3>Know, as I said, inputs, which is because I've swapped

40
00:02:09.639 --> 00:02:12.159
<v Speaker 3>recently this new job. We're working in Angular, which I

41
00:02:12.199 --> 00:02:16.439
<v Speaker 3>know is probably heresy to say on the reactor. So

42
00:02:16.479 --> 00:02:18.280
<v Speaker 3>I'm in the weird place now where I'm using all

43
00:02:18.280 --> 00:02:20.240
<v Speaker 3>the React terms when I talk about Angular, and now

44
00:02:20.280 --> 00:02:23.800
<v Speaker 3>using all the Angular terms when I talk about React, messing.

45
00:02:23.560 --> 00:02:28.159
<v Speaker 2>Up both that actually gets me into question like how

46
00:02:28.240 --> 00:02:30.520
<v Speaker 2>deep when you like when you say component library, right,

47
00:02:30.599 --> 00:02:33.439
<v Speaker 2>like what specifically are we talking because does does this

48
00:02:33.479 --> 00:02:36.560
<v Speaker 2>actually get into like React code are we talking about

49
00:02:36.639 --> 00:02:39.879
<v Speaker 2>just like CSS and HTML or does it kind of

50
00:02:39.879 --> 00:02:42.759
<v Speaker 2>depend on specifically what you're implementing At least in.

51
00:02:42.719 --> 00:02:46.680
<v Speaker 3>My case, I'm definitely talking about code, so creating those

52
00:02:46.759 --> 00:02:49.960
<v Speaker 3>kinds of custom components, and it does also include jsex

53
00:02:50.000 --> 00:02:54.080
<v Speaker 3>and CSS or whatever your flavor of styling is, sass

54
00:02:54.159 --> 00:02:57.479
<v Speaker 3>or less or whatnot. There are definitely component libraries that

55
00:02:57.560 --> 00:03:01.879
<v Speaker 3>you can create fully in Stigma or your design platform

56
00:03:01.879 --> 00:03:04.039
<v Speaker 3>of choice, and those are valuable in that they help

57
00:03:04.080 --> 00:03:07.800
<v Speaker 3>you narrow down your design style, your colors and your

58
00:03:07.919 --> 00:03:11.840
<v Speaker 3>type faces and really getting that kind of cohesive look happening.

59
00:03:11.960 --> 00:03:14.680
<v Speaker 3>But when it comes to actually being able to reuse

60
00:03:14.719 --> 00:03:18.400
<v Speaker 3>those components that React is just made so well to do,

61
00:03:18.680 --> 00:03:21.319
<v Speaker 3>they can help to actually put those all together into

62
00:03:21.319 --> 00:03:24.560
<v Speaker 3>one shared library and be able to important max building

63
00:03:25.000 --> 00:03:29.800
<v Speaker 3>so fast. So have the libraries that you've built are

64
00:03:29.800 --> 00:03:33.800
<v Speaker 3>they actually built with React? Because I've there's one in

65
00:03:33.960 --> 00:03:36.840
<v Speaker 3>my company that's built with web components, because we have

66
00:03:36.919 --> 00:03:40.080
<v Speaker 3>teams who build with Angular with few with React, and

67
00:03:40.120 --> 00:03:42.599
<v Speaker 3>they wanted something that could kind of work with all

68
00:03:42.639 --> 00:03:45.719
<v Speaker 3>of them, and it's it's okay, but it's been a

69
00:03:45.719 --> 00:03:49.840
<v Speaker 3>little bit painful to implement because it's not actually React code.

70
00:03:49.879 --> 00:03:53.000
<v Speaker 1>So is yours? Like, is it specific to a particular

71
00:03:53.039 --> 00:03:56.159
<v Speaker 1>framework the kinds that you've built. Yes, I've done one

72
00:03:56.280 --> 00:03:58.400
<v Speaker 1>in React and I'm currently in the process of doing

73
00:03:58.439 --> 00:04:00.439
<v Speaker 1>one in Angular. I agree.

74
00:04:00.479 --> 00:04:02.879
<v Speaker 3>If you're in a situation where some of that stuff

75
00:04:02.919 --> 00:04:05.159
<v Speaker 3>needs to be shared across you gain a little, you

76
00:04:05.240 --> 00:04:07.520
<v Speaker 3>lose a little. It's about that kind of compromise.

77
00:04:07.840 --> 00:04:13.159
<v Speaker 1>But if you are just working in one framework, then

78
00:04:13.360 --> 00:04:15.960
<v Speaker 1>it's nice to be able to have that specificity and

79
00:04:16.000 --> 00:04:18.240
<v Speaker 1>really build things in the way that you know exactly

80
00:04:18.279 --> 00:04:19.160
<v Speaker 1>how they'll be used.

81
00:04:19.480 --> 00:04:21.040
<v Speaker 2>So I'm wondering if you could help paint me a

82
00:04:21.079 --> 00:04:24.680
<v Speaker 2>picture of like what using a component library like. Well,

83
00:04:24.720 --> 00:04:27.040
<v Speaker 2>first of all, is this like if for internal usage

84
00:04:27.199 --> 00:04:30.759
<v Speaker 2>or these things you're like publicly documenting. And then then

85
00:04:30.800 --> 00:04:33.199
<v Speaker 2>I'm sort of curious, like what's the use case like internally,

86
00:04:33.279 --> 00:04:35.720
<v Speaker 2>Like I'm I'm an employee, I need to work on

87
00:04:35.759 --> 00:04:37.319
<v Speaker 2>a new app. I need a button, Like what's my

88
00:04:37.399 --> 00:04:40.000
<v Speaker 2>experience like, is it like using like a material or

89
00:04:40.000 --> 00:04:42.120
<v Speaker 2>a design button? There is it a little bit different?

90
00:04:42.160 --> 00:04:44.120
<v Speaker 2>What do I install? And I'm sort of curious about

91
00:04:44.120 --> 00:04:44.879
<v Speaker 2>that sort of stuff.

92
00:04:45.079 --> 00:04:48.319
<v Speaker 1>Yep, for sure. To the first part, whether it's something

93
00:04:48.399 --> 00:04:50.040
<v Speaker 1>you want to share publicly or not, it kind of

94
00:04:50.040 --> 00:04:52.920
<v Speaker 1>depends on the company. I know that that's super common now,

95
00:04:52.920 --> 00:04:54.480
<v Speaker 1>and the idea of like, oh, we'll make it and

96
00:04:54.480 --> 00:04:57.000
<v Speaker 1>we'll open source it and then everyone can use our components,

97
00:04:57.160 --> 00:04:59.160
<v Speaker 1>which is one of those things that I think, honestly

98
00:04:59.639 --> 00:05:03.279
<v Speaker 1>is nicer in theory than in practice. The idea of

99
00:05:03.800 --> 00:05:06.800
<v Speaker 1>sharing your wonderful work with everyone and contributing to the

100
00:05:06.839 --> 00:05:10.240
<v Speaker 1>design world sounds great, but you actually give yourself just

101
00:05:10.279 --> 00:05:13.639
<v Speaker 1>a whole ton of upkeep and new variables to consider

102
00:05:13.879 --> 00:05:16.040
<v Speaker 1>when you're not just building for your own company in

103
00:05:16.079 --> 00:05:18.879
<v Speaker 1>a limited use case that you have probably a stronger

104
00:05:18.959 --> 00:05:21.800
<v Speaker 1>understanding of, right, So you then end up in this

105
00:05:21.839 --> 00:05:24.160
<v Speaker 1>situation where you're like, well, we know that we're going

106
00:05:24.160 --> 00:05:26.600
<v Speaker 1>to use our component this way, but what if someone

107
00:05:26.600 --> 00:05:29.120
<v Speaker 1>else wants to use it in some other way? So

108
00:05:29.160 --> 00:05:31.399
<v Speaker 1>you broad things and you end up kind of creating

109
00:05:31.759 --> 00:05:36.439
<v Speaker 1>I think, less specific and useful components because you're catering

110
00:05:36.480 --> 00:05:38.639
<v Speaker 1>to a potential audience that you don't really know. If

111
00:05:38.639 --> 00:05:39.360
<v Speaker 1>you have yet.

112
00:05:39.720 --> 00:05:42.759
<v Speaker 3>So I would say if you have a library and

113
00:05:43.160 --> 00:05:45.600
<v Speaker 3>you want to eventually go back and open source it,

114
00:05:45.759 --> 00:05:48.240
<v Speaker 3>and especially if you're working somewhere you know, real big,

115
00:05:48.480 --> 00:05:50.800
<v Speaker 3>you hear about kind of the you know, the Airbnbs

116
00:05:50.839 --> 00:05:54.120
<v Speaker 3>of the world or whatever that share THEIRS. But not

117
00:05:54.120 --> 00:05:56.759
<v Speaker 3>not to sound dismissive, but I'm not sure every company

118
00:05:56.800 --> 00:05:59.920
<v Speaker 3>needs to share THEIRS. I think it's a huge accomplishment

119
00:06:00.079 --> 00:06:02.360
<v Speaker 3>and a great thing in and of itself to build

120
00:06:02.399 --> 00:06:05.519
<v Speaker 3>something for your company that suits the needs that you

121
00:06:05.680 --> 00:06:08.160
<v Speaker 3>have and it doesn't need to be global.

122
00:06:08.399 --> 00:06:08.879
<v Speaker 1>Honestly.

123
00:06:09.319 --> 00:06:12.319
<v Speaker 2>Yeah, it's actually some interesting points I didn't consider, because

124
00:06:12.519 --> 00:06:14.600
<v Speaker 2>I mean, the whole idea behind doing this is you're

125
00:06:15.079 --> 00:06:17.839
<v Speaker 2>customizing something more than what you'd find in the general web.

126
00:06:17.920 --> 00:06:20.839
<v Speaker 2>So I could totally see conversations of, well, we want

127
00:06:20.839 --> 00:06:23.160
<v Speaker 2>to bring our logo into this component, but oh wait,

128
00:06:23.279 --> 00:06:26.079
<v Speaker 2>this is like for the open Web, and what if

129
00:06:26.079 --> 00:06:27.680
<v Speaker 2>they don't want our logo? Now we have to make

130
00:06:27.680 --> 00:06:30.399
<v Speaker 2>this generic. And it seems like you get yourself in

131
00:06:30.439 --> 00:06:34.279
<v Speaker 2>the more complexity than you cared for concerns that aren't

132
00:06:34.480 --> 00:06:36.519
<v Speaker 2>specific to your company right away.

133
00:06:36.959 --> 00:06:39.959
<v Speaker 3>Yeah, I will also say my last company, we didn't

134
00:06:40.040 --> 00:06:42.600
<v Speaker 3>share our code publicly. So it was not open source

135
00:06:42.600 --> 00:06:44.800
<v Speaker 3>and that other people could use our library, but we

136
00:06:44.879 --> 00:06:46.879
<v Speaker 3>had shared it publicly so that you could go look

137
00:06:46.920 --> 00:06:48.639
<v Speaker 3>it up online and you could go look at all

138
00:06:48.680 --> 00:06:51.160
<v Speaker 3>of our components and like see the styles, and that

139
00:06:51.240 --> 00:06:54.759
<v Speaker 3>helped us when working with freelancers and explaining things to clients.

140
00:06:54.920 --> 00:06:57.399
<v Speaker 3>We used it a little in fact, for doing some

141
00:06:57.519 --> 00:07:00.600
<v Speaker 3>like quick prototyping and click testing with users, which I'll

142
00:07:00.720 --> 00:07:01.480
<v Speaker 3>circle back.

143
00:07:01.279 --> 00:07:04.079
<v Speaker 1>To because I've got a lot to say on that one,

144
00:07:04.560 --> 00:07:06.600
<v Speaker 1>but it'll I'll track us.

145
00:07:06.759 --> 00:07:09.279
<v Speaker 3>But even then, just knowing that it would be out

146
00:07:09.319 --> 00:07:10.959
<v Speaker 3>there on the web, we ran into some things where

147
00:07:11.000 --> 00:07:13.000
<v Speaker 3>we were like, we're not really sure that we want

148
00:07:13.040 --> 00:07:17.000
<v Speaker 3>to make that even visible, some questions of like IP

149
00:07:17.360 --> 00:07:20.639
<v Speaker 3>or things that were super specific to our app or

150
00:07:20.720 --> 00:07:23.720
<v Speaker 3>things that we wanted people to you know, pay to

151
00:07:23.759 --> 00:07:26.399
<v Speaker 3>have access to, and be like, well, we are we

152
00:07:26.439 --> 00:07:28.639
<v Speaker 3>giving too much away? Are we're showing too much? You

153
00:07:28.720 --> 00:07:32.120
<v Speaker 3>kind of start to walk that line. I think in

154
00:07:32.160 --> 00:07:35.639
<v Speaker 3>addition to that fear of generalizing the components, we ended

155
00:07:35.720 --> 00:07:38.959
<v Speaker 3>up solving it there by basically creating two versions of

156
00:07:38.959 --> 00:07:41.959
<v Speaker 3>the library, like a public and a private. So the

157
00:07:42.040 --> 00:07:44.680
<v Speaker 3>version that we actually put out that you can type

158
00:07:44.680 --> 00:07:47.720
<v Speaker 3>in the URL and see does not include some of

159
00:07:47.759 --> 00:07:51.240
<v Speaker 3>the more private and specific components that we wanted in

160
00:07:51.240 --> 00:07:55.120
<v Speaker 3>the library for developer use but didn't want to be

161
00:07:55.240 --> 00:07:59.600
<v Speaker 3>on the on the global stage. Basically, gotcha, it's really interesting.

162
00:07:59.800 --> 00:08:03.079
<v Speaker 3>So one thing that you mentioned towards the beginning was

163
00:08:03.600 --> 00:08:07.319
<v Speaker 3>when you got to a point of components having very

164
00:08:07.360 --> 00:08:12.240
<v Speaker 3>specific functionalities that you know generally you couldn't find in

165
00:08:12.600 --> 00:08:16.199
<v Speaker 3>like an existing library. So can you give some examples

166
00:08:16.199 --> 00:08:17.240
<v Speaker 3>of what that.

167
00:08:17.120 --> 00:08:20.639
<v Speaker 1>Kind of functionality might be that you that you encountered

168
00:08:20.680 --> 00:08:22.519
<v Speaker 1>that you're like, we just we need to build this

169
00:08:22.639 --> 00:08:26.959
<v Speaker 1>ourselves because nobody else really does something like this currently. Yeah.

170
00:08:27.040 --> 00:08:29.319
<v Speaker 1>I found a lot of those to be a kind

171
00:08:29.319 --> 00:08:32.799
<v Speaker 1>of specific to what your company does and what you're building.

172
00:08:33.240 --> 00:08:36.120
<v Speaker 1>The last company I worked at was a place called Hermann,

173
00:08:36.320 --> 00:08:39.679
<v Speaker 1>and they do what's called a thinking assessment, which is

174
00:08:40.480 --> 00:08:43.279
<v Speaker 1>kind of similar to Myers Briggs, which they'll hate me

175
00:08:43.320 --> 00:08:46.279
<v Speaker 1>saying if they hear this, but where you kind of

176
00:08:46.320 --> 00:08:48.799
<v Speaker 1>take an assessment and then it gives you some information

177
00:08:48.919 --> 00:08:51.440
<v Speaker 1>back about your thinking preferences and how you tend to

178
00:08:51.480 --> 00:08:54.039
<v Speaker 1>problem solve. So let's be a personality thing more of

179
00:08:54.039 --> 00:08:56.440
<v Speaker 1>a thinking thing, but in order to share those results

180
00:08:56.480 --> 00:08:59.639
<v Speaker 1>there's kind of a visual language and even just an

181
00:08:59.639 --> 00:09:03.919
<v Speaker 1>act technical language that's used. There's a specific set of

182
00:09:03.919 --> 00:09:07.279
<v Speaker 1>colors that's used to designate strengths in different areas. Those

183
00:09:07.279 --> 00:09:11.159
<v Speaker 1>things were just so specific to what the Herman platform

184
00:09:11.200 --> 00:09:13.639
<v Speaker 1>needed to communicate that there's no way it wouldn't make

185
00:09:13.679 --> 00:09:16.279
<v Speaker 1>sense for anything like that to be in material design.

186
00:09:16.480 --> 00:09:18.039
<v Speaker 3>But at the same way, there were components we were

187
00:09:18.120 --> 00:09:20.519
<v Speaker 3>using over and over and over again to show people

188
00:09:20.879 --> 00:09:24.960
<v Speaker 3>their strengths, their weaknesses, their dominant you know whatnot the

189
00:09:24.960 --> 00:09:29.360
<v Speaker 3>way their profile broke down, their preferred methods of communication,

190
00:09:30.000 --> 00:09:32.360
<v Speaker 3>the stuff that came up over and over again within

191
00:09:32.399 --> 00:09:36.200
<v Speaker 3>the application that we needed to kind of get down

192
00:09:36.200 --> 00:09:40.000
<v Speaker 3>and codify in that way for the ease of our developers. Yeah,

193
00:09:40.000 --> 00:09:43.120
<v Speaker 3>that totally makes sense when you when you describe it

194
00:09:43.159 --> 00:09:46.080
<v Speaker 3>a little bit. That's really interesting though, So when you

195
00:09:46.399 --> 00:09:49.360
<v Speaker 3>are or have been working on these libraries, are you

196
00:09:49.440 --> 00:09:53.240
<v Speaker 3>building the library and then also building an application that's

197
00:09:53.320 --> 00:09:55.480
<v Speaker 3>using it, or have you been able to like focus

198
00:09:55.519 --> 00:09:57.840
<v Speaker 3>specifically on one or the other, because it seems like

199
00:09:57.879 --> 00:10:00.879
<v Speaker 3>those are two full time jobs by themselves.

200
00:10:02.559 --> 00:10:05.960
<v Speaker 1>Usually it has been more not usually both times, it

201
00:10:06.000 --> 00:10:09.039
<v Speaker 1>has been building both the application and the component.

202
00:10:09.080 --> 00:10:12.679
<v Speaker 3>Library, which I actually think is the right way to

203
00:10:12.720 --> 00:10:15.320
<v Speaker 3>do it. You're right, that is a it's a lot

204
00:10:15.320 --> 00:10:18.519
<v Speaker 3>of work, and I want to be clear that I'm

205
00:10:18.559 --> 00:10:21.799
<v Speaker 3>not the only one contributing to these projects on these teams.

206
00:10:22.120 --> 00:10:24.639
<v Speaker 3>In both cases, I've been kind of the project lean

207
00:10:24.759 --> 00:10:26.799
<v Speaker 3>and I've gotten the opportunity to kind of shape it

208
00:10:26.840 --> 00:10:29.480
<v Speaker 3>and come in with that expertise and say, here's how

209
00:10:29.519 --> 00:10:30.799
<v Speaker 3>we're going to do it. These are the steps we're

210
00:10:30.799 --> 00:10:33.279
<v Speaker 3>going to take. But it would not have been possible

211
00:10:33.320 --> 00:10:36.320
<v Speaker 3>without my teammates and the other folks that were equally

212
00:10:36.320 --> 00:10:38.840
<v Speaker 3>invested in getting it off the ground and in building

213
00:10:38.840 --> 00:10:42.440
<v Speaker 3>components and testing components and filling in that kind of

214
00:10:43.120 --> 00:10:46.480
<v Speaker 3>knowledge and expertise that's needed. But kind of circling back,

215
00:10:46.600 --> 00:10:50.440
<v Speaker 3>I think it's best to work on both, honestly, because

216
00:10:50.480 --> 00:10:52.720
<v Speaker 3>you need to have a feel for how the components

217
00:10:52.720 --> 00:10:55.000
<v Speaker 3>are really going to be used, and you need to

218
00:10:55.039 --> 00:10:57.840
<v Speaker 3>be putting them into use to be able to kind

219
00:10:57.840 --> 00:11:00.559
<v Speaker 3>of validate that they are needed, because a lot of

220
00:11:00.639 --> 00:11:03.360
<v Speaker 3>times when you start you kind of think, oh, I

221
00:11:03.399 --> 00:11:06.960
<v Speaker 3>need all of these components, because you know, material design

222
00:11:07.039 --> 00:11:10.960
<v Speaker 3>has all of these components, but you probably don't need

223
00:11:11.759 --> 00:11:15.240
<v Speaker 3>every single component that's in material design, but you know,

224
00:11:15.720 --> 00:11:18.879
<v Speaker 3>designed to look like your brand. You can pick and

225
00:11:18.960 --> 00:11:22.159
<v Speaker 3>choose things that you'll actually use. You can narrow down

226
00:11:22.879 --> 00:11:26.720
<v Speaker 3>use cases rather than like creating everything and just hoping

227
00:11:26.759 --> 00:11:28.759
<v Speaker 3>it will be used. If you're actually in the application

228
00:11:28.960 --> 00:11:31.320
<v Speaker 3>and you're working with the application code all the time,

229
00:11:31.639 --> 00:11:34.120
<v Speaker 3>you can get a better feel for what's really needed

230
00:11:34.159 --> 00:11:36.399
<v Speaker 3>and what's not needed and what's just going to be

231
00:11:36.759 --> 00:11:38.600
<v Speaker 3>filler that you'll have to maintain forever.

232
00:11:40.679 --> 00:11:44.200
<v Speaker 2>So thinking of the components and developing side by side

233
00:11:44.399 --> 00:11:47.600
<v Speaker 2>with another app, so are these components that live like

234
00:11:47.840 --> 00:11:51.200
<v Speaker 2>in like their own repo sort of thing, and like

235
00:11:51.600 --> 00:11:55.120
<v Speaker 2>is each individual app that your company uses like pulling

236
00:11:55.200 --> 00:11:59.320
<v Speaker 2>them in or there's some other sort of workflow in place.

237
00:12:00.039 --> 00:12:02.120
<v Speaker 3>That is how it's been set up in both cases

238
00:12:02.279 --> 00:12:05.399
<v Speaker 3>is to have them in their own repo that does

239
00:12:05.480 --> 00:12:07.840
<v Speaker 3>kind of come with its own lift that I know

240
00:12:08.240 --> 00:12:10.519
<v Speaker 3>worries a lot of people at first, because again, when

241
00:12:10.559 --> 00:12:12.120
<v Speaker 3>you're starting off, it feels.

242
00:12:11.840 --> 00:12:14.399
<v Speaker 1>Like a huge task to begin with to put together

243
00:12:14.399 --> 00:12:16.240
<v Speaker 1>a component library, and then you have to think about

244
00:12:16.639 --> 00:12:18.320
<v Speaker 1>and I have to have this whole other repo and

245
00:12:18.360 --> 00:12:20.679
<v Speaker 1>how am I going to bundle these things?

246
00:12:20.679 --> 00:12:23.240
<v Speaker 3>But how am I going to export and import. Sometimes

247
00:12:23.320 --> 00:12:26.440
<v Speaker 3>the easier mode is to just have a subfolder in

248
00:12:26.480 --> 00:12:29.200
<v Speaker 3>your application, especially if you've got like a mono repo

249
00:12:29.360 --> 00:12:33.120
<v Speaker 3>thing where all of your applications can kind of share that.

250
00:12:33.120 --> 00:12:35.080
<v Speaker 3>That can be a really great place to just kind

251
00:12:35.080 --> 00:12:36.960
<v Speaker 3>of get your feet wet and to kind of prove

252
00:12:37.320 --> 00:12:40.080
<v Speaker 3>the need for a component library and to get other

253
00:12:40.120 --> 00:12:43.320
<v Speaker 3>people invested, which is a huge, huge, huge, huge part

254
00:12:43.360 --> 00:12:45.919
<v Speaker 3>of the lift. It's just getting other people to see

255
00:12:45.960 --> 00:12:48.440
<v Speaker 3>the value and to get on board with the idea.

256
00:12:48.840 --> 00:12:50.919
<v Speaker 2>Yeah, I'm actually wondering if you could talk a little

257
00:12:50.919 --> 00:12:54.600
<v Speaker 2>bit about like the corporate politics of this, because I

258
00:12:54.720 --> 00:12:57.080
<v Speaker 2>have to imagine, I think Page It's really where you

259
00:12:57.080 --> 00:12:59.559
<v Speaker 2>were maybe going with this too, because like I think

260
00:12:59.639 --> 00:13:01.440
<v Speaker 2>all of us on this call sort of get it

261
00:13:01.519 --> 00:13:03.919
<v Speaker 2>right because we're coming from this sort of background. But

262
00:13:04.519 --> 00:13:07.480
<v Speaker 2>I'm curious if you've had run into problems of trying

263
00:13:07.480 --> 00:13:10.279
<v Speaker 2>to get teams, like especially in larger companies, right you

264
00:13:10.279 --> 00:13:12.679
<v Speaker 2>have different teams doing different things, Like what sort of

265
00:13:12.759 --> 00:13:14.799
<v Speaker 2>issues have you run into trying to get everybody to

266
00:13:15.399 --> 00:13:18.440
<v Speaker 2>use these components, like contribute to them, stay consistent and

267
00:13:18.759 --> 00:13:19.399
<v Speaker 2>that sort of thing.

268
00:13:19.720 --> 00:13:23.159
<v Speaker 3>I think the biggest issue is getting everyone on board

269
00:13:23.159 --> 00:13:26.919
<v Speaker 3>it first. Because most companies, without kind of realizing it,

270
00:13:26.960 --> 00:13:30.320
<v Speaker 3>have started to build a library, without thinking about building

271
00:13:30.320 --> 00:13:33.759
<v Speaker 3>a library, Almost every almost every application I've poked around

272
00:13:33.799 --> 00:13:37.639
<v Speaker 3>and has that shared components folder. That is a good start,

273
00:13:37.919 --> 00:13:40.559
<v Speaker 3>and it's where you should look. And if you start

274
00:13:40.639 --> 00:13:44.399
<v Speaker 3>seeing that get really, really busy, then maybe that's a

275
00:13:44.440 --> 00:13:46.240
<v Speaker 3>sign that a component library can be a good fit

276
00:13:46.279 --> 00:13:49.480
<v Speaker 3>for you. But there's a huge lift in terms of

277
00:13:50.000 --> 00:13:54.200
<v Speaker 3>splitting that stuff off, right, because once you pull those

278
00:13:54.200 --> 00:13:56.399
<v Speaker 3>out into their own repo, you have to make the

279
00:13:56.440 --> 00:13:59.879
<v Speaker 3>decisions in terms of what part of this component needs

280
00:13:59.919 --> 00:14:03.679
<v Speaker 3>to stay, what of this is really business logic it

281
00:14:03.720 --> 00:14:07.799
<v Speaker 3>needs to be in the application versus what's presentational. How

282
00:14:07.840 --> 00:14:10.279
<v Speaker 3>is the refactoring process going to work. How are we

283
00:14:10.320 --> 00:14:15.080
<v Speaker 3>going to handle just getting everything swapped over that first step.

284
00:14:15.279 --> 00:14:18.840
<v Speaker 3>The first steps a doozy, But what I try to

285
00:14:18.879 --> 00:14:22.799
<v Speaker 3>do to get people on board is to really focus

286
00:14:22.840 --> 00:14:25.840
<v Speaker 3>on the outcomes, right and to kind of be realistic

287
00:14:26.000 --> 00:14:28.759
<v Speaker 3>about what that first step is going to be. That

288
00:14:29.279 --> 00:14:32.000
<v Speaker 3>you don't go in with delusions of grandeur that we're

289
00:14:32.000 --> 00:14:33.720
<v Speaker 3>going to have this setup in a week and then.

290
00:14:33.639 --> 00:14:34.440
<v Speaker 1>It'll be amazing.

291
00:14:34.679 --> 00:14:37.759
<v Speaker 3>That this is going to take some upfront effort and

292
00:14:37.799 --> 00:14:40.600
<v Speaker 3>that every small victory kind of along the way is

293
00:14:40.600 --> 00:14:43.440
<v Speaker 3>something that we should celebrate. And in the end, we're

294
00:14:43.440 --> 00:14:46.919
<v Speaker 3>aiming for this goal. We're aiming to have x number

295
00:14:47.000 --> 00:14:50.720
<v Speaker 3>of components in use in the application, and it will

296
00:14:50.720 --> 00:14:53.960
<v Speaker 3>help us in these specific ways. And the more you

297
00:14:53.960 --> 00:14:56.919
<v Speaker 3>can kind of nail down we're making a component library

298
00:14:56.919 --> 00:15:00.960
<v Speaker 3>because we need visual consistency, or we're making a component

299
00:15:01.000 --> 00:15:04.799
<v Speaker 3>library to help us coordinate with the design department, or

300
00:15:04.840 --> 00:15:07.399
<v Speaker 3>to help us do user testing, or to help us

301
00:15:07.960 --> 00:15:11.639
<v Speaker 3>tackle accessibility issues, like the more you can set specific

302
00:15:11.679 --> 00:15:15.000
<v Speaker 3>goals for your company and use the component library as

303
00:15:15.279 --> 00:15:17.879
<v Speaker 3>a path to meet those rather than the component library

304
00:15:17.919 --> 00:15:20.799
<v Speaker 3>being the goal in and of itself, the more you'll

305
00:15:20.840 --> 00:15:23.840
<v Speaker 3>be able to give people on board with kind of

306
00:15:24.240 --> 00:15:26.759
<v Speaker 3>your vision and why you're doing it and help them

307
00:15:27.080 --> 00:15:28.960
<v Speaker 3>see the value in the long game.

308
00:15:29.320 --> 00:15:31.320
<v Speaker 2>I really like that angle because I think every single

309
00:15:31.320 --> 00:15:34.919
<v Speaker 2>company I've ever worked for has had the issue with oh, look,

310
00:15:34.919 --> 00:15:38.639
<v Speaker 2>our header looks different in these eight applications in these ways,

311
00:15:38.720 --> 00:15:41.759
<v Speaker 2>or what do you know, we're using seven different fonds,

312
00:15:42.000 --> 00:15:45.639
<v Speaker 2>or like our button, there's no consistency. So I like

313
00:15:45.679 --> 00:15:48.039
<v Speaker 2>that sort of as an inroad to making the argument

314
00:15:48.200 --> 00:15:50.919
<v Speaker 2>is like it's a path to getting there rather than

315
00:15:51.039 --> 00:15:53.639
<v Speaker 2>just trying to share things for sharing sake.

316
00:15:54.120 --> 00:15:57.879
<v Speaker 3>Yeah, that's definitely, and in fact, that kind of discrepancy

317
00:15:57.879 --> 00:16:00.279
<v Speaker 3>in the UI is one of the first steps I

318
00:16:00.360 --> 00:16:02.200
<v Speaker 3>like to take in terms of sitting people down and

319
00:16:02.240 --> 00:16:05.480
<v Speaker 3>helping them figure out what components will be valuable to

320
00:16:05.519 --> 00:16:08.200
<v Speaker 3>start with, because again, the best thing you can do

321
00:16:08.320 --> 00:16:11.279
<v Speaker 3>is to start to show that value as soon as

322
00:16:11.519 --> 00:16:14.960
<v Speaker 3>humanly possible. As soon as you can start to get.

323
00:16:14.840 --> 00:16:19.000
<v Speaker 1>That ROI on your library, then the more people will

324
00:16:19.039 --> 00:16:21.639
<v Speaker 1>be invested in kind of snowballs, And that's the effect

325
00:16:21.639 --> 00:16:24.399
<v Speaker 1>that you want. I like to encourage people to sit

326
00:16:24.440 --> 00:16:27.679
<v Speaker 1>down and run basically a UI audit on their application,

327
00:16:28.200 --> 00:16:31.360
<v Speaker 1>and to go through and take screenshots of all the

328
00:16:31.399 --> 00:16:33.480
<v Speaker 1>different heads and all the different buttons and all the

329
00:16:33.480 --> 00:16:36.519
<v Speaker 1>different dropdowns, because when you see all of those in

330
00:16:36.559 --> 00:16:39.279
<v Speaker 1>one document next to each other, it's usually enough for

331
00:16:39.360 --> 00:16:42.080
<v Speaker 1>people to go, oh, okay, yeah, I see what you

332
00:16:42.200 --> 00:16:45.440
<v Speaker 1>made me. Maybe we do have a problem. That's where

333
00:16:45.480 --> 00:16:48.639
<v Speaker 1>I can ask, because how would you go about doing

334
00:16:48.639 --> 00:16:51.799
<v Speaker 1>a UI audit if you if you're you've never done

335
00:16:51.799 --> 00:16:54.399
<v Speaker 1>one before, because I have not, so I'd be interested

336
00:16:54.399 --> 00:16:56.799
<v Speaker 1>to learn, like, what are the steps for that? So

337
00:16:56.879 --> 00:16:58.960
<v Speaker 1>credit where credit is do the idea of a UI

338
00:16:59.000 --> 00:17:02.080
<v Speaker 1>audit is Brad rost Okay, so I want to throw

339
00:17:02.120 --> 00:17:04.640
<v Speaker 1>that out there. He's got some really good resources on

340
00:17:05.119 --> 00:17:07.960
<v Speaker 1>running one. But the way that I like to do

341
00:17:08.000 --> 00:17:10.720
<v Speaker 1>it is to basically almost make it like a game,

342
00:17:11.000 --> 00:17:13.680
<v Speaker 1>set some time aside and kind of make some different

343
00:17:13.680 --> 00:17:16.920
<v Speaker 1>categories in like a shared board, like a mirror board

344
00:17:17.039 --> 00:17:20.000
<v Speaker 1>or you know, a Google slidestock, be like, all right,

345
00:17:20.039 --> 00:17:22.240
<v Speaker 1>here's the page for headers, here's the page for buttons.

346
00:17:22.279 --> 00:17:23.920
<v Speaker 1>You're going to go on a scavenger hunt in our

347
00:17:23.960 --> 00:17:27.559
<v Speaker 1>application and take pictures or screenshots of every single one

348
00:17:27.599 --> 00:17:29.839
<v Speaker 1>that you find, and it ends up being it's kind

349
00:17:29.839 --> 00:17:31.680
<v Speaker 1>of a fun thing because you go and everyone's see

350
00:17:31.720 --> 00:17:34.160
<v Speaker 1>yeacking while you do it. And then when you get

351
00:17:34.200 --> 00:17:38.319
<v Speaker 1>that and you have everything documented, you have the woe moment,

352
00:17:38.400 --> 00:17:42.240
<v Speaker 1>which I think is important for everyone to see, like, wow,

353
00:17:42.279 --> 00:17:44.680
<v Speaker 1>we have twenty of these, and then you can really

354
00:17:44.680 --> 00:17:47.079
<v Speaker 1>start to talk through well why do we have twenty

355
00:17:47.079 --> 00:17:49.559
<v Speaker 1>of these? Is this one serving a different purpose than

356
00:17:49.559 --> 00:17:53.200
<v Speaker 1>that one? Does this do something the other one doesn't?

357
00:17:53.440 --> 00:17:55.559
<v Speaker 1>Is there a feature that's a part of this? You know,

358
00:17:55.599 --> 00:17:58.759
<v Speaker 1>both of these look like dropdowns, but one's actually a

359
00:17:58.880 --> 00:18:02.160
<v Speaker 1>multi selector in a list, you know, and we need that,

360
00:18:02.359 --> 00:18:04.640
<v Speaker 1>and that's a separate component that I dropped down, and

361
00:18:04.680 --> 00:18:07.720
<v Speaker 1>that helps you kind of isolate what's happening and where

362
00:18:07.720 --> 00:18:11.160
<v Speaker 1>it's being used and if there was any reason behind

363
00:18:11.160 --> 00:18:14.559
<v Speaker 1>all those different versions, because a lot of times, you know,

364
00:18:14.599 --> 00:18:17.039
<v Speaker 1>we think like, oh, someone was just lazy and coded

365
00:18:17.039 --> 00:18:20.119
<v Speaker 1>their own styles, and there's usually like a bit of that,

366
00:18:21.200 --> 00:18:25.039
<v Speaker 1>but more often it's people trying to solve different use

367
00:18:25.119 --> 00:18:28.240
<v Speaker 1>cases with the skills that they have. So they see

368
00:18:28.240 --> 00:18:30.440
<v Speaker 1>a button and they're like, oh, this button is almost

369
00:18:30.480 --> 00:18:33.680
<v Speaker 1>the same, but I actually also need it to do

370
00:18:33.720 --> 00:18:36.359
<v Speaker 1>something else when it's clicked. So you end up with

371
00:18:36.359 --> 00:18:38.759
<v Speaker 1>a button that looks a little different because they took

372
00:18:38.759 --> 00:18:40.400
<v Speaker 1>a button, but then they tweaked it because it had

373
00:18:40.440 --> 00:18:42.400
<v Speaker 1>to do this other thing, and then you hit up

374
00:18:42.400 --> 00:18:43.200
<v Speaker 1>with twenty buttons.

375
00:18:44.839 --> 00:18:46.599
<v Speaker 2>Wondering could you talk a little bit about some of

376
00:18:46.599 --> 00:18:49.119
<v Speaker 2>the tools you use for making this sort of thing

377
00:18:49.279 --> 00:18:52.720
<v Speaker 2>possible as well? Or is this just quite literally you

378
00:18:52.759 --> 00:18:55.680
<v Speaker 2>have like my company component library and then like a

379
00:18:55.720 --> 00:18:58.000
<v Speaker 2>folder for each components. Are you using things to sort

380
00:18:58.000 --> 00:18:59.039
<v Speaker 2>of help you build this.

381
00:18:59.279 --> 00:19:02.359
<v Speaker 3>I'm a big, big, big fan of storybook in terms

382
00:19:02.359 --> 00:19:05.720
<v Speaker 3>of building out your component library. They have a really

383
00:19:05.799 --> 00:19:07.960
<v Speaker 3>great system. They make it really easy to pick up

384
00:19:07.960 --> 00:19:10.519
<v Speaker 3>and start going in terms of organizing your components and

385
00:19:10.559 --> 00:19:13.880
<v Speaker 3>seeing that youI preview and getting your documentation all in

386
00:19:13.880 --> 00:19:16.519
<v Speaker 3>one place. That is definitely I think the way to

387
00:19:16.559 --> 00:19:19.079
<v Speaker 3>go if you're going to have a full on library

388
00:19:19.160 --> 00:19:21.799
<v Speaker 3>in its own repo, if you're kind of starting off

389
00:19:21.880 --> 00:19:23.839
<v Speaker 3>a little bit more basic, like we're just going to

390
00:19:23.880 --> 00:19:26.599
<v Speaker 3>have this shared folder, then I think it's okay to

391
00:19:26.640 --> 00:19:29.160
<v Speaker 3>also not be swayed by all the bells and whistles

392
00:19:29.440 --> 00:19:32.799
<v Speaker 3>of stuff like Storybook. Again, the more important part is

393
00:19:32.839 --> 00:19:35.720
<v Speaker 3>you get it out there, get it used. Once you

394
00:19:35.839 --> 00:19:38.400
<v Speaker 3>go down, once you go down the rabbit hole of

395
00:19:38.440 --> 00:19:40.920
<v Speaker 3>looking for things that you can use in your component library,

396
00:19:41.119 --> 00:19:42.720
<v Speaker 3>they're going to find a lot of great stuff, because

397
00:19:42.720 --> 00:19:44.759
<v Speaker 3>there's a lot of great stuff out there in terms

398
00:19:44.799 --> 00:19:47.519
<v Speaker 3>of right not just Storybook, but all the add ons

399
00:19:47.519 --> 00:19:48.880
<v Speaker 3>that you can add to it, all the ways that

400
00:19:48.920 --> 00:19:53.039
<v Speaker 3>you can customize it, whatever you want to use to output,

401
00:19:53.119 --> 00:19:55.759
<v Speaker 3>or using roll up or using this, or what icon

402
00:19:55.839 --> 00:19:59.839
<v Speaker 3>st are you using, And it can escalate so fast,

403
00:20:00.079 --> 00:20:02.079
<v Speaker 3>and I think a lot of people get mired in

404
00:20:02.200 --> 00:20:05.759
<v Speaker 3>that swamp of too many choices. My trademark that the

405
00:20:05.799 --> 00:20:09.640
<v Speaker 3>swamp of too many choices. That's a legitimate thing for sure.

406
00:20:10.279 --> 00:20:14.279
<v Speaker 2>You see, if that domain is available, that's what.

407
00:20:14.319 --> 00:20:17.640
<v Speaker 3>I need another side project domain to sit.

408
00:20:20.240 --> 00:20:23.359
<v Speaker 1>So, Catherine, how do you how do you deal with

409
00:20:23.559 --> 00:20:29.119
<v Speaker 1>either requests like people need specific components that your team

410
00:20:29.240 --> 00:20:33.119
<v Speaker 1>hasn't built, or you have an open source project and

411
00:20:33.160 --> 00:20:37.000
<v Speaker 1>people are contributing, like how do you manage that part

412
00:20:37.000 --> 00:20:39.839
<v Speaker 1>of it? And getting people to contribute and then helping

413
00:20:39.880 --> 00:20:42.559
<v Speaker 1>manage the contributions to make sure that they, you know,

414
00:20:42.640 --> 00:20:45.559
<v Speaker 1>meet the requirements and are going to be useful to

415
00:20:46.400 --> 00:20:49.039
<v Speaker 1>more than just one person who built it, and stuff

416
00:20:49.079 --> 00:20:49.359
<v Speaker 1>like that.

417
00:20:49.880 --> 00:20:53.200
<v Speaker 3>I think in terms of getting people in it can help.

418
00:20:53.680 --> 00:20:56.559
<v Speaker 3>Because I've been doing THEWS in a corporate setting and

419
00:20:56.599 --> 00:20:59.240
<v Speaker 3>not in an open source setting, I have had the

420
00:20:59.480 --> 00:21:05.200
<v Speaker 3>benefit of less optional participation. Maybe the nice way to

421
00:21:05.200 --> 00:21:07.680
<v Speaker 3>say it, if you decide as a team that this

422
00:21:07.839 --> 00:21:11.200
<v Speaker 3>is your goal, and you have whoever's leading the team

423
00:21:11.359 --> 00:21:14.640
<v Speaker 3>on board with your idea, then it's just a project

424
00:21:14.759 --> 00:21:17.599
<v Speaker 3>like any other project. It might not be everyone's favorite.

425
00:21:17.799 --> 00:21:20.039
<v Speaker 3>I've built features that are not my favorite, and it's

426
00:21:20.039 --> 00:21:22.279
<v Speaker 3>just part of your job. I think what's important is

427
00:21:22.319 --> 00:21:24.720
<v Speaker 3>to not look at the component library. If you decide

428
00:21:24.759 --> 00:21:28.200
<v Speaker 3>to do it, then it's not a side project. It's

429
00:21:28.279 --> 00:21:30.880
<v Speaker 3>not an offshoot or a pie in the sky. One day,

430
00:21:30.880 --> 00:21:33.000
<v Speaker 3>we'll get back around to this thing that you can

431
00:21:33.079 --> 00:21:35.720
<v Speaker 3>keep back burnering. It's a project like everything else that

432
00:21:35.759 --> 00:21:38.200
<v Speaker 3>you're running right now. It has a different user base,

433
00:21:38.440 --> 00:21:40.799
<v Speaker 3>but it's a project all the same. And so I

434
00:21:40.880 --> 00:21:44.440
<v Speaker 3>really advocate for building it into your sprints in the

435
00:21:44.480 --> 00:21:48.160
<v Speaker 3>same way that you would build any normal project. Work,

436
00:21:48.400 --> 00:21:51.480
<v Speaker 3>break it down, estimate it, throw it in the sprint,

437
00:21:51.559 --> 00:21:54.599
<v Speaker 3>assign it to someone. It's just work. The fact that

438
00:21:54.640 --> 00:21:56.799
<v Speaker 3>it's internal work shouldn't change that.

439
00:21:57.160 --> 00:21:57.400
<v Speaker 1>You know.

440
00:21:57.720 --> 00:22:00.119
<v Speaker 2>Yeah, I'm curious, do you're running too struggles where can

441
00:22:00.200 --> 00:22:04.400
<v Speaker 2>totally see some project they need some new component and

442
00:22:04.559 --> 00:22:06.559
<v Speaker 2>the quote unquote right way to do it would be

443
00:22:06.599 --> 00:22:09.599
<v Speaker 2>to build it into the component library. But the faster

444
00:22:09.680 --> 00:22:11.960
<v Speaker 2>way to do it, whether it's for deadlines or for

445
00:22:12.000 --> 00:22:14.400
<v Speaker 2>whatever reason, is just to like, let's just toss it

446
00:22:14.440 --> 00:22:16.920
<v Speaker 2>in there and go with it. Do you find you

447
00:22:17.000 --> 00:22:19.559
<v Speaker 2>run into that struggle a lot sometimes?

448
00:22:19.720 --> 00:22:22.559
<v Speaker 3>And I think it is also okay to just throw

449
00:22:22.599 --> 00:22:24.440
<v Speaker 3>it into the app and circle back to it. You

450
00:22:24.480 --> 00:22:26.759
<v Speaker 3>just need to document that, and again that needs to

451
00:22:26.799 --> 00:22:29.880
<v Speaker 3>be its own story that comes up in your next sprint,

452
00:22:30.240 --> 00:22:31.119
<v Speaker 3>and you can't.

453
00:22:31.079 --> 00:22:32.119
<v Speaker 1>Back burner it forever.

454
00:22:32.319 --> 00:22:34.480
<v Speaker 3>If it really is like we have to get this

455
00:22:34.559 --> 00:22:37.000
<v Speaker 3>out build it, you can always come back and pull

456
00:22:37.000 --> 00:22:40.559
<v Speaker 3>it out into the library later and refactor. But usually

457
00:22:40.599 --> 00:22:44.000
<v Speaker 3>the idea that you're giving your future self more work

458
00:22:44.400 --> 00:22:47.599
<v Speaker 3>is enough to dissuade folks from doing it that way,

459
00:22:47.680 --> 00:22:50.359
<v Speaker 3>unless it's a real emergency, because who likes to do

460
00:22:53.200 --> 00:22:58.480
<v Speaker 3>Probably some people, not me. But I think the better way,

461
00:22:58.559 --> 00:23:01.440
<v Speaker 3>the ideal way to handle that is to actually just

462
00:23:01.759 --> 00:23:04.759
<v Speaker 3>estimate that story component building work.

463
00:23:04.960 --> 00:23:06.039
<v Speaker 1>Sorry, won't try it again.

464
00:23:06.240 --> 00:23:08.400
<v Speaker 3>The better way to do that is to just estimate

465
00:23:08.559 --> 00:23:11.680
<v Speaker 3>that component work into the larger story. So if you're

466
00:23:11.680 --> 00:23:14.160
<v Speaker 3>saying we need to build this feature, and we know

467
00:23:14.240 --> 00:23:17.880
<v Speaker 3>this feature will include a component that should realistically be

468
00:23:17.920 --> 00:23:21.440
<v Speaker 3>in our library, then building that component putting it in

469
00:23:21.440 --> 00:23:24.440
<v Speaker 3>the library is part of building that feature, and so

470
00:23:24.680 --> 00:23:26.519
<v Speaker 3>when you look at it, you don't say, like, well,

471
00:23:26.599 --> 00:23:28.799
<v Speaker 3>you might have to add a couple of points to

472
00:23:29.359 --> 00:23:32.880
<v Speaker 3>get the component library work accounted for. But the other

473
00:23:32.960 --> 00:23:35.480
<v Speaker 3>truth is that once you've got your component library up

474
00:23:35.480 --> 00:23:39.400
<v Speaker 3>and going, the overhead of adding new components and putting

475
00:23:39.440 --> 00:23:42.200
<v Speaker 3>them into the application is really really small. You're building

476
00:23:42.240 --> 00:23:43.519
<v Speaker 3>it in the same way you were going to have

477
00:23:43.559 --> 00:23:46.319
<v Speaker 3>to build the future anyway, you're just building it a

478
00:23:46.319 --> 00:23:49.480
<v Speaker 3>different repo and adding an import statement. Better to I think,

479
00:23:49.799 --> 00:23:52.480
<v Speaker 3>knock it out than give yourself work down the road.

480
00:23:52.559 --> 00:23:54.400
<v Speaker 3>Doesn't save you as much time as you think it would.

481
00:23:54.480 --> 00:23:57.160
<v Speaker 1>Oh boy, I can totally agree with that. There have

482
00:23:57.240 --> 00:24:00.640
<v Speaker 1>been many times when we should have done it in

483
00:24:00.720 --> 00:24:04.640
<v Speaker 1>a better way that we didn't, either because the requirements

484
00:24:04.720 --> 00:24:07.279
<v Speaker 1>changed further down the road and we didn't know that's

485
00:24:07.279 --> 00:24:10.000
<v Speaker 1>what was coming up, or like you said, because we

486
00:24:10.079 --> 00:24:12.720
<v Speaker 1>needed to get it done in time of sprint. But

487
00:24:13.559 --> 00:24:17.480
<v Speaker 1>that's a great segue. I was wondering how you handle

488
00:24:17.640 --> 00:24:21.039
<v Speaker 1>documentation because that's something that my team has always struggled with,

489
00:24:21.079 --> 00:24:24.119
<v Speaker 1>and we're not building a component library, So how do

490
00:24:24.160 --> 00:24:28.000
<v Speaker 1>you document something beyond Storybook? Because I know it has

491
00:24:28.000 --> 00:24:31.599
<v Speaker 1>a lot of great interactivity, so that other developers on

492
00:24:31.680 --> 00:24:35.440
<v Speaker 1>other teams can use it and understand what the components

493
00:24:35.440 --> 00:24:37.519
<v Speaker 1>can do for them. I would actually say that that

494
00:24:37.759 --> 00:24:41.880
<v Speaker 1>is a part of Storybook. They've got a whole kind

495
00:24:41.920 --> 00:24:45.480
<v Speaker 1>of feature set devoted to writing documentation and showing examples,

496
00:24:45.839 --> 00:24:48.400
<v Speaker 1>and it's pretty much up to you how much you

497
00:24:48.440 --> 00:24:52.240
<v Speaker 1>take advantage of that storybook will automatically generate documentation, but

498
00:24:52.319 --> 00:24:55.279
<v Speaker 1>realistically that's not going to be what you want. It's

499
00:24:55.279 --> 00:24:56.960
<v Speaker 1>just going to give you kind of an output. It'll

500
00:24:56.960 --> 00:24:59.759
<v Speaker 1>show you the component and the props that are passed in.

501
00:25:00.279 --> 00:25:01.920
<v Speaker 1>Can I give you the controls so that you can

502
00:25:01.960 --> 00:25:04.039
<v Speaker 1>see like, oh when it changes? That change? Is that?

503
00:25:04.440 --> 00:25:07.240
<v Speaker 3>But the kind of documentation that you need in addition

504
00:25:07.319 --> 00:25:12.400
<v Speaker 3>to that straightforward technical documentation is the design and UX documentation.

505
00:25:12.880 --> 00:25:15.920
<v Speaker 3>So you've got three different buttons. How do you know

506
00:25:15.960 --> 00:25:18.319
<v Speaker 3>when you're supposed to use this primary one as supposed

507
00:25:18.359 --> 00:25:20.480
<v Speaker 3>to the secondary one? How do you know when I

508
00:25:20.519 --> 00:25:23.920
<v Speaker 3>need this header as opposed to a subheader or whatever?

509
00:25:24.240 --> 00:25:28.079
<v Speaker 3>All those those contextual pieces are just as, if not

510
00:25:28.200 --> 00:25:33.720
<v Speaker 3>possibly more important than the technical documentation, which is pretty

511
00:25:33.759 --> 00:25:36.640
<v Speaker 3>easy to write honestly, right if you're checking your prop

512
00:25:36.720 --> 00:25:40.039
<v Speaker 3>types and you're defining things well as you're writing them,

513
00:25:40.359 --> 00:25:45.039
<v Speaker 3>then generally the technical documentation is minor and it's more

514
00:25:45.119 --> 00:25:48.680
<v Speaker 3>the design documentation that's going to take the heavier lift.

515
00:25:48.960 --> 00:25:51.039
<v Speaker 3>And it's one of those things that I feel is

516
00:25:51.079 --> 00:25:55.480
<v Speaker 3>not fun, but it's just part of making the component

517
00:25:55.839 --> 00:25:58.200
<v Speaker 3>in the same way that like maybe you don't enjoy

518
00:25:58.559 --> 00:26:02.440
<v Speaker 3>writing tests or maybe don't enjoy, you know, going back

519
00:26:02.480 --> 00:26:04.920
<v Speaker 3>and cleaning up your code after you've got something working.

520
00:26:05.240 --> 00:26:06.119
<v Speaker 1>But it's just part of.

521
00:26:06.400 --> 00:26:10.079
<v Speaker 3>Good hygiene, I guess, good code hygiene, making sure that

522
00:26:10.359 --> 00:26:13.119
<v Speaker 3>you're not just coding to get something done, you're coding

523
00:26:13.119 --> 00:26:14.640
<v Speaker 3>for the developer after you.

524
00:26:15.160 --> 00:26:17.920
<v Speaker 2>With that in mind, when you so, I like the

525
00:26:17.960 --> 00:26:21.759
<v Speaker 2>bit you said about the contextual the UX sort of background.

526
00:26:22.200 --> 00:26:24.400
<v Speaker 2>So do you have like do you work with other

527
00:26:24.640 --> 00:26:28.039
<v Speaker 2>design like UX people to sort of create these components

528
00:26:28.079 --> 00:26:31.200
<v Speaker 2>and do those sorts of roles actually get involved with

529
00:26:31.240 --> 00:26:33.920
<v Speaker 2>some of the documentation and such as well in terms

530
00:26:33.920 --> 00:26:35.759
<v Speaker 2>of how these things are going to be used.

531
00:26:36.039 --> 00:26:38.839
<v Speaker 3>Yeah, I've kind of been in both situations. In one case,

532
00:26:38.880 --> 00:26:41.920
<v Speaker 3>I was the loan design person on the team, so

533
00:26:41.960 --> 00:26:44.480
<v Speaker 3>I got a little bit of free reign, maybe for

534
00:26:44.559 --> 00:26:47.839
<v Speaker 3>better or for worse, in terms of getting able to

535
00:26:47.920 --> 00:26:50.759
<v Speaker 3>establish and build those things on my own. In my

536
00:26:50.759 --> 00:26:53.440
<v Speaker 3>current position, I'm lucky to be working in a team

537
00:26:53.440 --> 00:26:56.359
<v Speaker 3>that has multiple other designers in it, so we get

538
00:26:56.359 --> 00:26:59.160
<v Speaker 3>the chance to bounce those ideas back and forth off

539
00:26:59.200 --> 00:27:02.119
<v Speaker 3>of each other and really collaborate on making these kinds

540
00:27:02.119 --> 00:27:04.880
<v Speaker 3>of components, which is a nice place to be, so, yes,

541
00:27:05.000 --> 00:27:08.799
<v Speaker 3>I do think that that's part of the documentation. The

542
00:27:08.839 --> 00:27:12.000
<v Speaker 3>way it works currently, we have a designer who's really

543
00:27:12.440 --> 00:27:16.480
<v Speaker 3>focused on putting together a design system, which we're building

544
00:27:16.599 --> 00:27:19.799
<v Speaker 3>at the same time as our component library, because you know,

545
00:27:19.880 --> 00:27:24.079
<v Speaker 3>we like to be ambitious, I guess. So she'll go

546
00:27:24.200 --> 00:27:26.559
<v Speaker 3>through and kind of take a look at the design

547
00:27:26.720 --> 00:27:29.759
<v Speaker 3>side of components and say where they should be used

548
00:27:29.799 --> 00:27:31.799
<v Speaker 3>and when they should be used, any kind of guidelines

549
00:27:31.839 --> 00:27:34.759
<v Speaker 3>in terms of something like the amount of copy that

550
00:27:34.799 --> 00:27:38.440
<v Speaker 3>should go into a tool tip, or kinds of options

551
00:27:38.440 --> 00:27:40.960
<v Speaker 3>that we should present to a user if we're giving

552
00:27:40.960 --> 00:27:44.279
<v Speaker 3>them choices in a pop up model or something. Those

553
00:27:44.359 --> 00:27:47.920
<v Speaker 3>kinds of design decisions that can be a little harder

554
00:27:48.000 --> 00:27:50.880
<v Speaker 3>to make from a technical perspective, So she'll kind of

555
00:27:50.880 --> 00:27:53.680
<v Speaker 3>go through and outline those aspects and she usually just

556
00:27:53.720 --> 00:27:57.279
<v Speaker 3>includes them as maybe comments or lines in the PIGMA file.

557
00:27:57.559 --> 00:28:00.279
<v Speaker 3>And then we have a couple of folks who we

558
00:28:00.319 --> 00:28:02.720
<v Speaker 3>call ux engineers, which are kind of like me that

559
00:28:02.799 --> 00:28:05.160
<v Speaker 3>get to have a foot in each world and we

560
00:28:05.319 --> 00:28:07.400
<v Speaker 3>kind of get to be that bridge and look at

561
00:28:07.440 --> 00:28:10.079
<v Speaker 3>those components and say, all right, we'll build it in

562
00:28:10.119 --> 00:28:13.359
<v Speaker 3>this way. Because she only wants, you know, a max

563
00:28:13.359 --> 00:28:16.960
<v Speaker 3>of this many characters. We can prevent that, you know,

564
00:28:17.559 --> 00:28:21.240
<v Speaker 3>we can set guidelines and kind of blockers in the

565
00:28:21.279 --> 00:28:23.880
<v Speaker 3>way that we build the component that prevent it from

566
00:28:23.920 --> 00:28:27.160
<v Speaker 3>being used in a way that it's not intended. You know,

567
00:28:27.200 --> 00:28:31.079
<v Speaker 3>we can have inputs get validated and things that prevent

568
00:28:31.200 --> 00:28:36.880
<v Speaker 3>you from just blowing through. Even if you opt not

569
00:28:36.920 --> 00:28:39.200
<v Speaker 3>to read the documentation, which hopefully you do.

570
00:28:40.759 --> 00:28:45.119
<v Speaker 1>Documentation is tempting. That's usually where I'll go. Well, I

571
00:28:45.160 --> 00:28:47.599
<v Speaker 1>shouldn't say that I go there pretty quickly, but it

572
00:28:47.680 --> 00:28:50.640
<v Speaker 1>really depends. But that's really cool that you get to

573
00:28:50.720 --> 00:28:53.480
<v Speaker 1>kind of be a little bit of both both the

574
00:28:53.559 --> 00:28:57.200
<v Speaker 1>designer side and the actual engineering side. Have you always

575
00:28:57.240 --> 00:28:59.519
<v Speaker 1>been in a role where you kind of get to

576
00:28:59.559 --> 00:29:02.880
<v Speaker 1>span both or has it kind of progressed since as

577
00:29:02.920 --> 00:29:04.440
<v Speaker 1>you've been doing development.

578
00:29:04.880 --> 00:29:07.240
<v Speaker 3>I feel very lucky to be in a space where

579
00:29:07.240 --> 00:29:10.519
<v Speaker 3>I get to do both. Actually, and it honestly came

580
00:29:10.519 --> 00:29:13.400
<v Speaker 3>from the other side. I started off in the design world.

581
00:29:13.519 --> 00:29:16.400
<v Speaker 3>That's actually what I went to school for. I have

582
00:29:16.440 --> 00:29:19.839
<v Speaker 3>a fine arts degree, which you know has helped me

583
00:29:19.920 --> 00:29:25.319
<v Speaker 3>tons I say sarcastically, but in all sincerity, it really has,

584
00:29:25.480 --> 00:29:28.079
<v Speaker 3>and that it's given me that I for color and

585
00:29:28.119 --> 00:29:31.960
<v Speaker 3>design and hierarchy and balance and flow and that kind

586
00:29:31.960 --> 00:29:35.039
<v Speaker 3>of edge when it comes to working with clients and

587
00:29:35.119 --> 00:29:38.559
<v Speaker 3>understanding what a user wants and what someone's looking for

588
00:29:38.880 --> 00:29:40.559
<v Speaker 3>and how to kind of give it to them in

589
00:29:40.599 --> 00:29:44.920
<v Speaker 3>a way that will be intuitive and satisfying and hopefully

590
00:29:45.400 --> 00:29:49.000
<v Speaker 3>enjoyable to use. So I started off on that end

591
00:29:49.039 --> 00:29:53.519
<v Speaker 3>and have actually been slowly making my way into development because,

592
00:29:53.519 --> 00:29:56.559
<v Speaker 3>as it turns out, it's just more fun.

593
00:29:56.920 --> 00:29:59.599
<v Speaker 1>I completely agree with you. It is more fun to

594
00:29:59.599 --> 00:30:03.039
<v Speaker 1>be built, and in your case, designing it as well.

595
00:30:03.160 --> 00:30:06.240
<v Speaker 1>That's I think that's such a useful skill to have, honestly,

596
00:30:06.279 --> 00:30:08.680
<v Speaker 1>and I wish I had more of a design background

597
00:30:08.720 --> 00:30:11.079
<v Speaker 1>because I feel like it would help my own side

598
00:30:11.079 --> 00:30:14.839
<v Speaker 1>projects turn out a lot better than they probably currently are.

599
00:30:16.359 --> 00:30:19.160
<v Speaker 3>I firmly believe that it's a skill that anyone can learn,

600
00:30:19.240 --> 00:30:21.759
<v Speaker 3>like anything else. I think, especially in the arts, we're

601
00:30:21.799 --> 00:30:24.079
<v Speaker 3>quick to look at something and say, but you just

602
00:30:24.079 --> 00:30:25.799
<v Speaker 3>have to have the eye or have some kind of

603
00:30:25.799 --> 00:30:29.000
<v Speaker 3>innate talent, And I think that's a good starting point.

604
00:30:29.200 --> 00:30:32.079
<v Speaker 3>Some people absolutely do, and they'll have that level of

605
00:30:32.200 --> 00:30:35.559
<v Speaker 3>native talent just kind of automatically. But the same is

606
00:30:35.599 --> 00:30:39.559
<v Speaker 3>true for development. Some people have a really amazing kind

607
00:30:39.599 --> 00:30:42.039
<v Speaker 3>of logical mind that can break things down and can

608
00:30:42.559 --> 00:30:46.240
<v Speaker 3>see the kind of pathways and relations between these components.

609
00:30:46.279 --> 00:30:48.920
<v Speaker 3>They can see the way things get passed through functions

610
00:30:48.920 --> 00:30:52.359
<v Speaker 3>and how things will return. I don't have that, but

611
00:30:52.720 --> 00:30:55.599
<v Speaker 3>it's a skill that I've been able to cultivate just

612
00:30:55.680 --> 00:30:59.799
<v Speaker 3>through doing it and hard work and messing up the

613
00:31:00.000 --> 00:31:03.319
<v Speaker 3>But I believe there are versus is true as well

614
00:31:03.640 --> 00:31:07.359
<v Speaker 3>that if design is something that developers are interested in,

615
00:31:07.400 --> 00:31:10.759
<v Speaker 3>then absolutely there are places you can start in skill

616
00:31:10.759 --> 00:31:14.279
<v Speaker 3>sets you can learn and it benefits your work at

617
00:31:14.279 --> 00:31:14.920
<v Speaker 3>the end of the day.

618
00:31:15.240 --> 00:31:17.000
<v Speaker 2>Yeah, I think it's sort of akin to like the

619
00:31:17.359 --> 00:31:20.640
<v Speaker 2>closest example I can think of is like sports, Like

620
00:31:20.680 --> 00:31:22.599
<v Speaker 2>there's some people that naturally and I see this with

621
00:31:22.680 --> 00:31:25.279
<v Speaker 2>my kids, right, certain people just pick up on things

622
00:31:25.559 --> 00:31:27.480
<v Speaker 2>faster than others. You throw them a ball, they know

623
00:31:27.519 --> 00:31:30.000
<v Speaker 2>what to do a little bit better. But anybody can

624
00:31:30.079 --> 00:31:32.480
<v Speaker 2>learn it, right, Like, it's just a matter of you

625
00:31:32.519 --> 00:31:34.240
<v Speaker 2>have to actually put in the time. You can't And

626
00:31:34.279 --> 00:31:36.200
<v Speaker 2>I'm guilty of this too. You dismiss it of like

627
00:31:36.839 --> 00:31:38.759
<v Speaker 2>I could never draw anything, so I'm not even going

628
00:31:38.839 --> 00:31:41.240
<v Speaker 2>to try sort of thing. Like I said, it's totally

629
00:31:41.279 --> 00:31:44.839
<v Speaker 2>a sentiment I'm guilty of too, But it's totally easy

630
00:31:44.839 --> 00:31:46.839
<v Speaker 2>to have that gut reaction. It's far harder to actually

631
00:31:46.880 --> 00:31:49.200
<v Speaker 2>put in the time and the effort to try to

632
00:31:49.279 --> 00:31:50.400
<v Speaker 2>learn a skill yourself.

633
00:31:50.880 --> 00:31:54.519
<v Speaker 3>Absolutely definitely, I'm in that same camp of like, I'm

634
00:31:54.559 --> 00:31:59.720
<v Speaker 3>honestly not a great drawer. My pen and paper skills

635
00:31:59.720 --> 00:32:05.720
<v Speaker 3>are are lacking. I suffered through a couple painting and

636
00:32:06.400 --> 00:32:09.720
<v Speaker 3>similar courses in college so that I can get to

637
00:32:10.319 --> 00:32:13.720
<v Speaker 3>the design classes I was interested in, and I don't

638
00:32:13.720 --> 00:32:16.000
<v Speaker 3>feel that that in my lack of ability to draw

639
00:32:16.079 --> 00:32:20.319
<v Speaker 3>much more than a stick figure has actually impeded me much.

640
00:32:21.119 --> 00:32:23.519
<v Speaker 2>So I do have one question to bring it back

641
00:32:23.559 --> 00:32:26.880
<v Speaker 2>to the component library a little bit. I'm curious how

642
00:32:26.960 --> 00:32:31.359
<v Speaker 2>you handle, say, like more complex components, right, because I imagine,

643
00:32:31.720 --> 00:32:33.920
<v Speaker 2>so you build a button, you build some of these

644
00:32:33.920 --> 00:32:37.039
<v Speaker 2>things like those are something like any web developer can

645
00:32:37.599 --> 00:32:40.759
<v Speaker 2>do pretty decently, but I imagine there's a complexity level

646
00:32:40.799 --> 00:32:43.200
<v Speaker 2>where you're probably not going to write it sort of

647
00:32:43.279 --> 00:32:46.480
<v Speaker 2>yourself from scratch, Like I'm thinking like day picker, Like

648
00:32:46.519 --> 00:32:48.480
<v Speaker 2>you can even go crazier than that, right, you can

649
00:32:48.559 --> 00:32:51.400
<v Speaker 2>go into like charts and graphs and grids, and it's

650
00:32:51.440 --> 00:32:55.599
<v Speaker 2>all yeah, tables exactly. So I'm curious if there's a

651
00:32:55.640 --> 00:32:58.960
<v Speaker 2>line where like you would say like, Okay, this is

652
00:32:59.000 --> 00:33:02.119
<v Speaker 2>too complex, and then at that point, would you like

653
00:33:02.240 --> 00:33:05.480
<v Speaker 2>wrap some other library out there and sort of like

654
00:33:05.599 --> 00:33:08.440
<v Speaker 2>Chris and that is like this is the standard solution

655
00:33:08.599 --> 00:33:10.359
<v Speaker 2>we use for this or would you just leave that

656
00:33:10.480 --> 00:33:13.039
<v Speaker 2>up to like individual apps. I'm curious how you'd handle

657
00:33:13.079 --> 00:33:14.079
<v Speaker 2>that sort of scenario.

658
00:33:14.519 --> 00:33:16.799
<v Speaker 1>Yeah, I think it really needs to be kind of

659
00:33:16.799 --> 00:33:19.480
<v Speaker 1>a breakdown of what again, what you need that might

660
00:33:19.519 --> 00:33:22.759
<v Speaker 1>be different. I think there's no value in reinventing the wheel.

661
00:33:23.240 --> 00:33:25.920
<v Speaker 1>You know, D three is a great library that exists

662
00:33:25.920 --> 00:33:28.960
<v Speaker 1>for charting. There's no need to remake D three in

663
00:33:29.039 --> 00:33:30.519
<v Speaker 1>your component library, right.

664
00:33:30.759 --> 00:33:32.960
<v Speaker 3>And I also think it's totally fair game to import

665
00:33:33.000 --> 00:33:36.200
<v Speaker 3>it into your library and customize the bits that you

666
00:33:36.279 --> 00:33:38.519
<v Speaker 3>need and make sure that it's only being used in

667
00:33:38.559 --> 00:33:43.839
<v Speaker 3>specific ways that reflect the needs of your application, right.

668
00:33:44.400 --> 00:33:47.000
<v Speaker 3>And I think that can even be really helpful rather

669
00:33:47.079 --> 00:33:50.400
<v Speaker 3>than just giving someone free ran Like we use this

670
00:33:50.519 --> 00:33:54.279
<v Speaker 3>charting library, here's twenty million charts that you can choose from,

671
00:33:54.640 --> 00:33:57.039
<v Speaker 3>twenty million different ways that you can present the same data.

672
00:33:57.519 --> 00:34:00.799
<v Speaker 3>The component library can help you narrow that down. Okay,

673
00:34:00.839 --> 00:34:03.599
<v Speaker 3>in this case, we use a barograph. In this case

674
00:34:03.720 --> 00:34:06.240
<v Speaker 3>we use a high chart, and it kind of removes

675
00:34:06.400 --> 00:34:10.280
<v Speaker 3>that mental lift I guess, which would really be.

676
00:34:11.719 --> 00:34:12.079
<v Speaker 1>Tangent.

677
00:34:12.519 --> 00:34:15.519
<v Speaker 3>I think that would really be the primary benefit of

678
00:34:15.519 --> 00:34:18.159
<v Speaker 3>a component library if I had to, like really sum

679
00:34:18.159 --> 00:34:20.599
<v Speaker 3>it up, give you the elevator pitch on why you

680
00:34:20.639 --> 00:34:23.320
<v Speaker 3>should make one. It's that it removes so much of

681
00:34:23.320 --> 00:34:27.039
<v Speaker 3>that design decision making fatigue that you do over and

682
00:34:27.119 --> 00:34:29.719
<v Speaker 3>over in terms of do I need this, does it

683
00:34:29.760 --> 00:34:31.960
<v Speaker 3>need to look this way? What styles does it need?

684
00:34:32.480 --> 00:34:33.760
<v Speaker 3>What's the best solution for this?

685
00:34:34.119 --> 00:34:36.599
<v Speaker 1>You can make that decision once and then pull that

686
00:34:36.639 --> 00:34:39.320
<v Speaker 1>component over and over and over again and know that

687
00:34:39.880 --> 00:34:44.239
<v Speaker 1>it's been thoughtfully created and I can just trust that

688
00:34:44.280 --> 00:34:45.280
<v Speaker 1>it's the right choice.

689
00:34:45.880 --> 00:34:48.360
<v Speaker 2>That's a good point, because it's you just tell a

690
00:34:48.400 --> 00:34:50.760
<v Speaker 2>bunch of people, yeah, go google react chart and see

691
00:34:50.800 --> 00:34:53.559
<v Speaker 2>what happens. Right, You're gonna everybody's going to come back

692
00:34:53.599 --> 00:34:57.280
<v Speaker 2>with wildly different ideas of what to do, and you'll

693
00:34:57.320 --> 00:34:59.239
<v Speaker 2>end up with the same situation as the header. Right,

694
00:34:59.320 --> 00:35:02.960
<v Speaker 2>everybody's got different ideas for what's best and what we're using,

695
00:35:03.079 --> 00:35:05.039
<v Speaker 2>and it'll be chaos.

696
00:35:05.599 --> 00:35:08.440
<v Speaker 3>Yep, No, there's just as much value in my last place.

697
00:35:08.440 --> 00:35:11.639
<v Speaker 3>We had no real illustrator on the team and no

698
00:35:11.679 --> 00:35:15.280
<v Speaker 3>real person whose passion was making icons. So we chose

699
00:35:15.280 --> 00:35:16.559
<v Speaker 3>an icon SPT and we built it.

700
00:35:16.519 --> 00:35:19.159
<v Speaker 1>Into a component library, and you said, this is what

701
00:35:19.199 --> 00:35:22.559
<v Speaker 1>we use if you're building components, if you're using it elsewhere,

702
00:35:22.840 --> 00:35:25.760
<v Speaker 1>we use in that case found awesome, you know, and

703
00:35:25.800 --> 00:35:28.360
<v Speaker 1>that that narrows down that feeling of I need to

704
00:35:28.440 --> 00:35:32.039
<v Speaker 1>go find something, or having icons from twenty different sets

705
00:35:32.079 --> 00:35:35.840
<v Speaker 1>scattered across the application. Yeah, it's done. You don't have

706
00:35:35.880 --> 00:35:36.559
<v Speaker 1>to think about it.

707
00:35:37.360 --> 00:35:40.000
<v Speaker 2>If taking that approach, do you run into any issues

708
00:35:40.119 --> 00:35:43.440
<v Speaker 2>like getting dependencies to match up? Like so I'm imagining

709
00:35:43.920 --> 00:35:46.440
<v Speaker 2>you have like five apps using your component library, right

710
00:35:46.519 --> 00:35:49.280
<v Speaker 2>and you're like, oh, app one needs a new version

711
00:35:49.320 --> 00:35:52.800
<v Speaker 2>of found awesome. Then does that sort of imply then

712
00:35:52.639 --> 00:35:55.000
<v Speaker 2>the net So then the other four apps right when

713
00:35:55.000 --> 00:35:56.440
<v Speaker 2>they go upgrade, they're going to need to pick up

714
00:35:56.440 --> 00:35:59.039
<v Speaker 2>the new version has And I could see that going

715
00:35:59.039 --> 00:36:01.440
<v Speaker 2>both ways. That's kind of curious, Like I could see

716
00:36:01.440 --> 00:36:03.639
<v Speaker 2>that being like a forcing function of keeping people up

717
00:36:03.679 --> 00:36:05.920
<v Speaker 2>to data and dependencies, but I could also see it

718
00:36:05.960 --> 00:36:09.079
<v Speaker 2>being like a blocker, like oh, we need to update something,

719
00:36:09.119 --> 00:36:11.480
<v Speaker 2>but we don't want to have to test the new fun,

720
00:36:11.559 --> 00:36:14.360
<v Speaker 2>awesome version for everything too, So I'm curious what your

721
00:36:14.360 --> 00:36:15.440
<v Speaker 2>experience has been with that.

722
00:36:15.840 --> 00:36:18.840
<v Speaker 3>Yeah, it can definitely be a little bit of a roadblocker.

723
00:36:19.280 --> 00:36:21.480
<v Speaker 3>I'm maybe lucky that I haven't quite been in a

724
00:36:21.519 --> 00:36:23.760
<v Speaker 3>situation where I have to manage five I think that

725
00:36:23.880 --> 00:36:26.559
<v Speaker 3>most have done is two or three different applications playing

726
00:36:26.599 --> 00:36:29.599
<v Speaker 3>from the same component library, and it was a real

727
00:36:29.639 --> 00:36:32.000
<v Speaker 3>motivator for us to keep everything as up to date

728
00:36:32.039 --> 00:36:34.719
<v Speaker 3>as possible. But it did also mean that there were

729
00:36:34.719 --> 00:36:37.440
<v Speaker 3>some things that we didn't update in the library because

730
00:36:37.440 --> 00:36:40.320
<v Speaker 3>we didn't want to mess things up in the application,

731
00:36:40.599 --> 00:36:43.239
<v Speaker 3>and there was a little bit I think it's honestly

732
00:36:43.280 --> 00:36:45.039
<v Speaker 3>just the same way that you judge whether you need

733
00:36:45.079 --> 00:36:47.960
<v Speaker 3>the update in the application itself. You look at it

734
00:36:48.000 --> 00:36:50.559
<v Speaker 3>and you say, what does it offer for other features

735
00:36:50.559 --> 00:36:52.760
<v Speaker 3>that are in this release that are really important for us,

736
00:36:53.239 --> 00:36:56.920
<v Speaker 3>that make the effort of jumping up a version or

737
00:36:57.079 --> 00:37:01.119
<v Speaker 3>you know, five or ten worth it. And eventually you

738
00:37:01.199 --> 00:37:04.440
<v Speaker 3>get to the point where you need to and it's important,

739
00:37:04.480 --> 00:37:06.519
<v Speaker 3>and you make the time and you make it happen.

740
00:37:06.760 --> 00:37:09.480
<v Speaker 3>But it's really just a question of version management in

741
00:37:09.519 --> 00:37:12.280
<v Speaker 3>the same way that you version manage every other dependency.

742
00:37:12.440 --> 00:37:15.039
<v Speaker 3>I think in your app. It just kind of has

743
00:37:15.039 --> 00:37:17.840
<v Speaker 3>that trickle down effect. Like you've talked about, you're really

744
00:37:17.840 --> 00:37:21.480
<v Speaker 3>doing version management in two apps. But I think the

745
00:37:21.519 --> 00:37:25.079
<v Speaker 3>decision making progress process in terms of when do I

746
00:37:25.119 --> 00:37:27.360
<v Speaker 3>do it, is it worth it, it's more or less

747
00:37:27.360 --> 00:37:30.239
<v Speaker 3>the same. So you've talked about some really interesting stuff

748
00:37:30.280 --> 00:37:32.800
<v Speaker 3>that you're doing at work. Is there anything that you're

749
00:37:32.800 --> 00:37:36.480
<v Speaker 3>working on on the side that is equally exciting to you?

750
00:37:38.960 --> 00:37:43.000
<v Speaker 3>I find equally exciting if anyone else of actually in

751
00:37:43.039 --> 00:37:47.280
<v Speaker 3>the process of building a web application called bubble up

752
00:37:47.480 --> 00:37:51.960
<v Speaker 3>that's intended to help COVID nineteen social bubbles coordinate their

753
00:37:52.760 --> 00:37:55.760
<v Speaker 3>kind of activities and share information with each other. So

754
00:37:56.000 --> 00:37:58.800
<v Speaker 3>the hope is that you know, in an ideal situation,

755
00:37:59.360 --> 00:38:02.000
<v Speaker 3>you say that people in your bubble or your pod

756
00:38:02.119 --> 00:38:05.719
<v Speaker 3>or your quarantine, whatever you're calling it, don't ever interact

757
00:38:05.719 --> 00:38:08.480
<v Speaker 3>with people outside of that, But the reality of that

758
00:38:08.639 --> 00:38:11.920
<v Speaker 3>is much more complicated, and that there will always be

759
00:38:11.960 --> 00:38:15.599
<v Speaker 3>exceptions that come up, and rather than pretending they don't happen,

760
00:38:15.920 --> 00:38:18.159
<v Speaker 3>I'd love to be able to build those into the

761
00:38:18.159 --> 00:38:20.880
<v Speaker 3>planning process as a realistic way for people to still

762
00:38:20.920 --> 00:38:23.760
<v Speaker 3>be able to meet up and do so safely, and

763
00:38:23.800 --> 00:38:26.519
<v Speaker 3>do so honestly and kind of put all of that

764
00:38:26.559 --> 00:38:29.920
<v Speaker 3>communication into one hub. So that's my current that's my

765
00:38:30.000 --> 00:38:33.599
<v Speaker 3>current work in progress. I'm hoping for an end of

766
00:38:33.639 --> 00:38:34.760
<v Speaker 3>year launch on that.

767
00:38:35.360 --> 00:38:39.119
<v Speaker 1>So is there like beta test going on right now

768
00:38:39.199 --> 00:38:41.719
<v Speaker 1>or are you looking for help? Like as an open

769
00:38:41.760 --> 00:38:45.360
<v Speaker 1>source type of project, it's currently a bit of a

770
00:38:45.360 --> 00:38:49.159
<v Speaker 1>one man show. I am definitely open to folks that

771
00:38:49.480 --> 00:38:51.960
<v Speaker 1>would like to help if they're interested. I have a

772
00:38:52.039 --> 00:38:54.719
<v Speaker 1>user survey up right now, trying to get a feel

773
00:38:54.800 --> 00:38:57.360
<v Speaker 1>for what features are important to people, making sure that

774
00:38:57.400 --> 00:39:00.719
<v Speaker 1>we prioritize development in that way. You can find that

775
00:39:00.840 --> 00:39:04.079
<v Speaker 1>at bubbleupapp dot com. It's also wait list, a mailing

776
00:39:04.079 --> 00:39:07.960
<v Speaker 1>list that you can join, and we'll keep folks informed

777
00:39:07.960 --> 00:39:10.679
<v Speaker 1>when we are ready to start doing some beta testing,

778
00:39:10.719 --> 00:39:13.159
<v Speaker 1>when we're ready to start doing some some just kind

779
00:39:13.159 --> 00:39:16.320
<v Speaker 1>of general user click testing. The UX person and me

780
00:39:16.440 --> 00:39:20.800
<v Speaker 1>won't launch an app without that, and of course when

781
00:39:20.800 --> 00:39:25.400
<v Speaker 1>we release properly, that's awesome. That's such a I mean,

782
00:39:25.559 --> 00:39:28.840
<v Speaker 1>not only such a good side project to learn in,

783
00:39:29.079 --> 00:39:33.239
<v Speaker 1>but also such a potentially useful one. Are you are

784
00:39:33.239 --> 00:39:35.719
<v Speaker 1>you building it with React? I am building it and

785
00:39:35.760 --> 00:39:43.280
<v Speaker 1>React The major question. No, I'm definitely the job I'm

786
00:39:43.280 --> 00:39:46.559
<v Speaker 1>in now is an Angular, but I think my heart

787
00:39:46.599 --> 00:39:50.920
<v Speaker 1>will always be with React personally. I started off an

788
00:39:50.960 --> 00:39:56.320
<v Speaker 1>Angular and I am much happier building almost exclusively and React.

789
00:39:56.400 --> 00:40:00.920
<v Speaker 3>So I feel you, at the end of the day,

790
00:40:00.920 --> 00:40:03.559
<v Speaker 3>they're all just tools in the toolbox, but I think

791
00:40:03.559 --> 00:40:05.400
<v Speaker 3>it's also totally fair to have favorites.

792
00:40:07.760 --> 00:40:10.719
<v Speaker 2>Curious too, do you find like the React to me

793
00:40:11.000 --> 00:40:13.920
<v Speaker 2>like because you build component libraries in both as well? Right,

794
00:40:13.920 --> 00:40:16.960
<v Speaker 2>are there any differences like specific to component building that

795
00:40:17.039 --> 00:40:18.960
<v Speaker 2>make you prefer one or the other.

796
00:40:19.400 --> 00:40:22.760
<v Speaker 1>Hmm, that's interesting. I'm not sure. Trying to think through

797
00:40:23.039 --> 00:40:27.239
<v Speaker 1>React seems a little bit more intrinsically built to kind

798
00:40:27.239 --> 00:40:30.880
<v Speaker 1>of handle that component style breakdown. Angular does too, so

799
00:40:30.920 --> 00:40:33.719
<v Speaker 1>it's definitely not, you know, a roadblock, But I think

800
00:40:33.840 --> 00:40:36.519
<v Speaker 1>the way in which you kind of learn React and

801
00:40:36.599 --> 00:40:39.239
<v Speaker 1>things are, at least the way I was taught to

802
00:40:39.320 --> 00:40:42.159
<v Speaker 1>kind of break things down into components and components really

803
00:40:42.159 --> 00:40:45.039
<v Speaker 1>modular is a really good fit. I'll also say that

804
00:40:45.119 --> 00:40:48.559
<v Speaker 1>a lot because React is is UI focused and not

805
00:40:49.079 --> 00:40:52.400
<v Speaker 1>you know, full framework no way that Angler is, it

806
00:40:52.400 --> 00:40:55.280
<v Speaker 1>can be a little simpler. You kind of have narrowed

807
00:40:55.320 --> 00:40:56.920
<v Speaker 1>your focus a little bit, and a lot of the

808
00:40:56.960 --> 00:41:00.599
<v Speaker 1>tools that are out there for building component libraries tend

809
00:41:00.639 --> 00:41:03.320
<v Speaker 1>to be a little more React focused. I've run into

810
00:41:03.360 --> 00:41:05.920
<v Speaker 1>that a little bit with Storybook, which again is great,

811
00:41:06.039 --> 00:41:09.000
<v Speaker 1>I've used it for both, but a lot of the documentation,

812
00:41:09.199 --> 00:41:12.199
<v Speaker 1>a lot of the examples are going to be targeted

813
00:41:12.199 --> 00:41:15.320
<v Speaker 1>towards folks coding and React. There's been a little bit

814
00:41:15.320 --> 00:41:17.440
<v Speaker 1>of a bumpy road to kind of figure out how

815
00:41:17.480 --> 00:41:21.599
<v Speaker 1>exactly that translates. Well, Catherine, it's been a pleasure talking

816
00:41:21.639 --> 00:41:24.679
<v Speaker 1>to you. Is is there anything that we have not

817
00:41:25.320 --> 00:41:28.199
<v Speaker 1>talked about that you think that we should I don't

818
00:41:28.239 --> 00:41:28.639
<v Speaker 1>think so.

819
00:41:28.920 --> 00:41:31.480
<v Speaker 3>Trying to like, I mean, I've pulled up the discussion

820
00:41:31.920 --> 00:41:32.800
<v Speaker 3>points and noother thing.

821
00:41:32.840 --> 00:41:36.079
<v Speaker 1>It's like, was there anything? I don't think so.

822
00:41:36.159 --> 00:41:39.079
<v Speaker 3>I feel like I could talk about component libraries for hours,

823
00:41:39.119 --> 00:41:39.760
<v Speaker 3>but I doubt.

824
00:41:39.599 --> 00:41:43.679
<v Speaker 1>That's what you want. So no, I think this has

825
00:41:43.719 --> 00:41:46.280
<v Speaker 1>really been interesting. That kind of makes me want to

826
00:41:46.840 --> 00:41:50.480
<v Speaker 1>revisit my own team's decision to use AUNT. But oh man,

827
00:41:50.880 --> 00:41:54.039
<v Speaker 1>we're already really committed to it, So I probably shouldn't

828
00:41:54.039 --> 00:41:57.840
<v Speaker 1>open that can of worms. I don't know. It's a

829
00:41:57.880 --> 00:42:03.119
<v Speaker 1>fun can. So if people want to get in touch

830
00:42:03.159 --> 00:42:05.880
<v Speaker 1>with you or learn more about you, how where can

831
00:42:05.920 --> 00:42:09.239
<v Speaker 1>they find you. You can visit my personal website, Kagreyson

832
00:42:09.280 --> 00:42:13.159
<v Speaker 1>dot com. I'm also on Twitter perhaps too. On Twitter

833
00:42:14.280 --> 00:42:19.760
<v Speaker 1>also at Captain Grayson. Was there probably the best race? Awesome? Okay,

834
00:42:19.840 --> 00:42:22.719
<v Speaker 1>so now it's time to move into our picks for

835
00:42:22.800 --> 00:42:25.920
<v Speaker 1>the show, and this is when we talk about cool websites.

836
00:42:25.960 --> 00:42:30.079
<v Speaker 1>We've found things, we've been using, TV shows we've been watching,

837
00:42:30.119 --> 00:42:33.039
<v Speaker 1>really anything. So TJ, would you like to start us

838
00:42:33.079 --> 00:42:34.360
<v Speaker 1>off this week? Sure?

839
00:42:34.599 --> 00:42:38.840
<v Speaker 2>So I've been I've an app recommended to me called Strava.

840
00:42:39.000 --> 00:42:41.000
<v Speaker 2>I don't know if either of you've heard this before,

841
00:42:41.119 --> 00:42:44.920
<v Speaker 2>but it's it's almost like almost like a social network

842
00:42:44.960 --> 00:42:49.679
<v Speaker 2>for exercise things like runs and bikes and stuff like that.

843
00:42:50.280 --> 00:42:53.480
<v Speaker 2>And I'm far from like an elite athletes, Like I

844
00:42:53.599 --> 00:42:55.599
<v Speaker 2>get my bike out twice a week so and I

845
00:42:55.679 --> 00:42:58.719
<v Speaker 2>consider that a victory. But the kind of fun thing

846
00:42:58.920 --> 00:43:01.719
<v Speaker 2>I found about it is since it encourages like social stuff,

847
00:43:01.719 --> 00:43:04.039
<v Speaker 2>it's a way of me keeping up with people that

848
00:43:04.480 --> 00:43:07.960
<v Speaker 2>I don't see in my life anymore, right, like coworkers

849
00:43:07.960 --> 00:43:10.760
<v Speaker 2>that I'm not seeing. It's just like another way and

850
00:43:10.800 --> 00:43:13.960
<v Speaker 2>it's outside of like you know, as discussed like I'm

851
00:43:14.000 --> 00:43:16.840
<v Speaker 2>sometimes too much on Twitter also and it's kind of

852
00:43:16.840 --> 00:43:18.840
<v Speaker 2>fun to just take that out of the equation and

853
00:43:18.880 --> 00:43:21.199
<v Speaker 2>just have a fun little thing to see what your

854
00:43:21.239 --> 00:43:21.920
<v Speaker 2>friends are up to.

855
00:43:22.199 --> 00:43:25.639
<v Speaker 1>So that's my pick. Very cool. That sounds like a

856
00:43:25.679 --> 00:43:28.400
<v Speaker 1>great way to stay more active, too, which is something

857
00:43:28.440 --> 00:43:31.599
<v Speaker 1>I've definitely been struggling with since the pandemic and my

858
00:43:31.679 --> 00:43:34.400
<v Speaker 1>gym shut down and that I didn't feel comfortable going

859
00:43:34.400 --> 00:43:38.920
<v Speaker 1>back to the gym after that, so that's good. My

860
00:43:39.119 --> 00:43:43.639
<v Speaker 1>pick today will be a standing desk that I just

861
00:43:43.760 --> 00:43:48.239
<v Speaker 1>bought last weekend and am very already very excited about.

862
00:43:48.320 --> 00:43:52.960
<v Speaker 1>It's called the Tresante or Trasanti, and it is from Costco,

863
00:43:53.360 --> 00:43:55.360
<v Speaker 1>although I believe that you can buy it on Amazon

864
00:43:55.400 --> 00:43:59.840
<v Speaker 1>and possibly Wayfair also. But it is an adjustable height desk.

865
00:44:00.480 --> 00:44:03.719
<v Speaker 1>It is a powered one, so you just it's got

866
00:44:03.719 --> 00:44:06.800
<v Speaker 1>like three different settings that you can pre set for

867
00:44:07.280 --> 00:44:10.719
<v Speaker 1>you know, however, whatever your preferred height of working is.

868
00:44:11.079 --> 00:44:14.320
<v Speaker 1>It's been really really cool so far, and it's it

869
00:44:14.360 --> 00:44:17.360
<v Speaker 1>was only three hundred dollars, which is way less expensive

870
00:44:17.440 --> 00:44:21.599
<v Speaker 1>than most of the other powered or unpowered desks I've seen,

871
00:44:22.000 --> 00:44:24.199
<v Speaker 1>so I am a big fan of it and I

872
00:44:24.239 --> 00:44:26.920
<v Speaker 1>would highly recommend it. It's not too large, it's not

873
00:44:27.079 --> 00:44:32.039
<v Speaker 1>too small. It's pretty great. I would definitely recommend checking

874
00:44:32.039 --> 00:44:33.840
<v Speaker 1>it out if you have a cost co membership and

875
00:44:33.880 --> 00:44:36.519
<v Speaker 1>you need like a real space, because up until this

876
00:44:36.599 --> 00:44:39.360
<v Speaker 1>point I was working at the dining room table, and

877
00:44:39.400 --> 00:44:42.239
<v Speaker 1>after seven months of that, it seemed like it was

878
00:44:42.280 --> 00:44:46.800
<v Speaker 1>probably an investment worth my tie. So that's going to

879
00:44:46.840 --> 00:44:49.920
<v Speaker 1>be my pick for today. Catherine, do you have any picks?

880
00:44:49.960 --> 00:44:51.679
<v Speaker 1>I know this is a little last minute for you.

881
00:44:52.239 --> 00:44:55.960
<v Speaker 3>My pick would be Notion, which is probably a familiar

882
00:44:56.280 --> 00:44:58.960
<v Speaker 3>platform for some folks, but just in case, through one

883
00:44:59.000 --> 00:45:00.840
<v Speaker 3>of the two people that have never heard of it.

884
00:45:01.000 --> 00:45:04.280
<v Speaker 3>As someone who is currently managing my own personal life

885
00:45:04.320 --> 00:45:09.119
<v Speaker 3>and building an app and building a component library twenty

886
00:45:09.119 --> 00:45:13.719
<v Speaker 3>million other things, I've created Notion databases for all of those,

887
00:45:13.760 --> 00:45:15.679
<v Speaker 3>and I feel like I'm pretty much living out of

888
00:45:15.719 --> 00:45:20.239
<v Speaker 3>that app now. I've got, yeah, one for the app

889
00:45:20.280 --> 00:45:23.480
<v Speaker 3>and one for like family recipes that we're all sharing,

890
00:45:23.719 --> 00:45:27.920
<v Speaker 3>and one for just personal things to do list my calendar.

891
00:45:28.440 --> 00:45:30.719
<v Speaker 3>I feel like if if I didn't have somewhere, I

892
00:45:30.719 --> 00:45:34.159
<v Speaker 3>could doulp my brain lose all of that. Notion has

893
00:45:34.199 --> 00:45:37.280
<v Speaker 3>been just a lifesaver in that regard.

894
00:45:38.159 --> 00:45:40.039
<v Speaker 2>I'm one of the two people that hadn't heard of it,

895
00:45:40.119 --> 00:45:44.239
<v Speaker 2>so maybe the other person is listening here. I'll have

896
00:45:44.239 --> 00:45:47.760
<v Speaker 2>to check this out because I'm currently my life revolves

897
00:45:47.760 --> 00:45:50.719
<v Speaker 2>around one single text file that I keep on my laptop,

898
00:45:51.119 --> 00:45:53.639
<v Speaker 2>which I mean works better than you might think, but

899
00:45:53.719 --> 00:45:55.840
<v Speaker 2>it doesn't scale the greatest.

900
00:45:56.599 --> 00:45:57.960
<v Speaker 1>Going to say that just gave me a little bit

901
00:45:57.960 --> 00:45:59.159
<v Speaker 1>of anxiety.

902
00:46:00.000 --> 00:46:03.960
<v Speaker 2>Mary about It's okay. I have sections to it like.

903
00:46:04.360 --> 00:46:06.119
<v Speaker 2>It's not pure chaos.

904
00:46:07.239 --> 00:46:09.840
<v Speaker 1>Mine's more of the disorganized. I have some notes on

905
00:46:09.880 --> 00:46:12.639
<v Speaker 1>my phone, I have some notes on my laptop. I've

906
00:46:12.639 --> 00:46:15.679
<v Speaker 1>got a Google doc, I've got Google Keep, I've got

907
00:46:15.679 --> 00:46:22.039
<v Speaker 1>stuff everywhere, but no centralized system for where anything goes.

908
00:46:22.159 --> 00:46:24.800
<v Speaker 3>Really can I make a second pick? Actually, because that

909
00:46:24.920 --> 00:46:29.199
<v Speaker 3>propped it us. Yeah. Something I recently picked up is

910
00:46:29.239 --> 00:46:33.599
<v Speaker 3>a product called Rocketbook, and it's basically a reusable notebook

911
00:46:33.840 --> 00:46:34.960
<v Speaker 3>and you can troll on it.

912
00:46:34.960 --> 00:46:37.000
<v Speaker 1>You've got special pens. It actually feels a lot like

913
00:46:37.119 --> 00:46:39.280
<v Speaker 1>paper versus some of the ones that feel like dryaries.

914
00:46:39.639 --> 00:46:41.679
<v Speaker 1>But the cool part is it's got an app with it,

915
00:46:41.719 --> 00:46:43.360
<v Speaker 1>and it comes with like a little QR code in

916
00:46:43.360 --> 00:46:46.519
<v Speaker 1>the bottom of corner and it'll scan it and automatically

917
00:46:46.679 --> 00:46:50.840
<v Speaker 1>upload to wherever you have set things to go. Some

918
00:46:50.920 --> 00:46:53.960
<v Speaker 1>mine go to like my dropbox. It's been really great

919
00:46:54.119 --> 00:46:57.000
<v Speaker 1>for wire framing, especially which I like to do on

920
00:46:57.039 --> 00:47:02.480
<v Speaker 1>paper because I don't know evidently eighty so I like

921
00:47:02.519 --> 00:47:04.840
<v Speaker 1>to draw anything out on paper freation and then upload

922
00:47:04.880 --> 00:47:06.800
<v Speaker 1>it and then I'll have to sit and you know,

923
00:47:06.840 --> 00:47:09.360
<v Speaker 1>actually make a real wireframe out of it and design software.

924
00:47:09.480 --> 00:47:13.079
<v Speaker 1>And being able to skip that like awkward scanning or

925
00:47:13.239 --> 00:47:15.800
<v Speaker 1>like photo taking with my iPhone face of it has

926
00:47:15.800 --> 00:47:19.840
<v Speaker 1>been super nice. No, that's awesome. I'll have to check

927
00:47:19.880 --> 00:47:21.920
<v Speaker 1>that out because I'm kind of the same as you.

928
00:47:22.000 --> 00:47:24.800
<v Speaker 1>If I am trying to design something, I just really

929
00:47:24.880 --> 00:47:26.840
<v Speaker 1>like to do it on a piece of scratch paper

930
00:47:26.880 --> 00:47:29.920
<v Speaker 1>and then yeah, I'll end up hauling that around with

931
00:47:30.000 --> 00:47:32.800
<v Speaker 1>me everywhere until I've finally gotten it designed.

932
00:47:33.920 --> 00:47:36.159
<v Speaker 2>I'm sort of fascinated by this. I'm just looking at

933
00:47:36.159 --> 00:47:39.119
<v Speaker 2>the pictures and videos of it on the site. It

934
00:47:39.159 --> 00:47:42.519
<v Speaker 2>amazes me how far the technology for this has come.

935
00:47:42.960 --> 00:47:46.119
<v Speaker 2>Like even like back in our office, back when offices

936
00:47:46.159 --> 00:47:49.039
<v Speaker 2>where a thing like we had some stuff like similar

937
00:47:49.440 --> 00:47:52.000
<v Speaker 2>not quite like this, but like a whiteboard that was

938
00:47:52.079 --> 00:47:55.199
<v Speaker 2>like you said, it's not like technologies come beyond dry erase,

939
00:47:55.239 --> 00:47:57.960
<v Speaker 2>which sort of fascinates me, Like there's stuff that actually

940
00:47:58.000 --> 00:48:00.280
<v Speaker 2>like comes off and doesn't leave marks till the end

941
00:48:00.320 --> 00:48:02.559
<v Speaker 2>of time. So it's kind of cool that I didn't

942
00:48:02.599 --> 00:48:04.639
<v Speaker 2>realize you could get this in a book that's like

943
00:48:04.840 --> 00:48:06.559
<v Speaker 2>individual thing you can take around with you.

944
00:48:06.719 --> 00:48:10.519
<v Speaker 1>Yeah, jig, but it's like my poor man's iPad. I

945
00:48:10.559 --> 00:48:13.559
<v Speaker 1>could probably accomplish similar with like an iPad and apple pencil,

946
00:48:13.599 --> 00:48:16.280
<v Speaker 1>but this was, you know, a couple hundred dollars cheaper.

947
00:48:17.800 --> 00:48:20.039
<v Speaker 1>It seems like it'd be a lot less distracting as well,

948
00:48:20.119 --> 00:48:23.239
<v Speaker 1>because the iPad is as bad as my phone. Honestly,

949
00:48:23.639 --> 00:48:26.039
<v Speaker 1>that's true. And you do get that feeling of drawing

950
00:48:26.039 --> 00:48:29.079
<v Speaker 1>on paper instead of drying on a screen, which, again,

951
00:48:29.119 --> 00:48:31.239
<v Speaker 1>I know I sound like very old fashioned, but it

952
00:48:31.239 --> 00:48:35.199
<v Speaker 1>does make a difference I think totally. Well, Catherine, thanks

953
00:48:35.239 --> 00:48:38.280
<v Speaker 1>again for having us on. It's been a real pleasure

954
00:48:38.320 --> 00:48:40.840
<v Speaker 1>to talk to you today. Thanks very much for inviting me.

955
00:48:40.960 --> 00:48:43.239
<v Speaker 1>Had a great time. Alrighty, so we've talked about how

956
00:48:43.239 --> 00:48:45.480
<v Speaker 1>to get in touch with you, so I guess we

957
00:48:45.559 --> 00:48:48.559
<v Speaker 1>will see everybody on the next episode of React Round Up.
