WEBVTT

1
00:00:03.895 --> 00:00:05.525
<00:00:03.895>Hello, <00:00:04.361>we <00:00:04.828>are <00:00:05.295>developer.

2
00:00:05.785 --> 00:00:08.005
<00:00:05.785>Who <00:00:06.065>are <00:00:06.345>you <00:00:06.625>doing <00:00:06.905>today? <00:00:07.185>Good.

3
00:00:10.305 --> 00:00:12.725
<00:00:10.305>Um, <00:00:10.504>can <00:00:10.705>I <00:00:10.905>have <00:00:11.105>a <00:00:11.305>show <00:00:11.504>of <00:00:11.705>hands?

4
00:00:13.305 --> 00:00:16.685
<00:00:13.305>How <00:00:13.432>many <00:00:13.559>of <00:00:13.686>you <00:00:13.814>have <00:00:13.941>used <00:00:14.068>an <00:00:14.195>API <00:00:14.323>or <00:00:14.450>an <00:00:14.577>SDK <00:00:14.705>before?

5
00:00:18.315 --> 00:00:20.685
<00:00:18.315>Well, <00:00:18.548>that's <00:00:18.781>almost <00:00:19.015>everyone <00:00:19.248>in <00:00:19.481>the <00:00:19.715>room.

6
00:00:21.505 --> 00:00:24.965
<00:00:21.505>Um, <00:00:21.680>maybe <00:00:21.855>you <00:00:22.029>needed <00:00:22.205>to, <00:00:22.380>um, <00:00:22.555>get <00:00:22.730>tomorrow's <00:00:22.904>weather,

7
00:00:24.965 --> 00:00:27.965
<00:00:24.965>weather <00:00:25.140>forecasts, <00:00:25.315>take <00:00:25.490>a <00:00:25.665>payment <00:00:25.840>in <00:00:26.015>a <00:00:26.190>secure <00:00:26.365>way,

8
00:00:28.625 --> 00:00:30.685
<00:00:28.625>or <00:00:28.905>interact <00:00:29.185>with <00:00:29.465>your <00:00:29.745>AWS <00:00:30.025>services.

9
00:00:31.865 --> 00:00:33.325
<00:00:31.865>But <00:00:32.193>have <00:00:32.522>you <00:00:32.850>ever <00:00:33.179>wondered

10
00:00:33.545 --> 00:00:35.325
<00:00:33.545>how <00:00:33.745>these <00:00:33.945>tools <00:00:34.145>are <00:00:34.345>made <00:00:34.545>available <00:00:34.745>to <00:00:34.945>you?

11
00:00:36.435 --> 00:00:39.925
<00:00:36.435>Well, <00:00:36.551>today <00:00:36.668>I <00:00:36.785>will <00:00:36.901>go, <00:00:37.018>I <00:00:37.135>will <00:00:37.251>bring <00:00:37.368>you <00:00:37.485>on <00:00:37.601>my <00:00:37.718>journey <00:00:37.835>on

12
00:00:39.925 --> 00:00:41.845
<00:00:39.925>how <00:00:40.158>we <00:00:40.391>make <00:00:40.625>our <00:00:40.858>internal <00:00:41.091>tools <00:00:41.324>available

13
00:00:41.985 --> 00:00:43.685
<00:00:41.985>as <00:00:42.335>public <00:00:42.685>SDK <00:00:43.035>at <00:00:43.385>Canva.

14
00:00:44.985 --> 00:00:48.365
<00:00:44.985>I'm <00:00:45.140>Lucy. <00:00:45.296>I <00:00:45.451>am <00:00:45.607>an <00:00:45.762>engineering <00:00:45.918>manager <00:00:46.073>at <00:00:46.229>Canva, <00:00:46.385>um,

15
00:00:48.425 --> 00:00:50.085
<00:00:48.425>and <00:00:48.658>I'm <00:00:48.891>part <00:00:49.125>of <00:00:49.358>the <00:00:49.591>ecosystem <00:00:49.824>group.

16
00:00:51.985 --> 00:00:54.725
<00:00:51.985>So, <00:00:52.185>um, <00:00:52.385>first <00:00:52.585>thing, <00:00:52.785>first, <00:00:52.985>welcome <00:00:53.185>to <00:00:53.385>Canva.

17
00:00:55.425 --> 00:00:59.125
<00:00:55.425>Um, <00:00:55.775>so <00:00:56.125>canvas's <00:00:56.474>mission <00:00:56.824>is

18
00:00:59.125 --> 00:01:00.605
<00:00:59.125>to <00:00:59.391>empower <00:00:59.657>the <00:00:59.924>world <00:01:00.190>to <00:01:00.456>design.

19
00:01:01.235 --> 00:01:02.525
<00:01:01.235>It's <00:01:01.622>an <00:01:02.009>online <00:01:02.396>design

20
00:01:02.585 --> 00:01:05.325
<00:01:02.585>and <00:01:02.818>visual <00:01:03.051>communication <00:01:03.285>platform <00:01:03.518>that <00:01:03.751>allows <00:01:03.985>you

21
00:01:05.325 --> 00:01:08.445
<00:01:05.325>to <00:01:05.558>create <00:01:05.791>beautiful <00:01:06.025>social <00:01:06.258>media <00:01:06.491>posts, <00:01:06.725>um,

22
00:01:09.135 --> 00:01:10.445
<00:01:09.135>logos, <00:01:09.528>videos, <00:01:09.920>and <00:01:10.314>more.

23
00:01:10.705 --> 00:01:12.685
<00:01:10.705>So <00:01:10.905>today <00:01:11.105>I'm <00:01:11.304>using <00:01:11.505>it <00:01:11.705>for <00:01:11.905>this <00:01:12.105>presentation.

24
00:01:13.625 --> 00:01:18.085
<00:01:13.625>Um, <00:01:13.741>so <00:01:13.858>let's <00:01:13.975>have <00:01:14.091>a <00:01:14.208>look. <00:01:14.325>So <00:01:14.441>this <00:01:14.558>is <00:01:14.675>how <00:01:14.791>it <00:01:14.908>looks <00:01:15.025>like.

25
00:01:18.705 --> 00:01:22.365
<00:01:18.705>Um, <00:01:18.938>I <00:01:19.171>can <00:01:19.405>move <00:01:19.638>things <00:01:19.871>around, <00:01:20.105>uh,

26
00:01:22.525 --> 00:01:23.725
<00:01:22.525>I <00:01:22.885>can <00:01:23.245>add <00:01:23.604>elements.

27
00:01:23.745 --> 00:01:26.165
<00:01:23.745>So <00:01:23.885>here <00:01:24.025>I'm <00:01:24.165>just <00:01:24.305>want <00:01:24.445>to <00:01:24.585>add <00:01:24.725>this <00:01:24.865>lo <00:01:25.005>for <00:01:25.145>example.

28
00:01:27.065 --> 00:01:28.725
<00:01:27.065>And <00:01:27.414>I <00:01:27.765>also <00:01:28.115>have <00:01:28.465>apps.

29
00:01:29.265 --> 00:01:32.485
<00:01:29.265>Um, <00:01:29.420>so <00:01:29.576>I <00:01:29.731>can <00:01:29.887>do <00:01:30.042>a <00:01:30.198>lot <00:01:30.353>of <00:01:30.509>different <00:01:30.665>things

30
00:01:32.485 --> 00:01:34.205
<00:01:32.485>with <00:01:32.685>all <00:01:32.885>these <00:01:33.085>apps <00:01:33.285>that <00:01:33.485>I <00:01:33.685>have <00:01:33.885>here.

31
00:01:34.745 --> 00:01:36.885
<00:01:34.745>Um, <00:01:35.025>so <00:01:35.305>let's <00:01:35.585>take <00:01:35.865>an <00:01:36.145>example.

32
00:01:37.055 --> 00:01:38.725
<00:01:37.055>Maybe <00:01:37.288>I <00:01:37.521>want <00:01:37.755>to <00:01:37.988>change <00:01:38.221>my <00:01:38.455>hello

33
00:01:39.025 --> 00:01:42.245
<00:01:39.025>and <00:01:39.152>I <00:01:39.279>want <00:01:39.406>to <00:01:39.534>use <00:01:39.661>something <00:01:39.788>a <00:01:39.915>little <00:01:40.043>bit <00:01:40.170>more <00:01:40.297>like <00:01:40.425>custom

34
00:01:42.475 --> 00:01:43.525
<00:01:42.475>that <00:01:42.947>I <00:01:43.420>like.

35
00:01:45.185 --> 00:01:47.245
<00:01:45.185>So <00:01:45.360>for <00:01:45.535>this, <00:01:45.710>I <00:01:45.885>have <00:01:46.060>the <00:01:46.235>text <00:01:46.410>maker <00:01:46.585>app.

36
00:01:47.365 --> 00:01:52.285
<00:01:47.365>I <00:01:47.505>can <00:01:47.645>say <00:01:47.785>hello, <00:01:47.925>I <00:01:48.065>can <00:01:48.205>change <00:01:48.345>maybe <00:01:48.485>the <00:01:48.625>latest <00:01:48.765>spacing

37
00:01:53.425 --> 00:01:55.085
<00:01:53.425>and <00:01:53.625>I <00:01:53.825>can <00:01:54.024>add <00:01:54.225>this <00:01:54.425>to <00:01:54.625>my <00:01:54.825>design.

38
00:01:57.745 --> 00:02:01.725
<00:01:57.745>So <00:01:57.885>here <00:01:58.025>you <00:01:58.165>go. <00:01:58.305>That's, <00:01:58.445>um, <00:01:58.585>small <00:01:58.725>introduction <00:01:58.865>to <00:01:59.005>to <00:01:59.145>Canva.

39
00:02:03.265 --> 00:02:06.245
<00:02:03.265>And <00:02:03.420>Canva <00:02:03.576>is <00:02:03.731>just <00:02:03.887>one <00:02:04.042>part <00:02:04.198>of <00:02:04.353>a <00:02:04.509>user <00:02:04.665>workflow.

40
00:02:06.545 --> 00:02:10.845
<00:02:06.545>So <00:02:06.745>on <00:02:06.945>Overage <00:02:07.145>Enterprises <00:02:07.345>use <00:02:07.545>140 <00:02:07.745>different <00:02:07.945>software

41
00:02:10.885 --> 00:02:11.885
<00:02:10.884>as <00:02:11.185>a <00:02:11.484>service <00:02:11.785>platform.

42
00:02:12.625 --> 00:02:15.365
<00:02:12.625>And <00:02:12.780>if <00:02:12.936>you <00:02:13.091>think <00:02:13.247>about <00:02:13.402>it <00:02:13.558>every <00:02:13.713>day <00:02:13.869>you're <00:02:14.025>using

43
00:02:15.545 --> 00:02:16.965
<00:02:15.545>so <00:02:15.971>many <00:02:16.397>different <00:02:16.823>softwares,

44
00:02:17.025 --> 00:02:18.485
<00:02:17.025>you're <00:02:17.287>going <00:02:17.550>from <00:02:17.813>one <00:02:18.076>to <00:02:18.339>another.

45
00:02:19.145 --> 00:02:23.245
<00:02:19.145>Um, <00:02:19.320>and <00:02:19.495>the <00:02:19.670>apps <00:02:19.845>in <00:02:20.020>Canva <00:02:20.195>is <00:02:20.370>our <00:02:20.545>way

46
00:02:23.245 --> 00:02:24.645
<00:02:23.245>to <00:02:23.560>bring <00:02:23.875>this <00:02:24.190>platform <00:02:24.505>together

47
00:02:24.745 --> 00:02:26.445
<00:02:24.745>and <00:02:24.945>help <00:02:25.145>our <00:02:25.345>user <00:02:25.545>to <00:02:25.745>be <00:02:25.945>more <00:02:26.145>efficient.

48
00:02:28.905 --> 00:02:32.285
<00:02:28.905>So <00:02:29.045>the <00:02:29.185>apps <00:02:29.325>that <00:02:29.465>I <00:02:29.605>showed <00:02:29.745>you <00:02:29.885>can <00:02:30.025>actually <00:02:30.165>be <00:02:30.305>built

49
00:02:32.385 --> 00:02:33.565
<00:02:32.385>by <00:02:32.916>any <00:02:33.447>developers.

50
00:02:34.115 --> 00:02:36.085
<00:02:34.115>They <00:02:34.290>just <00:02:34.465>have <00:02:34.640>to <00:02:34.815>use <00:02:34.990>our <00:02:35.165>apps <00:02:35.340>as <00:02:35.515>DK

51
00:02:36.825 --> 00:02:40.325
<00:02:36.825>and <00:02:36.980>they <00:02:37.136>can <00:02:37.291>upload <00:02:37.447>the <00:02:37.602>JavaScript <00:02:37.758>bundle, <00:02:37.913>um, <00:02:38.069>in <00:02:38.225>Canva

52
00:02:40.325 --> 00:02:43.045
<00:02:40.325>and <00:02:40.452>it's <00:02:40.579>going <00:02:40.706>to <00:02:40.834>run <00:02:40.961>in <00:02:41.088>a <00:02:41.215>sandbox <00:02:41.343>in <00:02:41.470>the <00:02:41.597>site <00:02:41.725>panel.

53
00:02:44.865 --> 00:02:47.445
<00:02:44.865>So <00:02:45.040>For <00:02:45.215>this <00:02:45.390>conference, <00:02:45.565>I've <00:02:45.740>built <00:02:45.915>a <00:02:46.090>small <00:02:46.265>apps

54
00:02:47.505 --> 00:02:48.765
<00:02:47.505>to <00:02:47.667>show <00:02:47.828>you <00:02:47.991>what <00:02:48.153>it <00:02:48.315>could <00:02:48.476>look <00:02:48.638>like.

55
00:02:49.385 --> 00:02:52.285
<00:02:49.385>So <00:02:49.560>I've <00:02:49.734>selected <00:02:49.910>a <00:02:50.084>design <00:02:50.260>that <00:02:50.435>I <00:02:50.609>liked, <00:02:50.785>um,

56
00:02:52.465 --> 00:02:53.485
<00:02:52.465>and <00:02:52.694>my <00:02:52.924>app <00:02:53.153>is <00:02:53.383>here.

57
00:02:53.485 --> 00:02:54.925
<00:02:53.485>So <00:02:53.701>I've <00:02:53.917>called <00:02:54.133>it, <00:02:54.349>we <00:02:54.565>are <00:02:54.781>developer.

58
00:02:55.245 --> 00:02:58.325
<00:02:55.245>I <00:02:55.361>can <00:02:55.478>see <00:02:55.595>all <00:02:55.711>the <00:02:55.828>speakers <00:02:55.945>of <00:02:56.061>the <00:02:56.178>events <00:02:56.295>and <00:02:56.411>I <00:02:56.528>can <00:02:56.645>drag

59
00:02:58.325 --> 00:02:59.765
<00:02:58.325>and <00:02:58.584>drop <00:02:58.843>them <00:02:59.102>to <00:02:59.361>my <00:02:59.620>design.

60
00:03:00.305 --> 00:03:02.925
<00:03:00.305>And <00:03:00.460>this <00:03:00.616>way <00:03:00.771>I <00:03:00.927>can <00:03:01.082>see <00:03:01.238>very <00:03:01.393>easily <00:03:01.549>like, <00:03:01.705>um,

61
00:03:04.035 --> 00:03:05.365
<00:03:04.035>make <00:03:04.234>my <00:03:04.434>designs <00:03:04.633>the <00:03:04.833>way <00:03:05.032>I <00:03:05.232>want

62
00:03:05.425 --> 00:03:07.045
<00:03:05.425>so <00:03:05.658>I <00:03:05.891>can <00:03:06.125>search <00:03:06.358>for <00:03:06.591>the <00:03:06.825>speakers.

63
00:03:07.265 --> 00:03:09.045
<00:03:07.265>And <00:03:07.498>yeah, <00:03:07.731>just <00:03:07.964>have <00:03:08.198>to <00:03:08.431>customize <00:03:08.665>it.

64
00:03:09.305 --> 00:03:11.525
<00:03:09.305>So <00:03:09.480>if <00:03:09.655>there <00:03:09.830>are <00:03:10.005>any <00:03:10.180>organizer <00:03:10.355>in <00:03:10.530>the <00:03:10.705>room,

65
00:03:11.595 --> 00:03:14.365
<00:03:11.595>they <00:03:11.722>might <00:03:11.849>be <00:03:11.976>wondering <00:03:12.104>where <00:03:12.231>this <00:03:12.358>app <00:03:12.485>was <00:03:12.613>a <00:03:12.740>month <00:03:12.867>ago <00:03:12.995>when

66
00:03:14.365 --> 00:03:17.005
<00:03:14.365>they <00:03:14.598>needed <00:03:14.831>it <00:03:15.065>for <00:03:15.298>their <00:03:15.531>marketing <00:03:15.765>pfos.

67
00:03:18.865 --> 00:03:22.165
<00:03:18.865>And <00:03:18.992>the <00:03:19.119>good <00:03:19.246>news <00:03:19.374>is <00:03:19.501>that <00:03:19.628>it <00:03:19.755>actually <00:03:19.883>took <00:03:20.010>me <00:03:20.137>no <00:03:20.265>time

68
00:03:22.165 --> 00:03:24.925
<00:03:22.165>to <00:03:22.340>build <00:03:22.515>all <00:03:22.690>the <00:03:22.864>code <00:03:23.040>that <00:03:23.215>you <00:03:23.390>have <00:03:23.565>here.

69
00:03:25.305 --> 00:03:27.645
<00:03:25.305>Um, <00:03:25.480>that's <00:03:25.655>all <00:03:25.830>the <00:03:26.005>frontend <00:03:26.180>code <00:03:26.355>that <00:03:26.530>I <00:03:26.705>needed.

70
00:03:28.545 --> 00:03:30.525
<00:03:28.545>Um, <00:03:28.825>okay, <00:03:29.105>so <00:03:29.385>maybe <00:03:29.665>it's <00:03:29.945>also

71
00:03:30.525 --> 00:03:32.325
<00:03:30.525>because <00:03:30.805>it's <00:03:31.085>not <00:03:31.365>production <00:03:31.645>ready, <00:03:31.925>uh,

72
00:03:32.425 --> 00:03:33.685
<00:03:32.425>but <00:03:32.651>the <00:03:32.878>frontend <00:03:33.105>code <00:03:33.332>is <00:03:33.559>here.

73
00:03:33.755 --> 00:03:36.005
<00:03:33.755>This <00:03:33.954>is <00:03:34.155>actually <00:03:34.355>like <00:03:34.555>the <00:03:34.755>real <00:03:34.954>frontend <00:03:35.155>code.

74
00:03:36.665 --> 00:03:38.845
<00:03:36.665>Um, <00:03:36.864>and <00:03:37.065>the <00:03:37.265>reason <00:03:37.465>why <00:03:37.665>it's <00:03:37.864>tiny <00:03:38.065>is

75
00:03:38.845 --> 00:03:40.725
<00:03:38.845>because <00:03:39.045>I <00:03:39.245>was <00:03:39.445>able <00:03:39.645>to <00:03:39.845>use <00:03:40.045>a <00:03:40.245>template

76
00:03:40.825 --> 00:03:42.605
<00:03:40.825>and <00:03:41.024>I'm <00:03:41.225>going <00:03:41.424>to <00:03:41.625>talk <00:03:41.825>about <00:03:42.024>it <00:03:42.225>later

77
00:03:42.605 --> 00:03:43.685
<00:03:42.605>during <00:03:43.091>this <00:03:43.577>presentation.

78
00:03:45.305 --> 00:03:48.525
<00:03:45.305>But <00:03:45.445>first <00:03:45.585>by <00:03:45.725>now <00:03:45.865>you <00:03:46.005>might <00:03:46.145>be <00:03:46.285>wondering <00:03:46.425>who <00:03:46.565>is <00:03:46.705>building

79
00:03:48.595 --> 00:03:49.845
<00:03:48.595>what <00:03:48.970>apps <00:03:49.345>and <00:03:49.720>why.

80
00:03:50.745 --> 00:03:54.485
<00:03:50.745>So, <00:03:50.900>um, <00:03:51.056>first <00:03:51.211>we <00:03:51.367>have <00:03:51.522>the <00:03:51.678>third <00:03:51.833>party <00:03:51.989>app <00:03:52.145>developers.

81
00:03:54.945 --> 00:03:58.365
<00:03:54.945>So <00:03:55.072>there <00:03:55.199>are <00:03:55.326>developers <00:03:55.454>who <00:03:55.581>are <00:03:55.708>relying <00:03:55.835>on <00:03:55.963>your <00:03:56.090>apps <00:03:56.217>as <00:03:56.345>dk

82
00:03:58.825 --> 00:04:02.625
<00:03:58.825>and <00:03:59.105>they <00:03:59.385>generally <00:03:59.665>want <00:03:59.945>to, <00:04:00.225>um,

83
00:04:03.975 --> 00:04:08.225
<00:04:03.975>improve <00:04:04.130>Canva, <00:04:04.286>like <00:04:04.441>make <00:04:04.597>apps, <00:04:04.752>um, <00:04:04.908>make <00:04:05.063>like <00:04:05.219>add <00:04:05.375>features

84
00:04:08.225 --> 00:04:09.505
<00:04:08.225>to <00:04:08.455>Canva <00:04:08.685>that <00:04:08.916>maybe <00:04:09.146>they're <00:04:09.377>lacking

85
00:04:09.765 --> 00:04:11.425
<00:04:09.765>or <00:04:09.964>maybe <00:04:10.165>they <00:04:10.364>just <00:04:10.565>want <00:04:10.765>to <00:04:10.964>get <00:04:11.165>exposure

86
00:04:11.525 --> 00:04:15.865
<00:04:11.525>for <00:04:11.700>the <00:04:11.875>185 <00:04:12.050>million <00:04:12.225>active <00:04:12.400>users <00:04:12.575>that <00:04:12.750>we <00:04:12.925>have.

87
00:04:16.125 --> 00:04:20.185
<00:04:16.125>Um, <00:04:16.241>each <00:04:16.358>month, <00:04:16.475>if <00:04:16.591>you <00:04:16.708>want <00:04:16.825>to <00:04:16.941>hear <00:04:17.058>more <00:04:17.175>about <00:04:17.291>the <00:04:17.408>apps <00:04:17.524>ass,

88
00:04:20.245 --> 00:04:23.145
<00:04:20.245>DK <00:04:20.372>Anto <00:04:20.499>is <00:04:20.626>going <00:04:20.754>to <00:04:20.881>talk <00:04:21.008>to <00:04:21.135>give <00:04:21.263>a <00:04:21.390>talk <00:04:21.517>about <00:04:21.644>this,

89
00:04:23.325 --> 00:04:24.425
<00:04:23.325>uh, <00:04:23.820>later <00:04:24.315>today.

90
00:04:24.485 --> 00:04:26.545
<00:04:24.485>So <00:04:24.685>you <00:04:24.885>should <00:04:25.085>go <00:04:25.285>and <00:04:25.485>listen <00:04:25.685>to <00:04:25.885>him.

91
00:04:28.725 --> 00:04:30.745
<00:04:28.725>Um, <00:04:28.900>then <00:04:29.075>we <00:04:29.250>have <00:04:29.425>the <00:04:29.600>partner <00:04:29.775>apps <00:04:29.950>ass <00:04:30.125>dk.

92
00:04:31.085 --> 00:04:33.185
<00:04:31.085>It <00:04:31.364>is <00:04:31.645>actually <00:04:31.924>more <00:04:32.205>enterprise <00:04:32.484>focus.

93
00:04:33.725 --> 00:04:36.145
<00:04:33.725>So <00:04:33.925>for <00:04:34.125>this <00:04:34.325>one <00:04:34.525>we <00:04:34.725>have <00:04:34.925>enterprise <00:04:35.125>customers

94
00:04:36.685 --> 00:04:38.145
<00:04:36.685>and <00:04:37.342>system <00:04:37.998>integrators.

95
00:04:39.005 --> 00:04:41.385
<00:04:39.005>The <00:04:39.238>enterprise <00:04:39.471>customer <00:04:39.705>usually <00:04:39.938>wants <00:04:40.171>their <00:04:40.405>business

96
00:04:41.485 --> 00:04:44.065
<00:04:41.485>to <00:04:41.765>be <00:04:42.045>available <00:04:42.325>from <00:04:42.605>anywhere, <00:04:42.885>uh,

97
00:04:44.085 --> 00:04:46.545
<00:04:44.085>and <00:04:44.240>they <00:04:44.396>usually <00:04:44.551>have <00:04:44.707>a <00:04:44.862>user <00:04:45.018>base <00:04:45.173>that <00:04:45.329>expects <00:04:45.484>them

98
00:04:46.545 --> 00:04:47.585
<00:04:46.545>to <00:04:46.857>be <00:04:47.169>on <00:04:47.481>Canva.

99
00:04:48.775 --> 00:04:50.585
<00:04:48.775>Then <00:04:49.054>we <00:04:49.335>have <00:04:49.614>the <00:04:49.895>system <00:04:50.174>integrators.

100
00:04:51.405 --> 00:04:54.785
<00:04:51.405>Um, <00:04:51.560>they <00:04:51.716>are <00:04:51.871>developer <00:04:52.027>directly <00:04:52.182>working <00:04:52.338>with <00:04:52.493>us <00:04:52.649>at <00:04:52.804>Canva

101
00:04:54.885 --> 00:04:57.865
<00:04:54.885>and <00:04:55.012>they <00:04:55.139>help <00:04:55.266>us <00:04:55.394>to <00:04:55.521>release <00:04:55.648>the <00:04:55.775>strategic <00:04:55.903>apps <00:04:56.030>that <00:04:56.157>we <00:04:56.284>need.

102
00:04:59.325 --> 00:05:02.265
<00:04:59.325>And <00:04:59.480>then <00:04:59.636>there <00:04:59.791>is <00:04:59.947>my <00:05:00.102>team <00:05:00.258>that's <00:05:00.413>a <00:05:00.569>PI <00:05:00.724>team

103
00:05:02.485 --> 00:05:04.385
<00:05:02.485>for <00:05:02.835>partner <00:05:03.185>apps <00:05:03.535>and <00:05:03.885>integrations.

104
00:05:04.805 --> 00:05:06.825
<00:05:04.805>And <00:05:05.005>this <00:05:05.205>is <00:05:05.405>where <00:05:05.605>the <00:05:05.805>innovation <00:05:06.005>is <00:05:06.205>happening.

105
00:05:06.895 --> 00:05:08.905
<00:05:06.895>This <00:05:07.070>is <00:05:07.245>where <00:05:07.419>we <00:05:07.594>are <00:05:07.770>building <00:05:07.945>the <00:05:08.120>latest <00:05:08.294>tooling

106
00:05:09.175 --> 00:05:12.385
<00:05:09.175>that <00:05:09.315>is <00:05:09.455>going <00:05:09.595>to <00:05:09.735>be <00:05:09.875>available <00:05:10.015>for <00:05:10.155>the <00:05:10.295>partner <00:05:10.435>Accesss <00:05:10.575>Decay,

107
00:05:12.525 --> 00:05:15.585
<00:05:12.525>and <00:05:12.724>sometimes <00:05:12.924>eventually <00:05:13.125>for <00:05:13.325>the <00:05:13.525>ABS <00:05:13.724>Accesss <00:05:13.924>Decay.

108
00:05:17.525 --> 00:05:20.505
<00:05:17.525>So <00:05:17.652>in <00:05:17.779>my <00:05:17.906>team, <00:05:18.034>we <00:05:18.161>are <00:05:18.288>only <00:05:18.415>looking <00:05:18.543>after <00:05:18.670>a <00:05:18.797>few <00:05:18.924>apps.

109
00:05:20.845 --> 00:05:24.185
<00:05:20.845>So <00:05:21.078>for <00:05:21.311>example, <00:05:21.545>YouTube <00:05:21.778>and <00:05:22.011>gi, <00:05:22.245>um,

110
00:05:25.445 --> 00:05:28.905
<00:05:25.445>and <00:05:25.620>building <00:05:25.795>apps <00:05:25.969>is <00:05:26.145>just <00:05:26.320>a <00:05:26.495>thin <00:05:26.670>part <00:05:26.844>of

111
00:05:28.935 --> 00:05:30.025
<00:05:28.935>what <00:05:29.131>we <00:05:29.327>do <00:05:29.523>in <00:05:29.719>our <00:05:29.916>team.

112
00:05:30.485 --> 00:05:34.065
<00:05:30.485>So <00:05:30.625>you <00:05:30.765>might <00:05:30.905>be <00:05:31.045>wondering, <00:05:31.185>um, <00:05:31.325>like <00:05:31.465>we <00:05:31.605>have <00:05:31.745>a <00:05:31.885>lot

113
00:05:34.065 --> 00:05:35.185
<00:05:34.065>of <00:05:34.317>apps <00:05:34.569>in <00:05:34.821>our <00:05:35.073>roadmap

114
00:05:35.185 --> 00:05:36.545
<00:05:35.185>and <00:05:35.321>there <00:05:35.457>are <00:05:35.593>a <00:05:35.729>lot <00:05:35.865>that <00:05:36.001>we <00:05:36.137>need <00:05:36.273>to <00:05:36.409>build.

115
00:05:36.565 --> 00:05:38.865
<00:05:36.565>So <00:05:36.705>why <00:05:36.844>are <00:05:36.985>we <00:05:37.125>just <00:05:37.265>looking <00:05:37.405>after <00:05:37.545>a <00:05:37.685>few <00:05:37.825>of <00:05:37.965>them?

116
00:05:40.845 --> 00:05:42.225
<00:05:40.845>That's <00:05:41.052>because <00:05:41.259>when <00:05:41.466>you <00:05:41.673>are <00:05:41.880>only <00:05:42.087>looking

117
00:05:42.225 --> 00:05:46.105
<00:05:42.225>after <00:05:42.380>a <00:05:42.536>few <00:05:42.691>apps, <00:05:42.847>you <00:05:43.002>can <00:05:43.158>really <00:05:43.313>be <00:05:43.469>focusing <00:05:43.625>on

118
00:05:46.985 --> 00:05:49.265
<00:05:46.985>learning <00:05:47.160>about <00:05:47.335>the <00:05:47.510>third <00:05:47.685>party <00:05:47.860>platforms <00:05:48.035>that <00:05:48.210>they're <00:05:48.385>going

119
00:05:49.265 --> 00:05:52.465
<00:05:49.265>to <00:05:49.498>integrate <00:05:49.731>with <00:05:49.965>or, <00:05:50.198>um, <00:05:50.431>provide <00:05:50.664>feedback

120
00:05:52.465 --> 00:05:55.985
<00:05:52.465>to <00:05:52.640>the <00:05:52.815>internal <00:05:52.990>teams, <00:05:53.165>uh, <00:05:53.340>about <00:05:53.515>the <00:05:53.690>apps, <00:05:53.865>SDKs

121
00:05:55.985 --> 00:05:58.325
<00:05:55.985>that <00:05:56.265>we're <00:05:56.545>using <00:05:56.825>and <00:05:57.105>overall <00:05:57.385>building

122
00:05:58.325 --> 00:05:59.445
<00:05:58.325>something <00:05:58.661>of <00:05:58.997>high <00:05:59.332>quality.

123
00:05:59.795 --> 00:06:04.195
<00:05:59.795>That <00:06:00.145>is <00:06:00.495>great. <00:06:00.845>And <00:06:01.195>so

124
00:06:04.385 --> 00:06:07.915
<00:06:04.385>with <00:06:04.540>more <00:06:04.696>apps, <00:06:04.851>it's <00:06:05.007>not <00:06:05.162>just <00:06:05.318>about <00:06:05.473>creating <00:06:05.629>new <00:06:05.784>apps,

125
00:06:07.985 --> 00:06:10.195
<00:06:07.985>it's <00:06:08.218>also <00:06:08.451>about <00:06:08.685>maintaining <00:06:08.918>the <00:06:09.151>previous <00:06:09.385>ones.

126
00:06:10.775 --> 00:06:14.235
<00:06:10.775>Um, <00:06:10.974>and <00:06:11.174>so <00:06:11.375>the <00:06:11.575>more <00:06:11.775>apps <00:06:11.974>you <00:06:12.174>have,

127
00:06:14.375 --> 00:06:15.755
<00:06:14.375>the <00:06:14.685>more <00:06:14.996>difficult <00:06:15.306>it <00:06:15.617>becomes.

128
00:06:16.015 --> 00:06:17.115
<00:06:16.015>Um, <00:06:16.344>so <00:06:16.675>it's <00:06:17.005>not

129
00:06:17.115 --> 00:06:18.195
<00:06:17.115>because <00:06:17.358>you're <00:06:17.601>building <00:06:17.844>more <00:06:18.087>apps

130
00:06:18.195 --> 00:06:21.355
<00:06:18.195>that <00:06:18.370>you <00:06:18.545>are <00:06:18.719>becoming <00:06:18.895>an <00:06:19.070>expert <00:06:19.245>that <00:06:19.420>can, <00:06:19.594>um,

131
00:06:21.925 --> 00:06:23.355
<00:06:21.925>build <00:06:22.354>them <00:06:22.783>very <00:06:23.212>efficiently.

132
00:06:23.355 --> 00:06:25.715
<00:06:23.355>Like <00:06:23.530>it's <00:06:23.705>actually <00:06:23.880>quite <00:06:24.055>the <00:06:24.230>opposite, <00:06:24.405>like <00:06:24.580>the <00:06:24.755>quality

133
00:06:25.775 --> 00:06:27.595
<00:06:25.775>of <00:06:25.950>your <00:06:26.125>apps <00:06:26.299>is <00:06:26.474>actually <00:06:26.650>going <00:06:26.825>to <00:06:27.000>go <00:06:27.174>down.

134
00:06:29.415 --> 00:06:32.155
<00:06:29.415>So <00:06:29.590>this <00:06:29.765>doesn't <00:06:29.940>work. <00:06:30.115>So <00:06:30.290>how <00:06:30.465>do <00:06:30.640>we <00:06:30.815>scale?

135
00:06:35.025 --> 00:06:36.125
<00:06:35.025>As <00:06:35.272>I <00:06:35.520>was <00:06:35.767>saying <00:06:36.015>earlier,

136
00:06:36.845 --> 00:06:39.445
<00:06:36.845>building <00:06:36.972>apps <00:06:37.099>is <00:06:37.226>just <00:06:37.354>a <00:06:37.481>thin <00:06:37.608>part <00:06:37.735>of <00:06:37.863>what <00:06:37.990>the <00:06:38.117>team <00:06:38.245>does.

137
00:06:39.865 --> 00:06:43.645
<00:06:39.865>We <00:06:40.065>actually <00:06:40.265>focus <00:06:40.465>on <00:06:40.665>enabling <00:06:40.865>system <00:06:41.065>integrators <00:06:41.265>so

138
00:06:43.645 --> 00:06:47.405
<00:06:43.645>that <00:06:43.820>they <00:06:43.995>can <00:06:44.169>be <00:06:44.344>building <00:06:44.520>apps, <00:06:44.695>um, <00:06:44.870>very <00:06:45.044>efficiently.

139
00:06:48.115 --> 00:06:50.325
<00:06:48.115>They <00:06:48.290>can <00:06:48.465>scale, <00:06:48.640>we <00:06:48.815>can <00:06:48.990>have <00:06:49.165>more <00:06:49.340>system <00:06:49.515>integrators

140
00:06:50.325 --> 00:06:51.445
<00:06:50.325>and <00:06:50.493>so <00:06:50.661>we <00:06:50.829>can <00:06:50.997>have <00:06:51.165>more <00:06:51.332>apps.

141
00:06:54.185 --> 00:06:57.385
<00:06:54.185>Um, <00:06:54.385>so <00:06:54.585>now <00:06:54.785>you <00:06:54.985>might <00:06:55.185>be <00:06:55.385>wondering, <00:06:55.585>so

142
00:06:57.965 --> 00:06:59.625
<00:06:57.965>why <00:06:58.198>are <00:06:58.431>you <00:06:58.665>building <00:06:58.898>apps <00:06:59.131>at <00:06:59.365>all?

143
00:06:59.625 --> 00:07:02.785
<00:06:59.625>Like <00:06:59.780>maybe <00:06:59.936>you <00:07:00.091>should <00:07:00.247>just <00:07:00.402>be <00:07:00.558>focusing <00:07:00.713>on <00:07:00.869>your <00:07:01.025>tooling

144
00:07:02.785 --> 00:07:07.035
<00:07:02.785>and <00:07:02.925>enablement <00:07:03.065>and, <00:07:03.205>and <00:07:03.345>you <00:07:03.485>don't <00:07:03.625>need <00:07:03.765>to <00:07:03.905>build <00:07:04.045>any <00:07:04.185>apps.

145
00:07:07.865 --> 00:07:09.395
<00:07:07.865>Well, <00:07:08.094>there <00:07:08.324>are <00:07:08.553>two <00:07:08.783>reasons <00:07:09.012>for <00:07:09.241>that.

146
00:07:10.395 --> 00:07:11.935
<00:07:10.395>The <00:07:10.626>first <00:07:10.857>one <00:07:11.087>is <00:07:11.319>that <00:07:11.550>we <00:07:11.781>want

147
00:07:11.935 --> 00:07:14.255
<00:07:11.935>to <00:07:12.215>provide <00:07:12.495>the <00:07:12.775>best <00:07:13.055>marque <00:07:13.335>apps

148
00:07:15.235 --> 00:07:17.895
<00:07:15.235>and <00:07:15.515>um, <00:07:15.795>no <00:07:16.075>matter <00:07:16.355>which <00:07:16.635>vertical

149
00:07:18.155 --> 00:07:20.935
<00:07:18.155>or <00:07:18.282>user <00:07:18.409>are <00:07:18.536>in, <00:07:18.664>we <00:07:18.791>want <00:07:18.918>them <00:07:19.045>to <00:07:19.173>have <00:07:19.300>the <00:07:19.427>best <00:07:19.554>experience.

150
00:07:21.315 --> 00:07:24.175
<00:07:21.315>So <00:07:21.470>if <00:07:21.626>a <00:07:21.781>user <00:07:21.937>is <00:07:22.092>in <00:07:22.248>project <00:07:22.403>management, <00:07:22.559>for <00:07:22.715>example,

151
00:07:24.515 --> 00:07:27.015
<00:07:24.515>we <00:07:24.690>have <00:07:24.865>created <00:07:25.039>the <00:07:25.215>monday.com <00:07:25.390>and <00:07:25.565>the <00:07:25.740>Asana <00:07:25.914>apps.

152
00:07:28.555 --> 00:07:30.255
<00:07:28.555>But <00:07:28.788>the <00:07:29.021>second <00:07:29.255>reason <00:07:29.488>is <00:07:29.721>doc <00:07:29.955>food.

153
00:07:30.835 --> 00:07:34.255
<00:07:30.835>We <00:07:30.990>actually <00:07:31.146>want <00:07:31.301>to <00:07:31.457>be <00:07:31.612>able <00:07:31.768>to <00:07:31.923>use <00:07:32.079>our <00:07:32.234>project.

154
00:07:34.635 --> 00:07:37.535
<00:07:34.635>So <00:07:34.762>for <00:07:34.889>the <00:07:35.016>one <00:07:35.144>who <00:07:35.271>don't <00:07:35.398>know, <00:07:35.525>dog <00:07:35.653>fooding <00:07:35.780>is <00:07:35.907>a <00:07:36.034>concept

155
00:07:37.685 --> 00:07:41.095
<00:07:37.685>that <00:07:37.860>consists <00:07:38.035>of <00:07:38.210>consuming <00:07:38.385>your <00:07:38.560>own <00:07:38.735>product <00:07:38.910>in <00:07:39.085>order

156
00:07:41.195 --> 00:07:44.175
<00:07:41.195>to <00:07:41.395>increase <00:07:41.594>is, <00:07:41.795>um, <00:07:41.995>the <00:07:42.195>quality <00:07:42.395>of <00:07:42.594>it.

157
00:07:45.885 --> 00:07:47.295
<00:07:45.885>Also, <00:07:46.096>maybe <00:07:46.308>what <00:07:46.519>you <00:07:46.731>don't <00:07:46.942>know, <00:07:47.154>it's

158
00:07:47.295 --> 00:07:48.535
<00:07:47.295>where <00:07:47.518>this <00:07:47.741>name <00:07:47.964>is <00:07:48.187>coming <00:07:48.410>from.

159
00:07:48.835 --> 00:07:51.335
<00:07:48.835>So <00:07:49.034>just <00:07:49.234>a <00:07:49.435>fun <00:07:49.635>fact. <00:07:49.835>Um, <00:07:50.034>the <00:07:50.234>origin

160
00:07:51.435 --> 00:07:53.895
<00:07:51.435>of <00:07:51.635>the <00:07:51.835>dog <00:07:52.035>fooding <00:07:52.235>world <00:07:52.435>is <00:07:52.635>actually <00:07:52.835>coming.

161
00:07:53.965 --> 00:07:55.455
<00:07:53.965>Like <00:07:54.188>there <00:07:54.412>are <00:07:54.635>a <00:07:54.859>few <00:07:55.082>origin <00:07:55.306>stories,

162
00:07:55.795 --> 00:07:57.735
<00:07:55.795>but <00:07:55.935>the <00:07:56.075>one <00:07:56.215>that <00:07:56.355>I <00:07:56.495>prefer <00:07:56.635>is <00:07:56.775>the <00:07:56.915>one <00:07:57.055>about <00:07:57.195>the

163
00:07:57.955 --> 00:07:59.135
<00:07:57.955>Calcan <00:07:58.486>dog <00:07:59.017>food.

164
00:07:59.395 --> 00:08:02.735
<00:07:59.395>And <00:07:59.534>it <00:07:59.674>is <00:07:59.815>says <00:07:59.955>that <00:08:00.094>the <00:08:00.234>Calcan <00:08:00.375>president <00:08:00.515>ate <00:08:00.655>a <00:08:00.794>can

165
00:08:02.735 --> 00:08:04.415
<00:08:02.735>of <00:08:02.968>dog <00:08:03.201>food <00:08:03.435>at <00:08:03.668>a <00:08:03.901>shareholder <00:08:04.135>meeting

166
00:08:04.475 --> 00:08:09.335
<00:08:04.475>to <00:08:04.825>prove <00:08:05.175>its <00:08:05.525>quality, <00:08:05.875>okay?

167
00:08:09.955 --> 00:08:12.375
<00:08:09.955>So <00:08:10.188>we <00:08:10.421>needed <00:08:10.655>to <00:08:10.888>build <00:08:11.121>an <00:08:11.354>app.

168
00:08:12.675 --> 00:08:15.535
<00:08:12.675>Um, <00:08:12.815>and <00:08:12.955>this <00:08:13.095>is <00:08:13.235>actually <00:08:13.375>an <00:08:13.515>example <00:08:13.655>of <00:08:13.795>of <00:08:13.935>dog <00:08:14.075>fooding.

169
00:08:15.955 --> 00:08:20.205
<00:08:15.955>So <00:08:16.130>we <00:08:16.305>had <00:08:16.479>a <00:08:16.655>selection <00:08:16.830>popover <00:08:17.005>at <00:08:17.180>the <00:08:17.354>top

170
00:08:20.505 --> 00:08:22.005
<00:08:20.505>and <00:08:20.955>a <00:08:21.405>carousel <00:08:21.855>underneath.

171
00:08:22.505 --> 00:08:24.725
<00:08:22.505>And <00:08:22.705>when <00:08:22.905>we <00:08:23.105>built <00:08:23.305>that <00:08:23.505>up, <00:08:23.705>we <00:08:23.905>realized

172
00:08:24.755 --> 00:08:28.325
<00:08:24.755>that <00:08:24.910>the <00:08:25.066>selection <00:08:25.221>arrow <00:08:25.377>of <00:08:25.532>the <00:08:25.688>carousel <00:08:25.843>was <00:08:25.999>still <00:08:26.155>visible

173
00:08:29.425 --> 00:08:33.005
<00:08:29.425>and <00:08:29.532>it <00:08:29.640>was <00:08:29.748>not <00:08:29.855>a <00:08:29.963>big <00:08:30.071>bug, <00:08:30.178>it <00:08:30.286>was <00:08:30.394>just <00:08:30.501>a <00:08:30.609>problem <00:08:30.717>of, <00:08:30.825>uh,

174
00:08:33.205 --> 00:08:36.165
<00:08:33.205>z <00:08:33.485>index <00:08:33.765>and <00:08:34.045>stacking <00:08:34.325>context <00:08:34.605>issue.

175
00:08:37.825 --> 00:08:40.765
<00:08:37.825>But <00:08:37.965>if <00:08:38.105>you <00:08:38.245>think <00:08:38.385>about <00:08:38.525>it, <00:08:38.665>you <00:08:38.805>had <00:08:38.945>on <00:08:39.085>one <00:08:39.225>side,

176
00:08:40.905 --> 00:08:44.485
<00:08:40.905>one <00:08:41.079>team <00:08:41.255>building <00:08:41.429>the <00:08:41.605>apps, <00:08:41.780>SDK, <00:08:41.954>so <00:08:42.130>individual <00:08:42.304>components.

177
00:08:44.865 --> 00:08:47.965
<00:08:44.865>So <00:08:45.040>you <00:08:45.215>actually <00:08:45.390>really <00:08:45.565>needed <00:08:45.740>to <00:08:45.915>have <00:08:46.090>another <00:08:46.265>team

178
00:08:48.305 --> 00:08:50.485
<00:08:48.305>to <00:08:48.538>bring <00:08:48.771>this <00:08:49.005>component <00:08:49.238>together <00:08:49.471>to <00:08:49.704>realize

179
00:08:50.485 --> 00:08:51.525
<00:08:50.485>that <00:08:50.797>this <00:08:51.109>was <00:08:51.420>happening.

180
00:08:54.145 --> 00:08:57.565
<00:08:54.145>So <00:08:54.272>thanks <00:08:54.399>to <00:08:54.526>this <00:08:54.654>dogood <00:08:54.781>it <00:08:54.908>means <00:08:55.035>that <00:08:55.163>we <00:08:55.290>can <00:08:55.417>really <00:08:55.545>create

181
00:08:57.715 --> 00:09:01.085
<00:08:57.715>that, <00:08:57.995>um, <00:08:58.275>quick <00:08:58.555>feedback <00:08:58.835>loop, <00:08:59.115>um,

182
00:09:01.545 --> 00:09:05.405
<00:09:01.545>and <00:09:01.685>solve <00:09:01.824>any <00:09:01.964>bugs <00:09:02.104>no <00:09:02.245>matter <00:09:02.385>if, <00:09:02.525>even <00:09:02.665>if <00:09:02.805>they're <00:09:02.944>tiny.

183
00:09:07.665 --> 00:09:09.965
<00:09:07.665>So <00:09:07.820>that <00:09:07.976>was <00:09:08.131>for <00:09:08.287>the <00:09:08.442>dogood <00:09:08.598>part <00:09:08.753>of <00:09:08.909>the <00:09:09.064>team,

184
00:09:10.345 --> 00:09:11.725
<00:09:10.345>but <00:09:10.552>then <00:09:10.759>we <00:09:10.966>started <00:09:11.173>to <00:09:11.380>look <00:09:11.587>at

185
00:09:11.795 --> 00:09:13.245
<00:09:11.795>what <00:09:12.121>our <00:09:12.447>partner <00:09:12.773>we're <00:09:13.100>building.

186
00:09:16.305 --> 00:09:19.005
<00:09:16.305>So <00:09:16.505>we <00:09:16.704>realized <00:09:16.905>that <00:09:17.104>we're <00:09:17.305>building <00:09:17.505>a <00:09:17.704>lot

187
00:09:19.065 --> 00:09:22.525
<00:09:19.065>of <00:09:19.220>digital <00:09:19.376>asset <00:09:19.531>management <00:09:19.687>app, <00:09:19.842>also <00:09:19.998>known <00:09:20.153>as <00:09:20.309>dam <00:09:20.465>app

188
00:09:22.545 --> 00:09:24.365
<00:09:22.545>or <00:09:23.245>content <00:09:23.944>app.

189
00:09:25.185 --> 00:09:29.525
<00:09:25.185>So <00:09:25.340>here <00:09:25.496>you <00:09:25.651>have <00:09:25.807>the <00:09:25.962>example <00:09:26.118>of <00:09:26.273>um, <00:09:26.429>SharePoint, <00:09:26.584>uh,

190
00:09:29.645 --> 00:09:31.165
<00:09:29.645>Frontify, <00:09:30.101>SharePoint <00:09:30.557>and <00:09:31.012>YouTube

191
00:09:32.985 --> 00:09:36.365
<00:09:32.985>and <00:09:33.160>all <00:09:33.335>these <00:09:33.510>apps <00:09:33.685>have <00:09:33.860>the <00:09:34.035>capability <00:09:34.210>to, <00:09:34.385>uh,

192
00:09:36.455 --> 00:09:38.525
<00:09:36.455>fetch <00:09:36.655>some <00:09:36.855>asset <00:09:37.055>from <00:09:37.255>a <00:09:37.455>third <00:09:37.655>party <00:09:37.855>platform,

193
00:09:38.935 --> 00:09:41.245
<00:09:38.935>bring <00:09:39.109>them <00:09:39.285>into <00:09:39.459>Canvas <00:09:39.635>that <00:09:39.810>they <00:09:39.984>can <00:09:40.160>easily <00:09:40.334>be

194
00:09:41.245 --> 00:09:42.325
<00:09:41.245>used <00:09:41.569>in <00:09:41.893>your <00:09:42.217>design.

195
00:09:44.215 --> 00:09:47.435
<00:09:44.215>So <00:09:44.390>we <00:09:44.565>are <00:09:44.740>all <00:09:44.915>developer <00:09:45.090>at, <00:09:45.265>we <00:09:45.440>are <00:09:45.615>developer.

196
00:09:47.815 --> 00:09:49.555
<00:09:47.815>So, <00:09:48.165>um, <00:09:48.515>you <00:09:48.865>probably <00:09:49.215>know

197
00:09:49.555 --> 00:09:51.195
<00:09:49.555>that <00:09:49.788>when <00:09:50.021>you're <00:09:50.255>building <00:09:50.488>something <00:09:50.721>like <00:09:50.954>that,

198
00:09:51.255 --> 00:09:55.155
<00:09:51.255>you <00:09:51.488>usually <00:09:51.721>have, <00:09:51.955>uh, <00:09:52.188>design, <00:09:52.421>um, <00:09:52.655>libraries

199
00:09:55.155 --> 00:09:57.155
<00:09:55.155>that <00:09:55.310>you <00:09:55.466>can <00:09:55.621>use <00:09:55.777>in <00:09:55.932>order <00:09:56.088>to <00:09:56.243>build <00:09:56.399>your <00:09:56.555>component.

200
00:09:57.575 --> 00:09:59.755
<00:09:57.575>And <00:09:57.715>this <00:09:57.855>is <00:09:57.995>exactly <00:09:58.135>what <00:09:58.275>we <00:09:58.415>were <00:09:58.555>doing <00:09:58.695>with <00:09:58.835>our <00:09:58.975>partner,

201
00:10:01.695 --> 00:10:05.875
<00:10:01.695>but <00:10:01.928>this <00:10:02.161>is <00:10:02.395>actually <00:10:02.628>the <00:10:02.861>smallest <00:10:03.095>atom

202
00:10:05.875 --> 00:10:07.715
<00:10:05.875>that <00:10:06.030>you <00:10:06.186>can <00:10:06.341>use <00:10:06.497>in <00:10:06.652>order <00:10:06.808>to <00:10:06.963>build <00:10:07.119>your <00:10:07.275>apps.

203
00:10:08.715 --> 00:10:12.255
<00:10:08.715>So <00:10:08.870>in <00:10:09.026>looking <00:10:09.181>at <00:10:09.337>this, <00:10:09.492>like <00:10:09.648>maybe <00:10:09.803>you <00:10:09.959>can <00:10:10.115>see

204
00:10:12.255 --> 00:10:14.095
<00:10:12.255>that <00:10:12.430>these <00:10:12.605>apps <00:10:12.780>have <00:10:12.955>a <00:10:13.130>few <00:10:13.305>things <00:10:13.480>in <00:10:13.655>common.

205
00:10:15.955 --> 00:10:18.375
<00:10:15.955>So <00:10:16.188>in <00:10:16.421>case <00:10:16.655>it <00:10:16.888>was <00:10:17.121>not <00:10:17.355>obvious,

206
00:10:18.655 --> 00:10:20.215
<00:10:18.655>I <00:10:19.005>highlighted <00:10:19.355>the <00:10:19.704>different <00:10:20.055>parts.

207
00:10:20.675 --> 00:10:22.815
<00:10:20.675>So <00:10:20.849>in <00:10:21.025>green <00:10:21.199>at <00:10:21.375>the <00:10:21.550>top <00:10:21.724>you <00:10:21.900>can <00:10:22.074>see

208
00:10:22.815 --> 00:10:25.335
<00:10:22.815>that <00:10:22.990>all <00:10:23.165>these <00:10:23.340>apps <00:10:23.515>have <00:10:23.690>the <00:10:23.865>capability <00:10:24.040>to <00:10:24.215>fetch

209
00:10:25.335 --> 00:10:26.375
<00:10:25.335>and <00:10:25.647>filter <00:10:25.959>for <00:10:26.271>assets.

210
00:10:27.005 --> 00:10:29.695
<00:10:27.005>Then <00:10:27.205>in <00:10:27.405>pink <00:10:27.605>you <00:10:27.805>can <00:10:28.005>see <00:10:28.205>your <00:10:28.405>asset

211
00:10:29.715 --> 00:10:31.935
<00:10:29.715>and <00:10:29.870>maybe <00:10:30.026>it's <00:10:30.181>going <00:10:30.337>to <00:10:30.492>be <00:10:30.648>displayed <00:10:30.803>in <00:10:30.959>different <00:10:31.115>way,

212
00:10:31.955 --> 00:10:33.775
<00:10:31.955>but <00:10:32.082>it's <00:10:32.209>still <00:10:32.336>the <00:10:32.464>same <00:10:32.591>thing <00:10:32.718>at <00:10:32.845>the <00:10:32.973>end <00:10:33.100>of <00:10:33.227>the <00:10:33.355>day.

213
00:10:34.475 --> 00:10:37.135
<00:10:34.475>Uh, <00:10:34.650>and <00:10:34.825>some <00:10:35.000>of <00:10:35.175>the <00:10:35.350>app <00:10:35.525>have <00:10:35.700>the <00:10:35.875>possibility

214
00:10:37.315 --> 00:10:40.095
<00:10:37.315>to <00:10:37.490>export <00:10:37.665>the <00:10:37.840>design <00:10:38.015>to <00:10:38.190>that <00:10:38.365>third <00:10:38.540>party <00:10:38.715>platform.

215
00:10:40.235 --> 00:10:41.855
<00:10:40.235>So <00:10:40.468>that's <00:10:40.701>the <00:10:40.935>last <00:10:41.168>part <00:10:41.401>in <00:10:41.635>Orange.

216
00:10:43.045 --> 00:10:46.335
<00:10:43.045>Looking <00:10:43.200>at <00:10:43.356>this, <00:10:43.511>it's <00:10:43.667>when <00:10:43.822>we <00:10:43.978>had <00:10:44.133>our <00:10:44.289>aha <00:10:44.444>moment

217
00:10:46.635 --> 00:10:48.215
<00:10:46.635>and <00:10:46.915>we <00:10:47.194>realized <00:10:47.475>that <00:10:47.755>there <00:10:48.035>was

218
00:10:48.215 --> 00:10:49.575
<00:10:48.215>certainly <00:10:48.521>something <00:10:48.827>we <00:10:49.133>could <00:10:49.439>improve.

219
00:10:50.475 --> 00:10:52.415
<00:10:50.475>So <00:10:50.708>we <00:10:50.941>decided <00:10:51.175>to <00:10:51.408>release <00:10:51.641>a <00:10:51.875>template,

220
00:10:52.435 --> 00:10:55.375
<00:10:52.435>so <00:10:52.590>a <00:10:52.746>digital <00:10:52.901>asset <00:10:53.057>management <00:10:53.212>template <00:10:53.368>that <00:10:53.523>was <00:10:53.679>really <00:10:53.834>going

221
00:10:55.375 --> 00:10:56.855
<00:10:55.375>to <00:10:55.565>help <00:10:55.755>us <00:10:55.945>build <00:10:56.136>this <00:10:56.326>kind <00:10:56.516>of <00:10:56.707>apps.

222
00:10:57.595 --> 00:11:01.815
<00:10:57.595>Um, <00:10:57.770>so <00:10:57.945>it's <00:10:58.120>just <00:10:58.295>a <00:10:58.470>highly <00:10:58.645>composite <00:10:58.820>react <00:10:58.995>component

223
00:11:02.195 --> 00:11:03.655
<00:11:02.195>and <00:11:02.414>we <00:11:02.633>just <00:11:02.852>have <00:11:03.071>to <00:11:03.290>configure <00:11:03.509>it.

224
00:11:04.155 --> 00:11:07.585
<00:11:04.155>So <00:11:04.282>if <00:11:04.409>you <00:11:04.536>remember <00:11:04.664>that <00:11:04.791>slide <00:11:04.918>at <00:11:05.045>the <00:11:05.173>beginning <00:11:05.300>of <00:11:05.427>the <00:11:05.555>talk,

225
00:11:07.975 --> 00:11:10.145
<00:11:07.975>this <00:11:08.175>is <00:11:08.375>why <00:11:08.575>my <00:11:08.775>code <00:11:08.975>was <00:11:09.175>actually <00:11:09.375>tiny.

226
00:11:11.135 --> 00:11:13.825
<00:11:11.135>It's <00:11:11.415>actually <00:11:11.694>because <00:11:11.975>it's <00:11:12.255>just <00:11:12.535>some

227
00:11:14.065 --> 00:11:15.185
<00:11:14.065>configuration <00:11:14.266>that <00:11:14.468>I <00:11:14.669>need <00:11:14.871>to <00:11:15.073>do.

228
00:11:15.205 --> 00:11:17.465
<00:11:15.205>And <00:11:15.360>most <00:11:15.516>of <00:11:15.671>the <00:11:15.827>code <00:11:15.982>is <00:11:16.138>coming <00:11:16.293>from <00:11:16.449>the <00:11:16.605>template.

229
00:11:19.645 --> 00:11:21.745
<00:11:19.645>So <00:11:19.878>for <00:11:20.111>example, <00:11:20.345>that <00:11:20.578>the <00:11:20.811>storybook, <00:11:21.045>um,

230
00:11:22.045 --> 00:11:24.545
<00:11:22.045>and <00:11:22.219>it's, <00:11:22.395>it's <00:11:22.569>exactly <00:11:22.745>what's <00:11:22.920>happening <00:11:23.094>in <00:11:23.270>the <00:11:23.444>code.

231
00:11:24.855 --> 00:11:28.065
<00:11:24.855>It's <00:11:24.962>just <00:11:25.070>some, <00:11:25.178>if <00:11:25.285>I <00:11:25.393>can <00:11:25.501>say <00:11:25.608>some <00:11:25.716>box <00:11:25.824>that <00:11:25.931>you <00:11:26.039>have <00:11:26.147>to <00:11:26.255>tick

232
00:11:28.285 --> 00:11:29.865
<00:11:28.285>and <00:11:28.459>it's <00:11:28.635>going <00:11:28.810>to <00:11:28.985>be <00:11:29.160>really <00:11:29.334>easy <00:11:29.510>to <00:11:29.685>build.

233
00:11:32.055 --> 00:11:36.715
<00:11:32.055>So <00:11:32.210>we've <00:11:32.366>learned <00:11:32.521>that <00:11:32.677>now <00:11:32.832>it <00:11:32.988>was <00:11:33.143>becoming <00:11:33.299>really <00:11:33.454>easy

234
00:11:36.815 --> 00:11:39.715
<00:11:36.815>to <00:11:36.990>be, <00:11:37.165>to <00:11:37.340>create <00:11:37.515>or <00:11:37.690>to <00:11:37.865>maintain <00:11:38.040>them <00:11:38.215>apps.

235
00:11:40.145 --> 00:11:43.195
<00:11:40.145>Like <00:11:40.319>we <00:11:40.495>actually <00:11:40.670>went <00:11:40.845>from <00:11:41.020>six <00:11:41.194>apps <00:11:41.370>that <00:11:41.545>we,

236
00:11:43.255 --> 00:11:44.315
<00:11:43.255>we <00:11:43.493>were <00:11:43.732>at <00:11:43.970>a <00:11:44.209>stage

237
00:11:44.355 --> 00:11:46.915
<00:11:44.355>where <00:11:44.530>we <00:11:44.705>had <00:11:44.880>six <00:11:45.055>different <00:11:45.230>digital <00:11:45.405>asset <00:11:45.580>management <00:11:45.755>apps

238
00:11:47.455 --> 00:11:48.795
<00:11:47.455>and <00:11:47.696>now <00:11:47.937>we <00:11:48.178>have <00:11:48.419>one <00:11:48.661>template.

239
00:11:48.795 --> 00:11:50.795
<00:11:48.795>So <00:11:48.935>it's <00:11:49.074>almost <00:11:49.214>like <00:11:49.354>if <00:11:49.495>it's <00:11:49.635>one <00:11:49.775>hub <00:11:49.915>that <00:11:50.055>we <00:11:50.194>have

240
00:11:50.795 --> 00:11:54.125
<00:11:50.795>to <00:11:51.495>handle <00:11:52.194>It.

241
00:11:54.195 --> 00:11:55.925
<00:11:54.195>Also, <00:11:54.661>we've <00:11:55.128>also <00:11:55.595>learned

242
00:11:55.925 --> 00:11:57.525
<00:11:55.925>that <00:11:56.204>our <00:11:56.484>release <00:11:56.765>strategies <00:11:57.045>was <00:11:57.324>working.

243
00:11:57.985 --> 00:12:01.245
<00:11:57.985>We <00:11:58.160>didn't <00:11:58.335>wait <00:11:58.510>to <00:11:58.685>have <00:11:58.860>a <00:11:59.035>template <00:11:59.210>and <00:11:59.385>something

244
00:12:01.465 --> 00:12:02.645
<00:12:01.465>before <00:12:01.819>building <00:12:02.173>this <00:12:02.527>app

245
00:12:02.745 --> 00:12:05.445
<00:12:02.745>so <00:12:02.920>we <00:12:03.095>could <00:12:03.270>actually <00:12:03.445>give <00:12:03.620>value <00:12:03.795>to <00:12:03.970>our <00:12:04.145>users.

246
00:12:05.595 --> 00:12:08.925
<00:12:05.595>They <00:12:05.735>had <00:12:05.875>the <00:12:06.015>app <00:12:06.155>that <00:12:06.295>they <00:12:06.435>needed, <00:12:06.575>then <00:12:06.715>we <00:12:06.855>could <00:12:06.995>use

247
00:12:08.925 --> 00:12:11.005
<00:12:08.925>what <00:12:09.204>we <00:12:09.484>had <00:12:09.765>built <00:12:10.045>to <00:12:10.324>learn,

248
00:12:11.335 --> 00:12:13.645
<00:12:11.335>build <00:12:11.568>a <00:12:11.801>template <00:12:12.035>on <00:12:12.268>real <00:12:12.501>use <00:12:12.735>cases.

249
00:12:14.705 --> 00:12:17.825
<00:12:14.705>Um, <00:12:15.405>and <00:12:16.105>yeah,

250
00:12:17.825 --> 00:12:20.585
<00:12:17.825>overall <00:12:17.952>it <00:12:18.079>has <00:12:18.206>been <00:12:18.334>like <00:12:18.461>really <00:12:18.588>working <00:12:18.715>well <00:12:18.843>for <00:12:18.970>us <00:12:19.097>this <00:12:19.225>way

251
00:12:23.465 --> 00:12:25.725
<00:12:23.465>and <00:12:23.745>this <00:12:24.025>practice <00:12:24.305>of <00:12:24.585>dog <00:12:24.865>food

252
00:12:25.755 --> 00:12:28.125
<00:12:25.755>with <00:12:25.930>our <00:12:26.105>partner <00:12:26.280>actually <00:12:26.455>helped <00:12:26.630>us <00:12:26.805>to <00:12:26.980>avoid <00:12:27.155>disaster.

253
00:12:28.265 --> 00:12:30.485
<00:12:28.265>So <00:12:28.405>I'm <00:12:28.545>going <00:12:28.685>to <00:12:28.824>tell <00:12:28.965>you <00:12:29.105>the <00:12:29.245>story <00:12:29.385>of <00:12:29.525>an <00:12:29.665>incident

254
00:12:30.625 --> 00:12:32.085
<00:12:30.625>that's <00:12:30.887>happened <00:12:31.150>not <00:12:31.413>so <00:12:31.676>long <00:12:31.939>ago.

255
00:12:33.065 --> 00:12:36.005
<00:12:33.065>As <00:12:33.265>you <00:12:33.465>know, <00:12:33.665>internet <00:12:33.865>is <00:12:34.065>a <00:12:34.265>dangerous <00:12:34.465>place.

256
00:12:36.425 --> 00:12:39.405
<00:12:36.425>So <00:12:36.625>whenever <00:12:36.824>you're <00:12:37.025>receiving <00:12:37.224>requests <00:12:37.425>from <00:12:37.625>your <00:12:37.824>backend,

257
00:12:39.785 --> 00:12:42.245
<00:12:39.785>you <00:12:39.985>have <00:12:40.185>to <00:12:40.385>check <00:12:40.584>that <00:12:40.785>the <00:12:40.985>HTTP <00:12:41.185>requests

258
00:12:42.245 --> 00:12:45.445
<00:12:42.245>that <00:12:42.400>it's <00:12:42.556>handling <00:12:42.711>is <00:12:42.867>actually <00:12:43.022>coming <00:12:43.178>from <00:12:43.333>who <00:12:43.489>you <00:12:43.645>think.

259
00:12:46.665 --> 00:12:50.325
<00:12:46.665>So <00:12:46.805>the <00:12:46.944>after <00:12:47.084>dk, <00:12:47.224>um, <00:12:47.365>gives <00:12:47.505>you <00:12:47.645>the <00:12:47.785>tool <00:12:47.925>to <00:12:48.064>validate

260
00:12:50.325 --> 00:12:52.285
<00:12:50.325>that <00:12:50.558>the <00:12:50.791>request <00:12:51.025>is <00:12:51.258>coming <00:12:51.491>from <00:12:51.725>Canva.

261
00:12:54.025 --> 00:12:57.285
<00:12:54.025>And <00:12:54.180>we <00:12:54.336>used <00:12:54.491>to <00:12:54.647>rely <00:12:54.802>on <00:12:54.958>the <00:12:55.113>signature <00:12:55.269>verification <00:12:55.425>method.

262
00:12:57.625 --> 00:12:59.245
<00:12:57.625>So <00:12:57.905>this <00:12:58.185>method <00:12:58.465>is <00:12:58.745>actually <00:12:59.025>simple.

263
00:12:59.825 --> 00:13:01.125
<00:12:59.825>You <00:13:00.117>just <00:13:00.410>have <00:13:00.702>to, <00:13:00.995>um,

264
00:13:01.605 --> 00:13:03.965
<00:13:01.605>generate <00:13:01.838>a <00:13:02.071>signature <00:13:02.305>from <00:13:02.538>your <00:13:02.771>backend, <00:13:03.005>uh,

265
00:13:03.965 --> 00:13:05.005
<00:13:03.965>thanks <00:13:04.199>to <00:13:04.433>a <00:13:04.667>client's <00:13:04.901>secret.

266
00:13:05.505 --> 00:13:08.605
<00:13:05.505>And <00:13:05.660>when <00:13:05.816>you're <00:13:05.971>receiving <00:13:06.127>an <00:13:06.282>H <00:13:06.438>TT <00:13:06.593>p <00:13:06.749>um, <00:13:06.905>request,

267
00:13:08.945 --> 00:13:10.765
<00:13:08.945>you <00:13:09.178>just <00:13:09.411>have <00:13:09.645>to <00:13:09.878>compare <00:13:10.111>that <00:13:10.345>signature.

268
00:13:11.025 --> 00:13:13.325
<00:13:11.025>Um, <00:13:11.199>and <00:13:11.375>if <00:13:11.550>they <00:13:11.725>match <00:13:11.900>and <00:13:12.074>it's <00:13:12.250>all <00:13:12.425>good

269
00:13:13.345 --> 00:13:16.695
<00:13:13.345>and <00:13:13.485>you <00:13:13.625>can <00:13:13.765>trust <00:13:13.905>that <00:13:14.045>request, <00:13:14.185>very <00:13:14.325>important <00:13:14.465>for <00:13:14.605>the <00:13:14.745>rest

270
00:13:16.695 --> 00:13:19.655
<00:13:16.695>of <00:13:16.835>the <00:13:16.975>story, <00:13:17.115>the <00:13:17.255>user <00:13:17.395>ID <00:13:17.535>was <00:13:17.675>told <00:13:17.815>in <00:13:17.955>the <00:13:18.095>query

271
00:13:19.745 --> 00:13:21.055
<00:13:19.745>parameters <00:13:20.138>of <00:13:20.531>the <00:13:20.924>request.

272
00:13:22.885 --> 00:13:26.415
<00:13:22.885>Then <00:13:23.025>later <00:13:23.165>on, <00:13:23.305>we <00:13:23.444>actually <00:13:23.585>did <00:13:23.725>it. <00:13:23.865>We <00:13:24.005>decided <00:13:24.145>to <00:13:24.285>change.

273
00:13:26.675 --> 00:13:29.935
<00:13:26.675>And <00:13:26.875>so <00:13:27.074>we <00:13:27.275>deprecated <00:13:27.474>the <00:13:27.675>signature <00:13:27.875>verification <00:13:28.074>method

274
00:13:29.995 --> 00:13:32.575
<00:13:29.995>and <00:13:30.195>we <00:13:30.395>decided <00:13:30.595>to <00:13:30.795>go <00:13:30.995>with <00:13:31.195>um, <00:13:31.395>GWT.

275
00:13:33.155 --> 00:13:37.655
<00:13:33.155>Um, <00:13:33.329>and <00:13:33.505>this <00:13:33.680>time <00:13:33.855>the <00:13:34.030>user <00:13:34.204>ID <00:13:34.380>is <00:13:34.555>stored,

276
00:13:38.035 --> 00:13:39.735
<00:13:38.035>um, <00:13:38.385>in <00:13:38.735>the <00:13:39.084>token <00:13:39.435>itself.

277
00:13:41.655 --> 00:13:44.315
<00:13:41.655>So <00:13:41.782>when <00:13:41.909>it <00:13:42.036>was <00:13:42.164>time <00:13:42.291>to <00:13:42.418>do <00:13:42.545>the <00:13:42.673>deprecation, <00:13:42.800>so <00:13:42.927>we <00:13:43.055>talked

278
00:13:44.315 --> 00:13:46.955
<00:13:44.315>with <00:13:44.490>our <00:13:44.665>partner, <00:13:44.840>we <00:13:45.015>were <00:13:45.190>like, <00:13:45.365>are <00:13:45.540>you <00:13:45.715>ready?

279
00:13:46.965 --> 00:13:49.595
<00:13:46.965>We're <00:13:47.165>going <00:13:47.365>to <00:13:47.565>deprecate <00:13:47.765>the <00:13:47.965>signature <00:13:48.165>verification <00:13:48.365>methods.

280
00:13:50.215 --> 00:13:51.715
<00:13:50.215>Um, <00:13:50.407>and <00:13:50.600>they <00:13:50.793>were <00:13:50.986>like, <00:13:51.179>yes, <00:13:51.372>no <00:13:51.565>problem.

281
00:13:51.765 --> 00:13:55.475
<00:13:51.765>We're <00:13:51.905>using <00:13:52.045>the <00:13:52.185>GWT <00:13:52.324>method. <00:13:52.465>Go <00:13:52.605>ahead. <00:13:52.745>That's <00:13:52.885>what <00:13:53.025>we <00:13:53.165>did.

282
00:13:56.055 --> 00:13:57.075
<00:13:56.055>And <00:13:56.361>that's <00:13:56.667>what <00:13:56.973>happened.

283
00:13:57.895 --> 00:14:02.335
<00:13:57.895>All <00:13:58.050>our <00:13:58.206>apps <00:13:58.361>were <00:13:58.517>broken, <00:13:58.672>but <00:13:58.828>this <00:13:58.983>was <00:13:59.139>actually <00:13:59.295>fine.

284
00:14:02.915 --> 00:14:05.695
<00:14:02.915>It <00:14:03.089>was <00:14:03.265>fine <00:14:03.439>because <00:14:03.615>it <00:14:03.790>was <00:14:03.964>an <00:14:04.140>internal <00:14:04.314>release.

285
00:14:06.155 --> 00:14:09.375
<00:14:06.155>So <00:14:06.295>the <00:14:06.435>only <00:14:06.574>impacted <00:14:06.714>people <00:14:06.855>were <00:14:06.995>actually <00:14:07.135>the <00:14:07.275>staff <00:14:07.415>at <00:14:07.555>Canva

286
00:14:09.515 --> 00:14:11.215
<00:14:09.515>who <00:14:09.748>could <00:14:09.981>not <00:14:10.215>use <00:14:10.448>the <00:14:10.681>apps <00:14:10.915>anymore.

287
00:14:13.335 --> 00:14:14.595
<00:14:13.335>So <00:14:13.618>here <00:14:13.902>is <00:14:14.185>what <00:14:14.469>happened.

288
00:14:14.905 --> 00:14:17.715
<00:14:14.905>They <00:14:15.079>were <00:14:15.255>indeed <00:14:15.430>using <00:14:15.605>the <00:14:15.780>GWT <00:14:15.954>method <00:14:16.130>to <00:14:16.305>val

289
00:14:17.775 --> 00:14:20.035
<00:14:17.775>to <00:14:18.008>validate <00:14:18.241>the <00:14:18.475>authenticity <00:14:18.708>of <00:14:18.941>the <00:14:19.175>request,

290
00:14:20.655 --> 00:14:24.475
<00:14:20.655>but <00:14:20.810>they <00:14:20.966>were <00:14:21.121>still <00:14:21.277>relying <00:14:21.432>on <00:14:21.588>the <00:14:21.743>query <00:14:21.899>parameters, <00:14:22.055>um,

291
00:14:24.895 --> 00:14:26.875
<00:14:24.895>of <00:14:25.245>the <00:14:25.595>signature <00:14:25.944>verification <00:14:26.295>method.

292
00:14:27.615 --> 00:14:31.195
<00:14:27.615>But <00:14:27.815>these <00:14:28.015>parameters <00:14:28.215>were <00:14:28.415>also <00:14:28.615>deprecated, <00:14:28.815>which <00:14:29.015>means

293
00:14:31.195 --> 00:14:33.235
<00:14:31.195>that <00:14:31.350>all <00:14:31.506>the <00:14:31.661>user <00:14:31.817>ID <00:14:31.972>were <00:14:32.128>new <00:14:32.283>in <00:14:32.439>the <00:14:32.595>app.

294
00:14:35.245 --> 00:14:36.905
<00:14:35.245>So <00:14:35.595>what <00:14:35.945>we've <00:14:36.295>learned <00:14:36.645>was

295
00:14:36.905 --> 00:14:38.625
<00:14:36.905>that <00:14:37.255>all <00:14:37.605>documentation <00:14:37.954>was <00:14:38.305>unclear.

296
00:14:38.845 --> 00:14:41.625
<00:14:38.845>So <00:14:39.000>we <00:14:39.156>made <00:14:39.311>sure <00:14:39.467>to <00:14:39.622>communicate <00:14:39.778>to <00:14:39.933>all <00:14:40.089>our <00:14:40.245>developers

297
00:14:41.735 --> 00:14:44.545
<00:14:41.735>that <00:14:41.935>the <00:14:42.135>query <00:14:42.335>parameters <00:14:42.535>in <00:14:42.735>which <00:14:42.935>query <00:14:43.135>parameters

298
00:14:44.665 --> 00:14:45.785
<00:14:44.665>were <00:14:44.916>going <00:14:45.169>to <00:14:45.420>be <00:14:45.673>deprecated.

299
00:14:47.765 --> 00:14:51.525
<00:14:47.765>And <00:14:47.965>we <00:14:48.165>also <00:14:48.365>validated <00:14:48.564>that <00:14:48.765>the <00:14:48.965>internal <00:14:49.165>release

300
00:14:52.045 --> 00:14:53.405
<00:14:52.045>actually <00:14:52.289>worked <00:14:52.534>really <00:14:52.779>well <00:14:53.024>for <00:14:53.269>us.

301
00:14:53.785 --> 00:14:57.005
<00:14:53.785>So <00:14:53.940>obviously <00:14:54.096>it <00:14:54.251>prevented <00:14:54.407>the <00:14:54.562>issue <00:14:54.718>to <00:14:54.873>reach <00:14:55.029>the <00:14:55.185>community.

302
00:14:57.745 --> 00:15:01.485
<00:14:57.745>Um, <00:14:57.885>we <00:14:58.025>didn't <00:14:58.165>wanted <00:14:58.305>the <00:14:58.445>developer <00:14:58.585>to <00:14:58.725>suffer <00:14:58.865>the <00:14:59.005>same <00:14:59.145>fate.

303
00:15:02.145 --> 00:15:03.885
<00:15:02.145>Um, <00:15:02.495>but <00:15:02.845>we <00:15:03.194>also <00:15:03.545>saw

304
00:15:03.885 --> 00:15:06.445
<00:15:03.885>that <00:15:04.060>having <00:15:04.235>the <00:15:04.410>partner <00:15:04.585>a <00:15:04.760>little <00:15:04.935>bit <00:15:05.110>like <00:15:05.285>outside

305
00:15:06.445 --> 00:15:08.845
<00:15:06.445>of <00:15:06.645>the <00:15:06.845>company, <00:15:07.045>like <00:15:07.245>learning <00:15:07.445>with <00:15:07.645>the <00:15:07.845>documentation

306
00:15:09.385 --> 00:15:11.805
<00:15:09.385>was <00:15:09.585>the <00:15:09.785>best <00:15:09.985>way <00:15:10.185>to <00:15:10.385>understand <00:15:10.585>where <00:15:10.785>was,

307
00:15:11.805 --> 00:15:13.485
<00:15:11.805>where <00:15:12.038>was <00:15:12.271>the <00:15:12.505>issue <00:15:12.738>for <00:15:12.971>the <00:15:13.204>community.

308
00:15:15.815 --> 00:15:18.115
<00:15:15.815>So <00:15:15.990>this <00:15:16.165>is <00:15:16.340>what <00:15:16.515>the <00:15:16.690>release <00:15:16.865>flow <00:15:17.040>looks <00:15:17.215>like.

309
00:15:19.455 --> 00:15:22.555
<00:15:19.455>So <00:15:19.595>if <00:15:19.735>you <00:15:19.875>take <00:15:20.015>the <00:15:20.155>example <00:15:20.295>of <00:15:20.435>the <00:15:20.575>digital <00:15:20.715>asset <00:15:20.855>management,

310
00:15:22.775 --> 00:15:27.195
<00:15:22.775>uh, <00:15:22.915>template, <00:15:23.055>um, <00:15:23.194>we <00:15:23.334>worked <00:15:23.475>on <00:15:23.615>this <00:15:23.755>tool, <00:15:23.895>we <00:15:24.035>released <00:15:24.175>it,

311
00:15:27.575 --> 00:15:30.755
<00:15:27.575>um, <00:15:27.775>internally, <00:15:27.975>we <00:15:28.175>used <00:15:28.375>it <00:15:28.575>for <00:15:28.775>the <00:15:28.975>GFI

312
00:15:30.755 --> 00:15:32.355
<00:15:30.755>and <00:15:30.930>YouTube <00:15:31.105>app <00:15:31.280>that <00:15:31.455>I <00:15:31.630>was <00:15:31.805>telling <00:15:31.980>you <00:15:32.155>earlier.

313
00:15:32.535 --> 00:15:34.635
<00:15:32.535>That's, <00:15:32.768>um, <00:15:33.001>we've <00:15:33.235>been <00:15:33.468>working <00:15:33.701>on <00:15:33.935>ourself.

314
00:15:36.145 --> 00:15:38.635
<00:15:36.145>Once <00:15:36.300>we <00:15:36.456>were <00:15:36.611>happy, <00:15:36.767>we <00:15:36.922>released <00:15:37.078>it <00:15:37.233>to <00:15:37.389>our, <00:15:37.545>uh,

315
00:15:38.635 --> 00:15:42.435
<00:15:38.635>system <00:15:38.868>integrators <00:15:39.101>and <00:15:39.335>they <00:15:39.568>were <00:15:39.801>providing <00:15:40.035>feedback.

316
00:15:42.435 --> 00:15:44.315
<00:15:42.435>They <00:15:42.609>told <00:15:42.785>us <00:15:42.959>what <00:15:43.135>was <00:15:43.310>working, <00:15:43.484>what <00:15:43.660>was <00:15:43.834>not.

317
00:15:44.655 --> 00:15:46.875
<00:15:44.655>We <00:15:45.121>integrated <00:15:45.588>this, <00:15:46.055>um,

318
00:15:47.615 --> 00:15:50.035
<00:15:47.615>and <00:15:47.895>then <00:15:48.175>our <00:15:48.455>six <00:15:48.735>digital, <00:15:49.015>um,

319
00:15:50.285 --> 00:15:52.195
<00:15:50.285>thumb <00:15:50.564>up <00:15:50.844>were <00:15:51.125>working <00:15:51.405>really <00:15:51.685>well.

320
00:15:54.135 --> 00:15:55.995
<00:15:54.135>But <00:15:54.335>then <00:15:54.535>we <00:15:54.735>wonder <00:15:54.935>like, <00:15:55.135>why <00:15:55.335>not <00:15:55.535>really?

321
00:15:56.255 --> 00:15:57.555
<00:15:56.255>Why <00:15:56.547>not <00:15:56.839>really <00:15:57.132>the <00:15:57.425>template

322
00:15:57.695 --> 00:16:00.835
<00:15:57.695>to <00:15:57.870>all <00:15:58.045>developer <00:15:58.220>There <00:15:58.395>are <00:15:58.570>certainly <00:15:58.745>benefit <00:15:58.920>to <00:15:59.095>it.

323
00:16:02.335 --> 00:16:04.715
<00:16:02.335>The <00:16:02.685>first <00:16:03.035>one, <00:16:03.385>maybe <00:16:03.735>simple,

324
00:16:04.895 --> 00:16:07.475
<00:16:04.895>but <00:16:05.175>actually <00:16:05.454>that's, <00:16:05.735>um, <00:16:06.015>really <00:16:06.295>important.

325
00:16:07.935 --> 00:16:10.235
<00:16:07.935>We <00:16:08.109>are <00:16:08.285>just <00:16:08.459>providing <00:16:08.635>more <00:16:08.810>value <00:16:08.984>to <00:16:09.160>our <00:16:09.334>developer.

326
00:16:10.545 --> 00:16:12.635
<00:16:10.545>Like <00:16:10.824>I'm <00:16:11.104>certainly <00:16:11.385>not <00:16:11.665>a <00:16:11.944>designer.

327
00:16:12.855 --> 00:16:15.955
<00:16:12.855>So <00:16:12.995>having <00:16:13.135>an <00:16:13.275>app <00:16:13.415>that <00:16:13.555>is <00:16:13.695>already <00:16:13.835>completely <00:16:13.975>designed <00:16:14.115>for <00:16:14.255>me

328
00:16:16.015 --> 00:16:18.475
<00:16:16.015>and <00:16:16.189>I <00:16:16.365>don't <00:16:16.540>have <00:16:16.715>to <00:16:16.890>think <00:16:17.064>about <00:16:17.240>it, <00:16:17.415>um,

329
00:16:18.625 --> 00:16:20.115
<00:16:18.625>it's <00:16:19.072>actually <00:16:19.519>extremely <00:16:19.966>valuable.

330
00:16:22.635 --> 00:16:26.775
<00:16:22.635>Second <00:16:22.790>thing <00:16:22.946>is <00:16:23.101>that <00:16:23.257>we <00:16:23.412>get <00:16:23.568>feedback <00:16:23.723>from <00:16:23.879>the <00:16:24.035>community.

331
00:16:26.955 --> 00:16:30.695
<00:16:26.955>So <00:16:27.110>again, <00:16:27.266>it <00:16:27.421>means <00:16:27.577>that <00:16:27.732>we <00:16:27.888>can <00:16:28.043>improve <00:16:28.199>even <00:16:28.355>more,

332
00:16:30.995 --> 00:16:32.815
<00:16:30.995>um, <00:16:31.695>our <00:16:32.395>products.

333
00:16:33.035 --> 00:16:35.135
<00:16:33.035>Um, <00:16:33.209>they <00:16:33.385>have <00:16:33.560>feedback, <00:16:33.735>maybe <00:16:33.910>something <00:16:34.084>is <00:16:34.260>not <00:16:34.435>working,

334
00:16:35.345 --> 00:16:36.895
<00:16:35.345>maybe <00:16:35.624>they <00:16:35.903>want <00:16:36.182>to <00:16:36.461>improve <00:16:36.740>something.

335
00:16:37.235 --> 00:16:38.615
<00:16:37.235>So <00:16:37.483>it's <00:16:37.731>extremely <00:16:37.980>useful <00:16:38.228>for <00:16:38.477>us.

336
00:16:40.625 --> 00:16:43.885
<00:16:40.625>And <00:16:40.825>finally, <00:16:41.025>feedback, <00:16:41.225>no <00:16:41.425>matter <00:16:41.625>if <00:16:41.825>it's <00:16:42.025>positive

337
00:16:43.885 --> 00:16:46.565
<00:16:43.885>or <00:16:44.060>negative, <00:16:44.235>show <00:16:44.410>that <00:16:44.585>the <00:16:44.760>project <00:16:44.935>is <00:16:45.110>being <00:16:45.285>used.

338
00:16:47.105 --> 00:16:50.965
<00:16:47.105>So <00:16:47.221>it <00:16:47.338>means <00:16:47.455>that <00:16:47.571>it <00:16:47.688>can <00:16:47.805>also <00:16:47.921>help <00:16:48.038>us <00:16:48.155>to <00:16:48.271>shape <00:16:48.388>our <00:16:48.505>roadmap.

339
00:16:51.075 --> 00:16:52.485
<00:16:51.075>What <00:16:51.392>matters <00:16:51.709>for <00:16:52.026>the <00:16:52.344>developer?

340
00:16:52.485 --> 00:16:53.765
<00:16:52.485>Like <00:16:52.715>what, <00:16:52.945>what <00:16:53.176>should <00:16:53.406>we <00:16:53.637>do?

341
00:16:54.345 --> 00:16:58.645
<00:16:54.345>Um, <00:16:54.485>so <00:16:54.625>with <00:16:54.765>that, <00:16:54.905>it <00:16:55.045>means <00:16:55.185>that <00:16:55.325>we <00:16:55.465>can, <00:16:55.605>it <00:16:55.745>helps

342
00:16:58.665 --> 00:16:59.965
<00:16:58.665>to <00:16:59.055>innovate <00:16:59.445>even <00:16:59.835>more

343
00:16:59.985 --> 00:17:02.645
<00:16:59.985>and <00:17:00.160>think <00:17:00.335>about <00:17:00.510>direction <00:17:00.685>we <00:17:00.860>haven't <00:17:01.035>been <00:17:01.210>thinking <00:17:01.385>before.

344
00:17:04.835 --> 00:17:08.045
<00:17:04.835>Okay, <00:17:05.010>so <00:17:05.185>here <00:17:05.360>is <00:17:05.535>the <00:17:05.710>actual <00:17:05.885>real <00:17:06.060>release <00:17:06.235>flow.

345
00:17:08.625 --> 00:17:09.965
<00:17:08.625>So <00:17:08.866>first <00:17:09.107>we <00:17:09.348>develop <00:17:09.589>a <00:17:09.830>tool

346
00:17:09.965 --> 00:17:14.625
<00:17:09.964>and <00:17:10.120>we <00:17:10.276>use <00:17:10.431>it <00:17:10.587>internally <00:17:10.742>when <00:17:10.898>we're <00:17:11.053>happy, <00:17:11.209>we <00:17:11.365>release

347
00:17:14.625 --> 00:17:17.385
<00:17:14.625>that <00:17:14.800>tool, <00:17:14.974>uh, <00:17:15.150>to <00:17:15.325>our <00:17:15.500>partner <00:17:15.675>via <00:17:15.849>private <00:17:16.025>registering.

348
00:17:19.865 --> 00:17:23.245
<00:17:19.865>And <00:17:20.098>finally <00:17:20.331>we <00:17:20.565>release, <00:17:20.798>um, <00:17:21.031>the <00:17:21.265>tools

349
00:17:23.265 --> 00:17:25.365
<00:17:23.265>to <00:17:23.545>the <00:17:23.825>developer <00:17:24.105>via <00:17:24.385>public <00:17:24.665>registry.

350
00:17:25.505 --> 00:17:27.365
<00:17:25.505>And <00:17:25.738>each <00:17:25.971>time <00:17:26.205>we're <00:17:26.438>taking <00:17:26.671>the <00:17:26.905>feedback,

351
00:17:27.655 --> 00:17:29.405
<00:17:27.655>we're <00:17:28.004>improving <00:17:28.355>the <00:17:28.705>previous <00:17:29.055>version.

352
00:17:29.945 --> 00:17:33.485
<00:17:29.945>And <00:17:30.085>it <00:17:30.225>means <00:17:30.365>that <00:17:30.504>it's <00:17:30.645>not <00:17:30.784>only <00:17:30.925>benefiting <00:17:31.064>like <00:17:31.205>the <00:17:31.345>partner

353
00:17:33.665 --> 00:17:34.765
<00:17:33.665>or <00:17:33.995>the <00:17:34.325>external <00:17:34.655>developer,

354
00:17:34.765 --> 00:17:36.845
<00:17:34.765>but <00:17:35.045>it's <00:17:35.325>also <00:17:35.605>benefiting <00:17:35.885>us <00:17:36.165>directly.

355
00:17:39.125 --> 00:17:40.815
<00:17:39.125>Okay? <00:17:39.475>So <00:17:39.825>let's <00:17:40.175>recap <00:17:40.525>everything.

356
00:17:42.315 --> 00:17:43.855
<00:17:42.315>We <00:17:42.592>have <00:17:42.869>seen <00:17:43.146>that <00:17:43.423>dog <00:17:43.701>fooding.

357
00:17:44.165 --> 00:17:45.695
<00:17:44.165>It's <00:17:44.509>not <00:17:44.853>always <00:17:45.197>applied <00:17:45.542>correctly,

358
00:17:45.715 --> 00:17:47.815
<00:17:45.715>but <00:17:45.948>when <00:17:46.181>you <00:17:46.415>do, <00:17:46.648>it's <00:17:46.881>extremely <00:17:47.115>powerful

359
00:17:47.835 --> 00:17:49.095
<00:17:47.835>and <00:17:48.118>it's, <00:17:48.402>it's <00:17:48.685>really <00:17:48.969>going

360
00:17:49.165 --> 00:17:50.565
<00:17:49.165>to <00:17:49.375>improve <00:17:49.585>the <00:17:49.795>quality <00:17:50.005>of <00:17:50.215>your <00:17:50.425>product.

361
00:17:52.595 --> 00:17:54.325
<00:17:52.595>Scaling <00:17:53.061>is <00:17:53.528>hard, <00:17:53.995>um,

362
00:17:54.425 --> 00:17:58.205
<00:17:54.425>but <00:17:54.532>for <00:17:54.640>us, <00:17:54.748>we <00:17:54.855>did <00:17:54.963>it <00:17:55.071>in <00:17:55.178>a <00:17:55.286>way <00:17:55.394>where <00:17:55.501>we <00:17:55.609>are <00:17:55.717>working <00:17:55.825>directly

363
00:17:58.205 --> 00:17:59.645
<00:17:58.205>with <00:17:58.464>some <00:17:58.723>partners <00:17:58.982>at <00:17:59.241>we <00:17:59.501>trust

364
00:18:00.145 --> 00:18:02.325
<00:18:00.145>and <00:18:00.378>can <00:18:00.611>give <00:18:00.845>us <00:18:01.078>very <00:18:01.311>valuable <00:18:01.545>feedback

365
00:18:02.325 --> 00:18:03.965
<00:18:02.325>that <00:18:02.525>is <00:18:02.725>really <00:18:02.925>going <00:18:03.125>to <00:18:03.325>improve <00:18:03.525>our <00:18:03.725>product.

366
00:18:06.105 --> 00:18:10.005
<00:18:06.105>And <00:18:06.260>finally, <00:18:06.416>um, <00:18:06.571>we <00:18:06.727>have <00:18:06.882>that <00:18:07.038>internal <00:18:07.193>to <00:18:07.349>external <00:18:07.505>synergy

367
00:18:10.195 --> 00:18:12.765
<00:18:10.195>that <00:18:10.428>is <00:18:10.661>extremely <00:18:10.895>powerful, <00:18:11.128>that <00:18:11.361>help <00:18:11.595>us

368
00:18:12.765 --> 00:18:14.685
<00:18:12.765>to <00:18:12.965>really <00:18:13.165>improve <00:18:13.365>the <00:18:13.565>quality <00:18:13.765>of <00:18:13.965>our <00:18:14.165>product

369
00:18:15.465 --> 00:18:18.645
<00:18:15.465>and <00:18:15.620>really <00:18:15.776>benefit <00:18:15.931>in <00:18:16.087>term <00:18:16.242>of <00:18:16.398>value <00:18:16.553>all <00:18:16.709>the <00:18:16.865>developer

370
00:18:18.985 --> 00:18:20.525
<00:18:18.985>and <00:18:19.331>us <00:18:19.678>internally <00:18:20.024>at <00:18:20.371>Canva.

371
00:18:22.165 --> 00:18:23.185
<00:18:22.165>So <00:18:22.394>what's <00:18:22.624>next <00:18:22.853>for <00:18:23.082>us?

372
00:18:24.575 --> 00:18:27.955
<00:18:24.575>Um, <00:18:24.730>so <00:18:24.886>we're <00:18:25.041>actually <00:18:25.197>working <00:18:25.352>on <00:18:25.508>a <00:18:25.663>token <00:18:25.819>management <00:18:25.975>service

373
00:18:28.065 --> 00:18:30.755
<00:18:28.065>because <00:18:28.220>a <00:18:28.376>little <00:18:28.531>bit <00:18:28.687>like <00:18:28.842>the <00:18:28.998>issue <00:18:29.153>that <00:18:29.309>we <00:18:29.465>have

374
00:18:30.755 --> 00:18:33.795
<00:18:30.755>with <00:18:30.988>the <00:18:31.221>DAM <00:18:31.455>template, <00:18:31.688>we <00:18:31.921>realize <00:18:32.155>that

375
00:18:36.165 --> 00:18:40.095
<00:18:36.165>something <00:18:36.305>that <00:18:36.445>is <00:18:36.585>necessary <00:18:36.725>most <00:18:36.865>of <00:18:37.004>the <00:18:37.145>time <00:18:37.284>is <00:18:37.425>having, <00:18:37.565>um,

376
00:18:40.635 --> 00:18:43.215
<00:18:40.635>an <00:18:40.868>authorization <00:18:41.101>flow <00:18:41.335>with <00:18:41.568>third <00:18:41.801>party <00:18:42.035>platform.

377
00:18:43.215 --> 00:18:45.815
<00:18:43.215>And <00:18:43.389>it's <00:18:43.564>something <00:18:43.740>that <00:18:43.915>is <00:18:44.090>complex <00:18:44.264>to <00:18:44.439>build, <00:18:44.615>um,

378
00:18:45.875 --> 00:18:47.935
<00:18:45.875>and <00:18:46.108>has <00:18:46.341>to <00:18:46.575>be <00:18:46.808>done <00:18:47.041>every <00:18:47.275>time.

379
00:18:48.555 --> 00:18:50.015
<00:18:48.555>So <00:18:48.817>we <00:18:49.080>want <00:18:49.343>to <00:18:49.606>help <00:18:49.869>that.

380
00:18:50.155 --> 00:18:52.375
<00:18:50.155>We <00:18:50.330>want <00:18:50.504>to <00:18:50.680>help <00:18:50.855>building <00:18:51.030>this <00:18:51.205>kind <00:18:51.379>of <00:18:51.555>apps.

381
00:18:52.795 --> 00:18:55.535
<00:18:52.795>And <00:18:53.075>so <00:18:53.355>we, <00:18:53.635>um, <00:18:53.915>we <00:18:54.195>want

382
00:18:55.535 --> 00:18:57.335
<00:18:55.535>to <00:18:55.735>be <00:18:55.935>handling <00:18:56.135>the <00:18:56.335>token <00:18:56.535>for <00:18:56.735>the <00:18:56.935>developers.

383
00:18:59.205 --> 00:19:01.535
<00:18:59.205>Something <00:18:59.438>else <00:18:59.671>is <00:18:59.905>a <00:19:00.138>connect <00:19:00.371>API <00:19:00.605>support.

384
00:19:01.915 --> 00:19:05.655
<00:19:01.915>So <00:19:02.055>actually <00:19:02.195>this <00:19:02.335>talk <00:19:02.475>was <00:19:02.615>really <00:19:02.754>focusing <00:19:02.895>on <00:19:03.034>the <00:19:03.175>apps <00:19:03.315>SDK,

385
00:19:06.075 --> 00:19:09.455
<00:19:06.075>but <00:19:06.215>just <00:19:06.355>a <00:19:06.495>month <00:19:06.635>ago <00:19:06.775>we've <00:19:06.915>released, <00:19:07.055>um, <00:19:07.195>the <00:19:07.335>Connect <00:19:07.475>API,

386
00:19:09.455 --> 00:19:11.615
<00:19:09.455>which <00:19:09.655>is <00:19:09.855>a <00:19:10.054>public <00:19:10.254>rest, <00:19:10.455>API <00:19:10.655>for <00:19:10.855>Canva.

387
00:19:12.395 --> 00:19:14.455
<00:19:12.395>Um, <00:19:13.095>and <00:19:13.795>yeah,

388
00:19:14.455 --> 00:19:16.575
<00:19:14.455>and <00:19:14.610>if <00:19:14.766>you've <00:19:14.921>been <00:19:15.077>following <00:19:15.232>this <00:19:15.388>talk, <00:19:15.543>it <00:19:15.699>means <00:19:15.855>that

389
00:19:17.755 --> 00:19:20.375
<00:19:17.755>we <00:19:17.988>actually <00:19:18.221>use <00:19:18.455>the <00:19:18.688>Connect <00:19:18.921>API <00:19:19.155>internally.

390
00:19:20.795 --> 00:19:25.215
<00:19:20.795>So <00:19:20.935>for <00:19:21.075>example, <00:19:21.215>we've <00:19:21.355>built, <00:19:21.495>um, <00:19:21.635>uh, <00:19:21.775>Canva, <00:19:21.915>GPT, <00:19:22.055>uh, <00:19:22.195>plugin.

391
00:19:25.215 --> 00:19:27.375
<00:19:25.215>So <00:19:25.415>it's <00:19:25.615>a <00:19:25.814>plugin <00:19:26.014>on <00:19:26.215>chat <00:19:26.415>GPT, <00:19:26.615>uh,

392
00:19:27.375 --> 00:19:28.495
<00:19:27.375>that <00:19:27.627>we've <00:19:27.879>built <00:19:28.130>using <00:19:28.382>this.

393
00:19:28.635 --> 00:19:29.695
<00:19:28.635>Um, <00:19:29.589>API.

394
00:19:30.125 --> 00:19:32.655
<00:19:30.125>When <00:19:30.300>we <00:19:30.475>were <00:19:30.650>happy, <00:19:30.825>our <00:19:31.000>partner <00:19:31.175>did <00:19:31.350>the <00:19:31.525>same

395
00:19:32.655 --> 00:19:34.175
<00:19:32.655>and <00:19:32.883>they <00:19:33.110>built <00:19:33.339>some <00:19:33.567>integration <00:19:33.795>for <00:19:34.023>us.

396
00:19:34.835 --> 00:19:36.775
<00:19:34.835>And <00:19:35.068>now <00:19:35.301>last <00:19:35.535>month <00:19:35.768>it <00:19:36.001>was <00:19:36.235>ga

397
00:19:36.955 --> 00:19:38.295
<00:19:36.955>so <00:19:37.196>this <00:19:37.437>was <00:19:37.678>released <00:19:37.919>to <00:19:38.161>everyone.

398
00:19:38.295 --> 00:19:40.335
<00:19:38.295>So <00:19:38.450>it's <00:19:38.606>really <00:19:38.761>something <00:19:38.917>that <00:19:39.072>we <00:19:39.228>apply <00:19:39.383>all <00:19:39.539>the <00:19:39.695>time

399
00:19:41.595 --> 00:19:42.935
<00:19:41.595>and <00:19:41.836>now <00:19:42.077>we <00:19:42.318>are <00:19:42.559>learning <00:19:42.801>from

400
00:19:42.935 --> 00:19:44.295
<00:19:42.935>everything <00:19:43.241>from <00:19:43.547>what <00:19:43.853>we've <00:19:44.159>built.

401
00:19:44.955 --> 00:19:47.735
<00:19:44.955>And <00:19:45.129>next, <00:19:45.304>we <00:19:45.480>want <00:19:45.655>to <00:19:45.830>build <00:19:46.004>an <00:19:46.179>integration <00:19:46.355>framework

402
00:19:47.835 --> 00:19:49.575
<00:19:47.835>to <00:19:48.115>ensure <00:19:48.395>that <00:19:48.675>we <00:19:48.955>keep <00:19:49.235>consistency

403
00:19:49.575 --> 00:19:51.655
<00:19:49.575>and <00:19:49.808>make <00:19:50.041>our <00:19:50.275>integration <00:19:50.508>more <00:19:50.741>easily <00:19:50.975>maintainable.

404
00:19:53.875 --> 00:19:57.215
<00:19:53.875>So <00:19:54.002>I <00:19:54.129>really <00:19:54.256>hope <00:19:54.384>that <00:19:54.511>today <00:19:54.638>I <00:19:54.765>inspired <00:19:54.893>you <00:19:55.020>to <00:19:55.147>duck <00:19:55.275>food

405
00:19:57.715 --> 00:19:59.855
<00:19:57.715>and <00:19:57.948>maybe <00:19:58.181>releasing <00:19:58.415>some <00:19:58.648>of <00:19:58.881>your <00:19:59.115>tools

406
00:20:00.115 --> 00:20:01.215
<00:20:00.115>to <00:20:00.445>all <00:20:00.774>the <00:20:01.105>developers.

407
00:20:01.305 --> 00:20:02.055
<00:20:01.305>Thank <00:20:01.530>you <00:20:01.755>very <00:20:01.980>much.