WEBVTT

1
00:00:04.995 --> 00:00:05.975
<00:00:04.995>What's <00:00:05.436>up <00:00:05.877>everyone?

2
00:00:06.215 --> 00:00:09.095
<00:00:06.215>I <00:00:06.390>am <00:00:06.564>hun. <00:00:06.740>Um, <00:00:06.915>people <00:00:07.090>also <00:00:07.265>call <00:00:07.439>me <00:00:07.615>Hux.

3
00:00:09.795 --> 00:00:14.775
<00:00:09.795>Uh, <00:00:09.935>I <00:00:10.075>use <00:00:10.215>the <00:00:10.355>Hux <00:00:10.495>Pro <00:00:10.635>handle <00:00:10.775>everywhere <00:00:10.915>on <00:00:11.055>the <00:00:11.195>internet.

4
00:00:15.355 --> 00:00:18.335
<00:00:15.355>Um, <00:00:15.510>so <00:00:15.666>this <00:00:15.821>is <00:00:15.977>my <00:00:16.132>very <00:00:16.288>first <00:00:16.443>talk <00:00:16.599>in <00:00:16.755>Germany.

5
00:00:18.595 --> 00:00:21.135
<00:00:18.595>So <00:00:18.828>shout <00:00:19.061>out <00:00:19.294>to, <00:00:19.528>we <00:00:19.761>are <00:00:19.994>developer

6
00:00:21.195 --> 00:00:24.055
<00:00:21.195>and <00:00:21.370>my <00:00:21.545>colleagues <00:00:21.720>at <00:00:21.895>TikTok <00:00:22.070>to <00:00:22.245>make <00:00:22.420>this <00:00:22.595>happen.

7
00:00:27.275 --> 00:00:31.155
<00:00:27.275>A <00:00:27.415>bit <00:00:27.555>of <00:00:27.695>myself, <00:00:27.834>I <00:00:27.974>believe <00:00:28.115>everyone <00:00:28.255>knows <00:00:28.395>React <00:00:28.534>here, <00:00:28.674>right?

8
00:00:31.915 --> 00:00:35.555
<00:00:31.915>Everyone <00:00:32.195>knows <00:00:32.475>React. <00:00:32.754>So <00:00:33.035>I've <00:00:33.315>been

9
00:00:35.555 --> 00:00:37.835
<00:00:35.555>around <00:00:35.755>in <00:00:35.955>the <00:00:36.155>React <00:00:36.355>community <00:00:36.555>for <00:00:36.755>a <00:00:36.955>while.

10
00:00:38.315 --> 00:00:41.875
<00:00:38.315>I <00:00:38.515>used <00:00:38.714>to <00:00:38.915>contribute <00:00:39.114>to <00:00:39.315>recent <00:00:39.515>Mail, <00:00:39.714>Hermes,

11
00:00:41.875 --> 00:00:43.595
<00:00:41.875>and <00:00:42.341>React <00:00:42.808>Native, <00:00:43.275>um,

12
00:00:45.335 --> 00:00:48.475
<00:00:45.335>to <00:00:45.535>make <00:00:45.735>Hermes <00:00:45.935>one <00:00:46.135>of <00:00:46.335>the <00:00:46.535>best <00:00:46.735>engine

13
00:00:48.495 --> 00:00:50.715
<00:00:48.495>for <00:00:48.775>React <00:00:49.055>Native <00:00:49.334>and <00:00:49.614>for <00:00:49.894>Marble.

14
00:00:52.175 --> 00:00:56.835
<00:00:52.175>Uh, <00:00:52.315>and <00:00:52.455>if <00:00:52.595>you <00:00:52.735>don't <00:00:52.875>forget <00:00:53.015>to <00:00:53.154>talk <00:00:53.294>in <00:00:53.434>React <00:00:53.574>2021,

15
00:00:57.345 --> 00:01:00.435
<00:00:57.345>that <00:00:57.519>was <00:00:57.695>me <00:00:57.870>dropping <00:00:58.045>the <00:00:58.220>React <00:00:58.394>for <00:00:58.570>Gap <00:00:58.745>project.

16
00:01:01.215 --> 00:01:05.595
<00:01:01.215>Um, <00:01:01.390>and <00:01:01.565>after <00:01:01.740>years, <00:01:01.915>now <00:01:02.090>we <00:01:02.265>have <00:01:02.440>React <00:01:02.615>Compiler.

17
00:01:05.825 --> 00:01:07.955
<00:01:05.825>Everybody <00:01:06.175>excited <00:01:06.525>about <00:01:06.875>React <00:01:07.225>compiler.

18
00:01:11.775 --> 00:01:16.135
<00:01:11.775>So, <00:01:12.055>um, <00:01:12.335>but <00:01:12.615>today <00:01:12.895>I'm <00:01:13.175>going

19
00:01:16.135 --> 00:01:17.575
<00:01:16.135>to <00:01:16.459>talk <00:01:16.783>about <00:01:17.107>something <00:01:17.431>new.

20
00:01:18.195 --> 00:01:20.295
<00:01:18.195>Uh, <00:01:18.395>something <00:01:18.595>I've <00:01:18.794>been <00:01:18.994>working <00:01:19.195>with <00:01:19.395>another <00:01:19.595>team

21
00:01:20.435 --> 00:01:21.655
<00:01:20.435>for <00:01:20.709>the <00:01:20.984>past <00:01:21.258>two <00:01:21.533>years.

22
00:01:25.055 --> 00:01:29.385
<00:01:25.055>It's <00:01:25.255>called <00:01:25.455>Links. <00:01:25.655>Links, <00:01:25.855>doesn't <00:01:26.055>solve <00:01:26.255>a <00:01:26.455>problem.

23
00:01:29.535 --> 00:01:30.705
<00:01:29.535>Like <00:01:30.061>react, <00:01:30.588>forgot.

24
00:01:30.805 --> 00:01:34.145
<00:01:30.805>We <00:01:30.960>gap <00:01:31.116>solve, <00:01:31.271>solve <00:01:31.427>the <00:01:31.582>pain <00:01:31.738>that <00:01:31.893>everybody <00:01:32.049>already <00:01:32.205>felt.

25
00:01:34.725 --> 00:01:38.825
<00:01:34.725>Um, <00:01:34.899>but <00:01:35.074>links <00:01:35.250>is <00:01:35.425>for <00:01:35.600>something <00:01:35.774>new, <00:01:35.949>something <00:01:36.125>more,

26
00:01:39.805 --> 00:01:42.505
<00:01:39.805>uh, <00:01:39.932>you <00:01:40.059>understand <00:01:40.186>what <00:01:40.314>I <00:01:40.441>mean <00:01:40.568>by <00:01:40.695>the <00:01:40.823>end <00:01:40.950>of <00:01:41.077>the <00:01:41.205>talk?

27
00:01:44.845 --> 00:01:48.185
<00:01:44.845>So <00:01:45.045>we <00:01:45.245>open <00:01:45.445>source <00:01:45.645>links <00:01:45.845>at <00:01:46.045>March, <00:01:46.245>uh,

28
00:01:48.815 --> 00:01:51.345
<00:01:48.815>earlier <00:01:49.048>this <00:01:49.281>year <00:01:49.515>with <00:01:49.748>this <00:01:49.981>blog <00:01:50.215>post.

29
00:01:53.545 --> 00:01:55.625
<00:01:53.545>Honestly, <00:01:53.825>I <00:01:54.105>didn't <00:01:54.385>anticipate <00:01:54.665>that <00:01:54.945>this

30
00:01:56.295 --> 00:01:57.545
<00:01:56.295>went <00:01:56.576>a <00:01:56.857>little <00:01:57.138>bit <00:01:57.420>viral.

31
00:01:57.805 --> 00:02:00.425
<00:01:57.805>How, <00:01:57.960>how <00:01:58.116>many <00:01:58.271>of <00:01:58.427>you <00:01:58.582>have <00:01:58.738>already <00:01:58.893>heard <00:01:59.049>of <00:01:59.205>links

32
00:02:00.445 --> 00:02:01.945
<00:02:00.445>before <00:02:00.782>coming <00:02:01.119>into <00:02:01.457>this <00:02:01.794>talk?

33
00:02:02.035 --> 00:02:04.825
<00:02:02.035>Right? <00:02:02.190>Plenty <00:02:02.346>of <00:02:02.501>you. <00:02:02.657>I <00:02:02.812>really <00:02:02.968>appreciate <00:02:03.123>you <00:02:03.279>guys <00:02:03.435>coming.

34
00:02:05.605 --> 00:02:09.785
<00:02:05.605>Um, <00:02:05.745>thanks <00:02:05.885>to <00:02:06.025>some <00:02:06.165>of <00:02:06.305>the <00:02:06.445>Twitter <00:02:06.585>celebrated <00:02:06.725>tweet <00:02:06.865>about <00:02:07.005>us.

35
00:02:13.115 --> 00:02:17.975
<00:02:13.115>But <00:02:13.255>what <00:02:13.395>really <00:02:13.535>hits <00:02:13.675>me <00:02:13.815>is <00:02:13.955>when <00:02:14.095>some <00:02:14.235>of <00:02:14.375>the, <00:02:14.515>uh,

36
00:02:18.495 --> 00:02:21.775
<00:02:18.495>YouTuber, <00:02:18.670>they <00:02:18.845>made <00:02:19.020>a <00:02:19.195>video <00:02:19.370>about <00:02:19.545>us <00:02:19.720>in <00:02:19.895>language

37
00:02:21.925 --> 00:02:23.095
<00:02:21.925>that <00:02:22.188>I <00:02:22.451>don't <00:02:22.714>even <00:02:22.978>speak,

38
00:02:23.365 --> 00:02:26.095
<00:02:23.365>like <00:02:23.540>I <00:02:23.715>completely <00:02:23.890>don't <00:02:24.065>understand <00:02:24.240>what <00:02:24.415>it's <00:02:24.590>talking <00:02:24.765>about.

39
00:02:26.635 --> 00:02:31.295
<00:02:26.635>Our <00:02:26.984>transcription, <00:02:27.334>that's <00:02:27.685>another <00:02:28.035>one.

40
00:02:32.485 --> 00:02:34.295
<00:02:32.485>Cost <00:02:32.765>stack. <00:02:33.045>They <00:02:33.325>also <00:02:33.605>made, <00:02:33.885>um,

41
00:02:34.895 --> 00:02:37.175
<00:02:34.895>a <00:02:35.175>very <00:02:35.455>insightful <00:02:35.735>livestream <00:02:36.015>about <00:02:36.295>us,

42
00:02:38.585 --> 00:02:40.685
<00:02:38.585>And <00:02:38.865>we <00:02:39.145>absolutely <00:02:39.425>didn't <00:02:39.705>see, <00:02:39.985>uh,

43
00:02:41.235 --> 00:02:43.445
<00:02:41.235>fire <00:02:41.468>Ship <00:02:41.701>drop <00:02:41.935>a <00:02:42.168>video <00:02:42.401>about <00:02:42.635>us.

44
00:02:44.385 --> 00:02:46.125
<00:02:44.385>The <00:02:44.618>very <00:02:44.851>next <00:02:45.084>day <00:02:45.318>we <00:02:45.551>open <00:02:45.785>source.

45
00:02:47.365 --> 00:02:51.065
<00:02:47.365>And <00:02:47.540>then <00:02:47.715>Theo, <00:02:47.890>uh, <00:02:48.065>the <00:02:48.240>blonde <00:02:48.415>version <00:02:48.590>of <00:02:48.765>Theo,

46
00:02:52.205 --> 00:02:54.905
<00:02:52.204>he <00:02:52.360>also <00:02:52.516>drop <00:02:52.671>a <00:02:52.827>very <00:02:52.982>deep <00:02:53.138>dive <00:02:53.293>video <00:02:53.449>about <00:02:53.605>us.

47
00:02:55.305 --> 00:02:58.465
<00:02:55.305>I <00:02:55.460>really <00:02:55.616>appreciate <00:02:55.771>he <00:02:55.927>read <00:02:56.082>through <00:02:56.238>all <00:02:56.393>the <00:02:56.549>blog <00:02:56.705>posts.

48
00:02:58.605 --> 00:03:02.605
<00:02:58.605>Um, <00:02:58.885>so <00:02:59.165>what, <00:02:59.445>what <00:02:59.725>is <00:03:00.005>links

49
00:03:03.745 --> 00:03:04.845
<00:03:03.745>in <00:03:04.735>nutshell?

50
00:03:06.345 --> 00:03:09.405
<00:03:06.345>It <00:03:06.500>Try <00:03:06.656>to <00:03:06.811>solve <00:03:06.967>the <00:03:07.122>same <00:03:07.278>problem <00:03:07.433>that <00:03:07.589>Web <00:03:07.745>React,

51
00:03:09.405 --> 00:03:10.405
<00:03:09.405>native <00:03:10.305>flutter.

52
00:03:10.825 --> 00:03:13.405
<00:03:10.825>Try <00:03:11.000>to <00:03:11.174>say, <00:03:11.350>try <00:03:11.524>to <00:03:11.700>solve <00:03:11.875>for <00:03:12.049>us, <00:03:12.225>right?

53
00:03:14.125 --> 00:03:15.885
<00:03:14.125>Everyone <00:03:14.358>wants <00:03:14.591>to <00:03:14.825>write <00:03:15.058>code <00:03:15.291>just <00:03:15.525>once

54
00:03:16.425 --> 00:03:19.205
<00:03:16.425>and <00:03:16.600>be <00:03:16.775>able <00:03:16.950>to <00:03:17.125>render <00:03:17.300>to <00:03:17.475>everywhere, <00:03:17.650>build <00:03:17.825>apps,

55
00:03:19.215 --> 00:03:21.605
<00:03:19.215>build <00:03:19.495>user <00:03:19.775>interface <00:03:20.055>to <00:03:20.335>all <00:03:20.615>platforms.

56
00:03:22.795 --> 00:03:25.845
<00:03:22.795>Currently <00:03:23.028>we <00:03:23.261>support <00:03:23.495>iOS, <00:03:23.728>Android, <00:03:23.961>and <00:03:24.195>Web.

57
00:03:26.665 --> 00:03:28.085
<00:03:26.665>But <00:03:26.920>there <00:03:27.176>are <00:03:27.431>more <00:03:27.687>platform <00:03:27.943>coming

58
00:03:30.625 --> 00:03:32.405
<00:03:30.625>and <00:03:30.975>links <00:03:31.325>is <00:03:31.675>production <00:03:32.025>ready.

59
00:03:32.755 --> 00:03:36.125
<00:03:32.755>It's <00:03:33.035>heavily <00:03:33.315>used <00:03:33.595>by <00:03:33.875>TikTok, <00:03:34.155>uh,

60
00:03:36.275 --> 00:03:40.685
<00:03:36.275>from <00:03:36.508>lightweight <00:03:36.741>panel <00:03:36.975>like <00:03:37.208>search, <00:03:37.441>uh, <00:03:37.675>to

61
00:03:41.395 --> 00:03:44.685
<00:03:41.395>full <00:03:41.628>fledge <00:03:41.861>app <00:03:42.095>like <00:03:42.328>TikTok <00:03:42.561>Studio, <00:03:42.795>uh,

62
00:03:45.465 --> 00:03:47.805
<00:03:45.465>to <00:03:45.815>e-commerce <00:03:46.165>shop, <00:03:46.515>to <00:03:46.865>livestream

63
00:03:48.345 --> 00:03:51.885
<00:03:48.345>and <00:03:48.500>to <00:03:48.656>campaign <00:03:48.811>like <00:03:48.967>Disney, <00:03:49.122>Disney, <00:03:49.278>uh, <00:03:49.433>Disney <00:03:49.589>100 <00:03:49.745>days.

64
00:03:51.945 --> 00:03:54.285
<00:03:51.945>And, <00:03:52.225>uh, <00:03:52.505>meta <00:03:52.785>Gala <00:03:53.065>on <00:03:53.345>TikTok.

65
00:03:55.065 --> 00:03:57.885
<00:03:55.065>So <00:03:55.220>if <00:03:55.376>you <00:03:55.531>ever <00:03:55.687>touch <00:03:55.842>any <00:03:55.998>of <00:03:56.153>the <00:03:56.309>screen <00:03:56.465>here,

66
00:03:58.345 --> 00:04:00.645
<00:03:58.345>you've <00:03:58.578>already <00:03:58.811>been <00:03:59.045>a <00:03:59.278>user <00:03:59.511>of <00:03:59.745>links

67
00:04:02.825 --> 00:04:06.725
<00:04:02.825>and <00:04:03.024>that's <00:04:03.225>user <00:04:03.424>experience <00:04:03.625>as <00:04:03.825>for <00:04:04.024>developer <00:04:04.225>experience,

68
00:04:07.345 --> 00:04:08.565
<00:04:07.345>and <00:04:07.564>that's <00:04:07.784>why <00:04:08.003>we're <00:04:08.223>here, <00:04:08.442>right?

69
00:04:09.065 --> 00:04:12.795
<00:04:09.065>You <00:04:09.240>kind <00:04:09.415>of <00:04:09.590>already <00:04:09.765>knew <00:04:09.940>it's <00:04:10.115>the <00:04:10.290>same <00:04:10.465>JavaScript,

70
00:04:13.265 --> 00:04:17.155
<00:04:13.265>send <00:04:13.498>mock <00:04:13.731>up, <00:04:13.964>uh, <00:04:14.198>and <00:04:14.431>seeing <00:04:14.665>looks

71
00:04:17.215 --> 00:04:21.155
<00:04:17.214>and <00:04:17.448>feel, <00:04:17.681>um, <00:04:17.914>same <00:04:18.148>familiar <00:04:18.381>React <00:04:18.614>APIs,

72
00:04:21.155 --> 00:04:23.035
<00:04:21.154>you <00:04:21.354>still <00:04:21.554>have <00:04:21.755>hooks, <00:04:21.954>you <00:04:22.155>have <00:04:22.354>use <00:04:22.554>fact,

73
00:04:23.135 --> 00:04:26.835
<00:04:23.135>you <00:04:23.310>have <00:04:23.485>class <00:04:23.659>name <00:04:23.835>at <00:04:24.010>the <00:04:24.185>right <00:04:24.360>hand <00:04:24.534>side.

74
00:04:26.895 --> 00:04:29.595
<00:04:26.895>I'm <00:04:27.094>showing <00:04:27.294>off. <00:04:27.495>We <00:04:27.695>render <00:04:27.895>not <00:04:28.094>to <00:04:28.294>mobile.

75
00:04:30.035 --> 00:04:31.875
<00:04:30.035>'cause <00:04:30.235>everybody <00:04:30.435>knows <00:04:30.635>we <00:04:30.835>can <00:04:31.035>render <00:04:31.235>to <00:04:31.435>mobile.

76
00:04:32.205 --> 00:04:35.035
<00:04:32.205>We're <00:04:32.405>actually, <00:04:32.604>uh, <00:04:32.805>render <00:04:33.005>into <00:04:33.205>the <00:04:33.405>web <00:04:33.604>here.

77
00:04:35.055 --> 00:04:36.875
<00:04:35.055>So <00:04:35.288>you <00:04:35.521>can <00:04:35.755>see <00:04:35.988>it's <00:04:36.221>like <00:04:36.455>interactive.

78
00:04:40.255 --> 00:04:43.715
<00:04:40.255>And <00:04:40.410>what <00:04:40.566>makes <00:04:40.721>Links <00:04:40.877>a <00:04:41.032>little <00:04:41.188>bit <00:04:41.343>unique <00:04:41.499>is <00:04:41.655>that

79
00:04:43.975 --> 00:04:48.515
<00:04:43.975>to <00:04:44.130>style <00:04:44.286>the <00:04:44.441>user <00:04:44.597>interface, <00:04:44.752>you <00:04:44.908>can <00:04:45.063>use <00:04:45.219>actual <00:04:45.375>CSS

80
00:04:49.695 --> 00:04:54.235
<00:04:49.695>and <00:04:49.895>that <00:04:50.094>means <00:04:50.295>CSS <00:04:50.495>variables, <00:04:50.695>uh, <00:04:50.895>CSS <00:04:51.094>selectors

81
00:04:54.415 --> 00:04:57.315
<00:04:54.415>and <00:04:54.695>CSS <00:04:54.975>animation <00:04:55.255>Key <00:04:55.535>frame <00:04:55.815>transition,

82
00:04:57.565 --> 00:04:58.835
<00:04:57.565>everything <00:04:57.945>you <00:04:58.327>already <00:04:58.707>knew.

83
00:05:01.315 --> 00:05:04.615
<00:05:01.315>So <00:05:01.431>at <00:05:01.548>least <00:05:01.665>point, <00:05:01.781>some <00:05:01.898>of, <00:05:02.015>some <00:05:02.131>of <00:05:02.248>you <00:05:02.365>may <00:05:02.481>be <00:05:02.598>like, <00:05:02.715>well,

84
00:05:04.835 --> 00:05:07.415
<00:05:04.835>it <00:05:05.114>is <00:05:05.395>links <00:05:05.674>another <00:05:05.955>web <00:05:06.234>browser.

85
00:05:09.255 --> 00:05:12.655
<00:05:09.255>I <00:05:09.395>mean, <00:05:09.534>if <00:05:09.675>you <00:05:09.815>Google <00:05:09.955>it, <00:05:10.094>wait, <00:05:10.235>I <00:05:10.375>shouldn't <00:05:10.515>say <00:05:10.655>that.

86
00:05:12.655 --> 00:05:16.775
<00:05:12.655>If <00:05:12.888>you <00:05:13.121>chat <00:05:13.354>GPT, <00:05:13.588>it, <00:05:13.821>uh, <00:05:14.054>it's

87
00:05:21.775 --> 00:05:22.195
woohoo.

88
00:05:22.935 --> 00:05:26.555
<00:05:22.935>Um, <00:05:23.075>we, <00:05:23.215>we <00:05:23.355>have <00:05:23.495>some <00:05:23.635>problem <00:05:23.775>for <00:05:23.915>this, <00:05:24.055>for <00:05:24.195>the <00:05:24.335>monitor.

89
00:05:27.775 --> 00:05:29.995
<00:05:27.775>Hey, <00:05:28.008>can <00:05:28.241>you <00:05:28.474>bring <00:05:28.708>the <00:05:28.941>monitor <00:05:29.174>back?

90
00:05:54.825 --> 00:05:55.915
<00:05:54.825>Well, <00:05:55.152>that's <00:05:55.479>what <00:05:55.806>happened.

91
00:05:55.915 --> 00:05:57.885
<00:05:55.915>When <00:05:56.070>you're <00:05:56.226>at <00:05:56.381>the <00:05:56.537>first <00:05:56.692>to <00:05:56.848>talk <00:05:57.003>of <00:05:57.159>the <00:05:57.315>day,

92
00:06:04.065 --> 00:06:07.445
<00:06:04.065>no <00:06:04.265>Signal <00:06:04.465>may, <00:06:04.665>maybe <00:06:04.865>we'll <00:06:05.065>bring <00:06:05.265>some <00:06:05.465>signal

93
00:06:07.545 --> 00:06:08.605
<00:06:07.545>to <00:06:07.863>links. <00:06:08.181>Who <00:06:08.499>knows?

94
00:06:09.135 --> 00:06:11.925
<00:06:09.135>There <00:06:09.601>you <00:06:10.068>Yes. <00:06:10.534>Back.

95
00:06:16.545 --> 00:06:21.435
<00:06:16.545>Yeah. <00:06:16.720>So <00:06:16.895>if <00:06:17.070>you <00:06:17.245>chat <00:06:17.420>bt <00:06:17.595>maybe, <00:06:17.770>uh, <00:06:17.945>chat

96
00:06:21.945 --> 00:06:25.035
<00:06:21.945>will <00:06:22.145>say <00:06:22.344>yes, <00:06:22.545>because <00:06:22.745>we <00:06:22.945>actually <00:06:23.145>have <00:06:23.344>a

97
00:06:25.035 --> 00:06:26.635
<00:06:25.035>browser <00:06:25.501>named <00:06:25.968>the <00:06:26.435>links.

98
00:06:27.215 --> 00:06:32.195
<00:06:27.215>Um, <00:06:27.342>but <00:06:27.469>that's <00:06:27.596>not <00:06:27.724>us. <00:06:27.851>So <00:06:27.978>we <00:06:28.105>go <00:06:28.233>back <00:06:28.360>to <00:06:28.487>this <00:06:28.614>question.

99
00:06:32.255 --> 00:06:35.645
<00:06:32.255>If <00:06:32.455>links, <00:06:32.655>uh, <00:06:32.855>is <00:06:33.055>links <00:06:33.255>a <00:06:33.455>web <00:06:33.655>browser?

100
00:06:37.505 --> 00:06:39.045
<00:06:37.505>Yes <00:06:37.967>and <00:06:38.429>no. <00:06:38.891>Yes-Ish,

101
00:06:39.045 --> 00:06:43.205
<00:06:39.045>because <00:06:39.220>we <00:06:39.395>do <00:06:39.570>use <00:06:39.745>languages <00:06:39.920>from <00:06:40.095>the <00:06:40.270>web <00:06:40.445>like

102
00:06:43.835 --> 00:06:46.205
<00:06:43.835>markups, <00:06:44.301>CSS, <00:06:44.768>JavaScript, <00:06:45.234>right?

103
00:06:46.545 --> 00:06:49.005
<00:06:46.545>So <00:06:46.745>that <00:06:46.945>you <00:06:47.145>can <00:06:47.345>reuse <00:06:47.545>your <00:06:47.745>existing <00:06:47.945>web

104
00:06:49.005 --> 00:06:50.365
<00:06:49.005>knowledges <00:06:49.413>to <00:06:49.821>build <00:06:50.229>apps.

105
00:06:52.265 --> 00:06:54.205
<00:06:52.265>But, <00:06:52.615>but <00:06:52.965>also <00:06:53.315>know <00:06:53.664>right?

106
00:06:54.575 --> 00:06:59.405
<00:06:54.575>Links <00:06:54.715>exists <00:06:54.854>because <00:06:54.995>we, <00:06:55.135>as <00:06:55.275>web <00:06:55.414>developers, <00:06:55.555>I <00:06:55.695>believe <00:06:55.835>a <00:06:55.974>lot

107
00:06:59.405 --> 00:07:03.165
<00:06:59.405>of <00:06:59.580>your <00:06:59.755>web <00:06:59.929>developers, <00:07:00.104>uh, <00:07:00.280>web <00:07:00.455>isn't <00:07:00.630>innovating <00:07:00.804>enough.

108
00:07:03.385 --> 00:07:06.445
<00:07:03.385>And <00:07:03.585>so <00:07:03.784>we <00:07:03.985>need <00:07:04.185>to <00:07:04.385>make <00:07:04.585>some <00:07:04.784>changes.

109
00:07:06.545 --> 00:07:08.365
<00:07:06.545>We <00:07:06.778>need <00:07:07.011>to <00:07:07.245>make <00:07:07.478>some <00:07:07.711>differences, <00:07:07.945>right?

110
00:07:08.365 --> 00:07:12.285
<00:07:08.365>If <00:07:08.505>web <00:07:08.645>browser <00:07:08.785>is <00:07:08.925>so <00:07:09.065>great, <00:07:09.205>why <00:07:09.345>hasn't <00:07:09.485>we <00:07:09.625>built <00:07:09.765>everything

111
00:07:12.875 --> 00:07:15.525
<00:07:12.875>with, <00:07:13.225>um, <00:07:13.575>web <00:07:13.925>browser <00:07:14.275>model?

112
00:07:16.325 --> 00:07:17.805
<00:07:16.325>I, <00:07:16.515>I <00:07:16.705>mean, <00:07:16.895>it, <00:07:17.086>it, <00:07:17.276>it's <00:07:17.466>pretty <00:07:17.657>cool

113
00:07:17.805 --> 00:07:20.765
<00:07:17.805>to <00:07:17.960>see <00:07:18.116>we <00:07:18.271>are <00:07:18.427>developers <00:07:18.582>are <00:07:18.738>using <00:07:18.893>PWAI <00:07:19.049>was <00:07:19.205>a

114
00:07:20.765 --> 00:07:21.845
<00:07:20.765>big <00:07:21.089>fan <00:07:21.413>of <00:07:21.737>PWA.

115
00:07:21.905 --> 00:07:24.165
<00:07:21.905>So <00:07:22.080>we, <00:07:22.255>we, <00:07:22.429>we, <00:07:22.604>we <00:07:22.780>are <00:07:22.955>slowly <00:07:23.130>getting <00:07:23.304>there.

116
00:07:25.345 --> 00:07:26.885
<00:07:25.345>Uh, <00:07:25.576>and <00:07:25.807>don't, <00:07:26.038>don't <00:07:26.269>get <00:07:26.500>me <00:07:26.731>wrong,

117
00:07:27.125 --> 00:07:29.005
<00:07:27.125>I <00:07:27.405>I <00:07:27.685>really <00:07:27.965>rooted <00:07:28.245>for <00:07:28.525>web.

118
00:07:29.805 --> 00:07:32.845
<00:07:29.805>I <00:07:29.980>still <00:07:30.155>believe <00:07:30.330>Web <00:07:30.505>has <00:07:30.680>the <00:07:30.855>best <00:07:31.030>possible <00:07:31.205>scale

119
00:07:34.555 --> 00:07:35.685
<00:07:34.555>when <00:07:34.809>it <00:07:35.063>comes <00:07:35.317>to <00:07:35.572>reach.

120
00:07:37.945 --> 00:07:40.565
<00:07:37.945>Um, <00:07:38.224>let's <00:07:38.505>look <00:07:38.784>at <00:07:39.065>this <00:07:39.344>graph.

121
00:07:40.625 --> 00:07:42.645
<00:07:40.625>You, <00:07:40.825>if <00:07:41.025>you <00:07:41.225>are <00:07:41.425>building <00:07:41.625>for <00:07:41.825>Apple, <00:07:42.025>right?

122
00:07:42.945 --> 00:07:46.285
<00:07:42.945>You <00:07:43.145>can <00:07:43.344>only <00:07:43.545>reach <00:07:43.745>to <00:07:43.945>Apple <00:07:44.145>users, <00:07:44.344>but,

123
00:07:46.305 --> 00:07:48.045
<00:07:46.305>but <00:07:46.655>Web <00:07:47.005>is <00:07:47.355>literally <00:07:47.705>everywhere.

124
00:07:48.045 --> 00:07:49.325
<00:07:48.045>And <00:07:48.275>that's <00:07:48.505>why <00:07:48.736>we <00:07:48.966>love <00:07:49.197>Web.

125
00:07:49.745 --> 00:07:52.645
<00:07:49.745>Um, <00:07:49.920>you <00:07:50.095>can <00:07:50.270>reach <00:07:50.445>any <00:07:50.620>user <00:07:50.795>from <00:07:50.970>any <00:07:51.145>devices,

126
00:07:53.945 --> 00:07:56.845
<00:07:53.945>and <00:07:54.145>Web <00:07:54.344>also <00:07:54.545>offers <00:07:54.745>the <00:07:54.945>best <00:07:55.145>possible <00:07:55.344>velocity.

127
00:07:58.305 --> 00:08:02.055
<00:07:58.305>If <00:07:58.460>you <00:07:58.616>build <00:07:58.771>for <00:07:58.927>native, <00:07:59.082>it's, <00:07:59.238>it's <00:07:59.393>kind <00:07:59.549>of <00:07:59.705>slow

128
00:08:02.195 --> 00:08:04.375
<00:08:02.195>to <00:08:02.474>deliver <00:08:02.755>your <00:08:03.034>user <00:08:03.315>experiences <00:08:03.594>to,

129
00:08:05.315 --> 00:08:06.815
<00:08:05.315>to <00:08:05.652>your <00:08:05.990>end <00:08:06.327>users, <00:08:06.665>right?

130
00:08:08.525 --> 00:08:13.465
<00:08:08.525>But <00:08:08.680>when <00:08:08.836>you <00:08:08.991>build <00:08:09.147>for <00:08:09.302>Web, <00:08:09.458>it <00:08:09.613>ships <00:08:09.769>incredibly <00:08:09.924>fast.

131
00:08:15.415 --> 00:08:18.665
<00:08:15.415>It's <00:08:15.542>too <00:08:15.669>fast. <00:08:15.796>We <00:08:15.924>have <00:08:16.051>to <00:08:16.178>see <00:08:16.305>it <00:08:16.433>again. <00:08:16.560>It's <00:08:16.687>like <00:08:16.815>pH.

132
00:08:20.445 --> 00:08:22.385
<00:08:20.445>So, <00:08:20.645>so <00:08:20.844>how <00:08:21.045>did <00:08:21.245>Web <00:08:21.445>lose <00:08:21.645>the <00:08:21.844>game?

133
00:08:22.405 --> 00:08:25.545
<00:08:22.405>If <00:08:22.521>web <00:08:22.638>is <00:08:22.755>so <00:08:22.871>good, <00:08:22.988>it <00:08:23.104>has <00:08:23.221>the <00:08:23.338>scale <00:08:23.455>it <00:08:23.571>has <00:08:23.688>to <00:08:23.804>velocity.

134
00:08:25.635 --> 00:08:30.265
<00:08:25.635>Today. <00:08:25.868>Uh, <00:08:26.101>our <00:08:26.335>friends, <00:08:26.568>Alex <00:08:26.801>Russell, <00:08:27.034>uh,

135
00:08:30.405 --> 00:08:33.465
<00:08:30.405>he <00:08:30.544>used <00:08:30.684>to <00:08:30.825>work <00:08:30.965>on <00:08:31.104>Google <00:08:31.244>Chrome <00:08:31.385>and, <00:08:31.525>and <00:08:31.664>then <00:08:31.804>Edge.

136
00:08:34.005 --> 00:08:38.705
<00:08:34.005>Um, <00:08:34.284>he <00:08:34.564>come <00:08:34.845>Outta <00:08:35.125>theory, <00:08:35.405>um,

137
00:08:40.215 --> 00:08:43.955
<00:08:40.215>like <00:08:40.448>other <00:08:40.681>meta <00:08:40.915>platforms, <00:08:41.148>the <00:08:41.381>web <00:08:41.615>thrives

138
00:08:44.095 --> 00:08:45.555
<00:08:44.095>or <00:08:44.752>declines <00:08:45.409>lives

139
00:08:45.615 --> 00:08:47.435
<00:08:45.615>or <00:08:45.965>dives <00:08:46.315>to <00:08:46.665>the <00:08:47.015>extent

140
00:08:47.435 --> 00:08:49.675
<00:08:47.435>that <00:08:47.668>it <00:08:47.901>can <00:08:48.135>accomplish <00:08:48.368>the <00:08:48.601>lion's <00:08:48.834>share

141
00:08:49.675 --> 00:08:52.155
<00:08:49.675>of <00:08:49.849>the <00:08:50.025>things <00:08:50.199>we <00:08:50.375>expect <00:08:50.550>most <00:08:50.724>computers <00:08:50.900>to <00:08:51.074>do.

142
00:08:54.335 --> 00:08:58.125
<00:08:54.335>This <00:08:54.568>idea <00:08:54.801>is <00:08:55.035>called <00:08:55.268>Platform <00:08:55.501>Adjacency <00:08:55.735>Theory.

143
00:08:58.635 --> 00:09:02.525
<00:08:58.635>Basically, <00:08:58.810>uh, <00:08:58.985>for <00:08:59.160>a <00:08:59.335>meta <00:08:59.510>platform <00:08:59.685>like, <00:08:59.860>like <00:09:00.035>web,

144
00:09:05.745 --> 00:09:09.565
<00:09:05.745>it <00:09:05.945>has <00:09:06.145>to <00:09:06.345>keep <00:09:06.545>adaptive <00:09:06.745>features <00:09:06.945>from <00:09:07.145>different

145
00:09:10.115 --> 00:09:13.565
<00:09:10.115>operating <00:09:10.315>system, <00:09:10.515>different <00:09:10.715>host <00:09:10.915>operating <00:09:11.115>system, <00:09:11.315>uh, <00:09:11.515>that

146
00:09:14.345 --> 00:09:15.685
<00:09:14.345>and <00:09:14.747>adopted <00:09:15.149>those <00:09:15.550>feature

147
00:09:15.685 --> 00:09:19.285
<00:09:15.685>that <00:09:15.885>has <00:09:16.084>been <00:09:16.285>widely <00:09:16.484>supported <00:09:16.685>across <00:09:16.885>multiple <00:09:17.084>operating

148
00:09:19.285 --> 00:09:22.405
<00:09:19.285>system <00:09:19.485>and <00:09:19.685>the <00:09:19.885>platform <00:09:20.084>to <00:09:20.285>stay <00:09:20.485>relevant, <00:09:20.685>right?

149
00:09:23.145 --> 00:09:25.445
<00:09:23.145>So <00:09:23.345>it <00:09:23.545>has <00:09:23.745>to <00:09:23.944>maintain <00:09:24.145>that <00:09:24.345>relevant <00:09:24.545>gap.

150
00:09:28.025 --> 00:09:30.365
<00:09:28.025>But <00:09:28.199>if <00:09:28.375>a <00:09:28.550>meta <00:09:28.725>platform <00:09:28.900>fails <00:09:29.074>to <00:09:29.250>do <00:09:29.425>so,

151
00:09:30.505 --> 00:09:33.605
<00:09:30.505>if <00:09:30.705>the <00:09:30.905>gap <00:09:31.105>is <00:09:31.305>like <00:09:31.505>too <00:09:31.705>big, <00:09:31.905>um,

152
00:09:36.125 --> 00:09:38.665
<00:09:36.125>people <00:09:36.358>will <00:09:36.591>stop <00:09:36.825>caring <00:09:37.058>about <00:09:37.291>that <00:09:37.525>platform.

153
00:09:38.885 --> 00:09:42.345
<00:09:38.885>And <00:09:39.060>as <00:09:39.235>developers, <00:09:39.410>if <00:09:39.585>users <00:09:39.760>stop <00:09:39.935>care <00:09:40.110>caring <00:09:40.285>about

154
00:09:42.345 --> 00:09:45.745
<00:09:42.345>and <00:09:42.485>using <00:09:42.625>that <00:09:42.765>platforms, <00:09:42.905>uh, <00:09:43.045>we <00:09:43.185>we <00:09:43.325>have <00:09:43.465>nothing <00:09:43.605>to <00:09:43.745>do.

155
00:09:45.765 --> 00:09:47.785
<00:09:45.765>We <00:09:45.965>have <00:09:46.165>to <00:09:46.365>like <00:09:46.564>give <00:09:46.765>up <00:09:46.965>those <00:09:47.165>technologists.

156
00:09:49.895 --> 00:09:50.955
<00:09:49.895>So <00:09:50.213>the <00:09:50.531>same <00:09:50.849>diagram,

157
00:09:51.945 --> 00:09:54.835
<00:09:51.945>even <00:09:52.120>though <00:09:52.295>we <00:09:52.470>could <00:09:52.645>deliver <00:09:52.820>the <00:09:52.995>experience <00:09:53.170>at <00:09:53.345>scale

158
00:09:56.595 --> 00:10:01.055
<00:09:56.595>and <00:09:56.722>with <00:09:56.849>great <00:09:56.976>velocity, <00:09:57.104>if <00:09:57.231>the <00:09:57.358>user <00:09:57.485>is <00:09:57.613>not <00:09:57.740>happy <00:09:57.867>about <00:09:57.995>it,

159
00:10:02.475 --> 00:10:06.245
<00:10:02.475>um, <00:10:02.675>then <00:10:02.875>no <00:10:03.075>one's <00:10:03.275>gonna <00:10:03.475>to <00:10:03.675>use <00:10:03.875>it.

160
00:10:06.265 --> 00:10:11.175
<00:10:06.265>No <00:10:06.420>one's <00:10:06.576>gonna <00:10:06.731>like <00:10:06.887>it. <00:10:07.042>Tamo, <00:10:07.198>if, <00:10:07.353>you <00:10:07.509>know, <00:10:07.665>uh,

161
00:10:11.315 --> 00:10:14.535
<00:10:11.315>the, <00:10:11.515>he, <00:10:11.715>he <00:10:11.915>gave <00:10:12.115>the <00:10:12.315>original <00:10:12.515>talk, <00:10:12.715>uh,

162
00:10:14.665 --> 00:10:15.975
<00:10:14.665>presenting <00:10:15.254>React <00:10:15.844>native.

163
00:10:17.325 --> 00:10:19.215
<00:10:17.325>This <00:10:17.605>is <00:10:17.885>still <00:10:18.165>largely <00:10:18.445>true <00:10:18.725>nowadays.

164
00:10:19.875 --> 00:10:21.295
<00:10:19.875>Uh, <00:10:20.194>it's <00:10:20.514>getting <00:10:20.833>better, <00:10:21.153>right?

165
00:10:21.295 --> 00:10:24.855
<00:10:21.295>With <00:10:21.450>CSS, <00:10:21.606>with <00:10:21.761>modern <00:10:21.917>CS <00:10:22.072>features <00:10:22.228>and <00:10:22.383>more, <00:10:22.539>uh, <00:10:22.694>performance.

166
00:10:25.315 --> 00:10:27.855
<00:10:25.315>But <00:10:25.515>still, <00:10:25.715>like <00:10:25.915>in <00:10:26.115>any <00:10:26.315>time <00:10:26.515>somebody <00:10:26.715>tries

167
00:10:27.935 --> 00:10:31.055
<00:10:27.935>to <00:10:28.135>reimplement <00:10:28.334>native <00:10:28.535>wis <00:10:28.734>with <00:10:28.935>HT <00:10:29.135>M <00:10:29.334>Cs

168
00:10:31.055 --> 00:10:33.335
<00:10:31.055>and <00:10:31.288>JavaScript, <00:10:31.521>it <00:10:31.755>always <00:10:31.988>feels <00:10:32.221>like <00:10:32.454>s**t.

169
00:10:33.875 --> 00:10:38.175
<00:10:33.875>Um, <00:10:34.075>I <00:10:34.275>always <00:10:34.475>quoting <00:10:34.675>his, <00:10:34.875>uh, <00:10:35.075>the <00:10:35.275>statement.

170
00:10:39.795 --> 00:10:42.695
<00:10:39.795>And <00:10:39.995>that's <00:10:40.194>why <00:10:40.395>we <00:10:40.594>have <00:10:40.795>technologies <00:10:40.995>like <00:10:41.194>this.

171
00:10:43.155 --> 00:10:47.095
<00:10:43.155>Uh, <00:10:43.388>we <00:10:43.621>have <00:10:43.855>Cova <00:10:44.088>try <00:10:44.321>to <00:10:44.555>kind

172
00:10:47.095 --> 00:10:50.015
<00:10:47.095>of <00:10:47.270>poly <00:10:47.445>field <00:10:47.620>native <00:10:47.795>APIs <00:10:47.970>to <00:10:48.145>the <00:10:48.320>web <00:10:48.495>view,

173
00:10:50.275 --> 00:10:52.815
<00:10:50.275>and <00:10:50.475>then <00:10:50.675>we <00:10:50.875>have <00:10:51.074>React <00:10:51.275>native <00:10:51.475>and <00:10:51.675>Fluter.

174
00:10:55.395 --> 00:10:59.415
<00:10:55.395>Um, <00:10:55.861>so <00:10:56.328>with <00:10:56.795>personally,

175
00:10:59.415 --> 00:11:01.855
<00:10:59.415>think <00:10:59.694>about <00:10:59.974>why <00:11:00.255>those <00:11:00.535>technology <00:11:00.814>exists

176
00:11:01.955 --> 00:11:05.095
<00:11:01.955>and <00:11:02.130>what's <00:11:02.305>the <00:11:02.480>North <00:11:02.655>Star <00:11:02.830>for <00:11:03.005>all <00:11:03.180>these <00:11:03.355>technologies,

177
00:11:05.685 --> 00:11:06.975
<00:11:05.685>it's <00:11:05.975>kind <00:11:06.265>of <00:11:06.555>seen, <00:11:06.846>right?

178
00:11:07.635 --> 00:11:10.615
<00:11:07.635>We <00:11:07.835>wanna <00:11:08.035>hit <00:11:08.235>this <00:11:08.435>three <00:11:08.635>points <00:11:08.835>at <00:11:09.035>once.

179
00:11:10.635 --> 00:11:13.095
<00:11:10.635>We <00:11:10.810>wanna <00:11:10.985>have <00:11:11.160>scale, <00:11:11.335>we <00:11:11.510>wanna <00:11:11.685>have <00:11:11.860>na <00:11:12.035>uh,

180
00:11:13.115 --> 00:11:15.055
<00:11:13.115>we <00:11:13.348>wanna <00:11:13.581>have <00:11:13.815>the <00:11:14.048>native <00:11:14.281>use <00:11:14.515>experiences.

181
00:11:15.755 --> 00:11:19.735
<00:11:15.755>And, <00:11:15.910>um, <00:11:16.066>we, <00:11:16.221>we <00:11:16.377>want <00:11:16.532>to <00:11:16.688>have <00:11:16.843>the <00:11:16.999>velocity <00:11:17.155>and,

182
00:11:19.735 --> 00:11:23.935
<00:11:19.735>and <00:11:19.875>links <00:11:20.015>is, <00:11:20.155>is <00:11:20.295>like <00:11:20.435>not <00:11:20.575>very <00:11:20.715>different <00:11:20.855>from <00:11:20.995>from <00:11:21.135>those,

183
00:11:24.915 --> 00:11:29.815
<00:11:24.915>um, <00:11:25.070>by <00:11:25.226>starting <00:11:25.381>from <00:11:25.537>the <00:11:25.692>web <00:11:25.848>languages <00:11:26.003>now <00:11:26.159>we <00:11:26.314>want

184
00:11:29.815 --> 00:11:31.575
<00:11:29.815>to <00:11:30.048>be <00:11:30.281>more <00:11:30.515>men, <00:11:30.748>be <00:11:30.981>more <00:11:31.215>native.

185
00:11:34.955 --> 00:11:37.655
<00:11:34.955>So <00:11:35.235>links <00:11:35.515>use <00:11:35.795>native <00:11:36.075>primitives, <00:11:36.355>um,

186
00:11:38.115 --> 00:11:41.655
<00:11:38.115>and <00:11:38.395>links <00:11:38.675>text, <00:11:38.955>like <00:11:39.235>text, <00:11:39.515>uh,

187
00:11:42.205 --> 00:11:43.695
<00:11:42.205>view <00:11:42.875>and <00:11:43.546>images.

188
00:11:45.695 --> 00:11:47.025
<00:11:45.695>They <00:11:46.293>are <00:11:46.891>rendered

189
00:11:47.285 --> 00:11:51.505
<00:11:47.285>or <00:11:47.425>they <00:11:47.564>are <00:11:47.704>mapped <00:11:47.844>to <00:11:47.985>native <00:11:48.125>views <00:11:48.265>like <00:11:48.405>iOS, <00:11:48.545>ui, <00:11:48.685>kids,

190
00:11:51.505 --> 00:11:52.945
<00:11:51.505>Android <00:11:52.153>view, <00:11:52.801>um,

191
00:11:54.025 --> 00:11:57.885
<00:11:54.025>and <00:11:54.165>on <00:11:54.305>web <00:11:54.444>we <00:11:54.584>use <00:11:54.725>web <00:11:54.865>component <00:11:55.005>to, <00:11:55.145>uh, <00:11:55.285>to <00:11:55.425>make,

192
00:11:58.025 --> 00:12:00.845
<00:11:58.025>to <00:11:58.225>make <00:11:58.425>the <00:11:58.625>API <00:11:58.824>consistent <00:11:59.025>with <00:11:59.225>other <00:11:59.425>platforms.

193
00:12:03.025 --> 00:12:06.405
<00:12:03.025>And <00:12:03.258>by <00:12:03.491>having <00:12:03.725>access <00:12:03.958>to <00:12:04.191>native <00:12:04.425>primitives,

194
00:12:09.345 --> 00:12:11.755
<00:12:09.345>It's <00:12:09.545>much <00:12:09.745>easier <00:12:09.945>to <00:12:10.145>build <00:12:10.345>something <00:12:10.545>like <00:12:10.745>this.

195
00:12:13.115 --> 00:12:15.815
<00:12:13.115>It, <00:12:13.242>it's <00:12:13.369>still <00:12:13.496>a <00:12:13.624>pain <00:12:13.751>that <00:12:13.878>ask <00:12:14.005>for, <00:12:14.133>for <00:12:14.260>so <00:12:14.387>many <00:12:14.515>years

196
00:12:15.875 --> 00:12:19.935
<00:12:15.875>to <00:12:16.075>build <00:12:16.275>something <00:12:16.475>like <00:12:16.675>multicolor <00:12:16.875>waterfall <00:12:17.075>layout, <00:12:17.275>right?

197
00:12:19.935 --> 00:12:23.775
<00:12:19.935>Even <00:12:20.109>with <00:12:20.285>CSS <00:12:20.459>grid, <00:12:20.635>it's <00:12:20.810>very <00:12:20.984>not <00:12:21.160>very <00:12:21.334>doable.

198
00:12:23.775 --> 00:12:25.615
<00:12:23.775>You <00:12:23.975>have <00:12:24.175>to <00:12:24.375>use <00:12:24.574>a <00:12:24.775>lot <00:12:24.975>of <00:12:25.175>JavaScript

199
00:12:25.615 --> 00:12:27.655
<00:12:25.615>to <00:12:25.965>do <00:12:26.315>those <00:12:26.665>missionary <00:12:27.015>computation,

200
00:12:28.355 --> 00:12:31.975
<00:12:28.355>but <00:12:28.555>also <00:12:28.755>like <00:12:28.955>the <00:12:29.155>performance <00:12:29.355>wouldn't <00:12:29.555>be <00:12:29.755>ideal.

201
00:12:32.355 --> 00:12:36.335
<00:12:32.355>But <00:12:32.555>by <00:12:32.755>having <00:12:32.955>access <00:12:33.155>to <00:12:33.355>native <00:12:33.555>primitives, <00:12:33.755>uh,

202
00:12:36.485 --> 00:12:38.935
<00:12:36.485>it's <00:12:36.718>pretty <00:12:36.951>easy <00:12:37.185>to <00:12:37.418>expose <00:12:37.651>those <00:12:37.885>capability

203
00:12:39.035 --> 00:12:40.255
<00:12:39.035>to <00:12:39.401>you <00:12:39.766>as <00:12:40.133>developers.

204
00:12:40.595 --> 00:12:42.375
<00:12:40.595>You <00:12:40.795>just <00:12:40.995>need <00:12:41.195>to <00:12:41.395>write <00:12:41.595>list <00:12:41.795>the <00:12:41.995>type

205
00:12:42.405 --> 00:12:44.575
<00:12:42.405>waterfall, <00:12:42.871>and <00:12:43.338>that's <00:12:43.805>it.

206
00:12:45.595 --> 00:12:47.815
<00:12:45.595>And <00:12:45.770>we <00:12:45.945>can <00:12:46.120>make <00:12:46.295>this <00:12:46.470>kind <00:12:46.645>of <00:12:46.820>capabilities <00:12:46.995>building.

207
00:12:49.475 --> 00:12:53.335
<00:12:49.475>Um, <00:12:49.615>the <00:12:49.755>other <00:12:49.895>part <00:12:50.035>when <00:12:50.175>we <00:12:50.315>talking <00:12:50.455>about <00:12:50.595>native <00:12:50.735>being <00:12:50.875>native

208
00:12:53.795 --> 00:12:55.695
<00:12:53.795>is <00:12:54.074>not <00:12:54.354>just <00:12:54.635>native <00:12:54.915>UI <00:12:55.194>primitive,

209
00:12:55.715 --> 00:12:59.175
<00:12:55.715>but <00:12:55.915>also, <00:12:56.115>uh, <00:12:56.315>having <00:12:56.515>access <00:12:56.715>to <00:12:56.915>native, <00:12:57.115>uh,

210
00:12:59.445 --> 00:13:01.135
<00:12:59.445>devices, <00:13:00.145>APIs, <00:13:00.845>right?

211
00:13:01.955 --> 00:13:04.415
<00:13:01.955>Um, <00:13:02.655>our <00:13:03.355>documentation

212
00:13:05.075 --> 00:13:07.935
<00:13:05.075>for <00:13:05.250>now <00:13:05.425>only <00:13:05.600>give <00:13:05.775>you <00:13:05.950>a <00:13:06.125>tutorial <00:13:06.300>on <00:13:06.475>how

213
00:13:07.935 --> 00:13:10.655
<00:13:07.935>to <00:13:08.285>do <00:13:08.635>this, <00:13:08.984>That's <00:13:09.334>cool.

214
00:13:11.115 --> 00:13:16.055
<00:13:11.115>And <00:13:11.255>also <00:13:11.395>mention <00:13:11.535>that, <00:13:11.675>um, <00:13:11.815>when <00:13:11.955>we <00:13:12.095>initially <00:13:12.235>open <00:13:12.375>source <00:13:12.515>it,

215
00:13:16.875 --> 00:13:21.575
<00:13:16.875>uh, <00:13:17.002>it's <00:13:17.129>not <00:13:17.256>like <00:13:17.384>fully <00:13:17.511>Reddit <00:13:17.638>to <00:13:17.765>build <00:13:17.893>like <00:13:18.020>full <00:13:18.147>FFL <00:13:18.275>apps

216
00:13:22.655 --> 00:13:24.225
<00:13:22.655>because <00:13:23.005>we <00:13:23.355>think <00:13:23.704>of <00:13:24.055>links

217
00:13:24.245 --> 00:13:28.985
<00:13:24.245>as <00:13:24.385>something <00:13:24.525>more <00:13:24.665>like <00:13:24.805>browser <00:13:24.945>engine <00:13:25.085>is <00:13:25.225>like <00:13:25.365>the <00:13:25.505>Blink, <00:13:25.645>um,

218
00:13:29.405 --> 00:13:31.585
<00:13:29.405>but <00:13:29.638>not <00:13:29.871>like <00:13:30.105>the <00:13:30.338>full <00:13:30.571>application <00:13:30.805>framework.

219
00:13:32.085 --> 00:13:34.585
<00:13:32.085>And <00:13:32.285>that <00:13:32.485>has <00:13:32.685>been <00:13:32.885>the <00:13:33.085>biggest <00:13:33.285>request <00:13:33.485>we

220
00:13:35.705 --> 00:13:37.305
<00:13:35.705>received <00:13:36.055>since <00:13:36.405>we're <00:13:36.755>open <00:13:37.105>source.

221
00:13:37.325 --> 00:13:39.985
<00:13:37.325>It <00:13:37.525>because <00:13:37.725>we <00:13:37.925>didn't <00:13:38.125>expect <00:13:38.325>too <00:13:38.525>much, <00:13:38.725>uh,

222
00:13:39.985 --> 00:13:41.705
<00:13:39.985>attention <00:13:40.218>from <00:13:40.451>the <00:13:40.685>community, <00:13:40.918>too <00:13:41.151>much <00:13:41.385>hype.

223
00:13:43.365 --> 00:13:48.225
<00:13:43.365>So <00:13:43.492>I'm <00:13:43.619>excited <00:13:43.746>to <00:13:43.874>share <00:13:44.001>that <00:13:44.128>there <00:13:44.255>will <00:13:44.383>be <00:13:44.510>more <00:13:44.637>UI <00:13:44.765>elements,

224
00:13:48.225 --> 00:13:52.945
<00:13:48.225>like <00:13:48.400>inputs, <00:13:48.575>text <00:13:48.750>area, <00:13:48.925>SVG, <00:13:49.100>uh, <00:13:49.275>blah, <00:13:49.450>blah, <00:13:49.625>swiper

225
00:13:53.465 --> 00:13:55.585
<00:13:53.465>a <00:13:53.698>bunch, <00:13:53.931>view <00:13:54.165>pagers, <00:13:54.398>tabs, <00:13:54.631>a <00:13:54.865>bunch

226
00:13:55.585 --> 00:13:57.465
<00:13:55.585>of <00:13:55.865>those <00:13:56.145>coming <00:13:56.425>later <00:13:56.705>this <00:13:56.985>year.

227
00:13:59.225 --> 00:14:01.525
<00:13:59.225>And <00:13:59.691>that's <00:14:00.158>not <00:14:00.625>everything.

228
00:14:01.985 --> 00:14:06.125
<00:14:01.985>Um, <00:14:02.185>we'll <00:14:02.385>also <00:14:02.585>open <00:14:02.785>source, <00:14:02.985>the <00:14:03.185>links <00:14:03.385>framework,

229
00:14:06.435 --> 00:14:09.965
<00:14:06.435>like <00:14:06.714>everything <00:14:06.994>around, <00:14:07.275>um, <00:14:07.555>around <00:14:07.834>links

230
00:14:10.155 --> 00:14:12.045
<00:14:10.155>that <00:14:10.388>TikTok <00:14:10.621>has <00:14:10.855>built <00:14:11.088>on <00:14:11.321>top <00:14:11.555>of

231
00:14:12.465 --> 00:14:14.965
<00:14:12.465>to <00:14:12.745>support <00:14:13.025>all <00:14:13.305>the <00:14:13.585>TikTok <00:14:13.865>businesses.

232
00:14:16.345 --> 00:14:18.705
<00:14:16.345>And <00:14:16.811>with <00:14:17.278>that, <00:14:17.745>uh,

233
00:14:18.765 --> 00:14:21.425
<00:14:18.765>we <00:14:18.939>are <00:14:19.115>finally <00:14:19.290>putting <00:14:19.465>those <00:14:19.640>missing <00:14:19.814>pieces <00:14:19.990>for <00:14:20.165>you.

234
00:14:21.805 --> 00:14:24.585
<00:14:21.805>And, <00:14:22.038>um, <00:14:22.271>I <00:14:22.505>can't <00:14:22.738>wait <00:14:22.971>to <00:14:23.204>see

235
00:14:24.645 --> 00:14:26.305
<00:14:24.645>how <00:14:24.925>the <00:14:25.204>community <00:14:25.485>build <00:14:25.765>around <00:14:26.045>this.

236
00:14:30.895 --> 00:14:32.995
<00:14:30.895>And <00:14:31.175>when <00:14:31.454>we <00:14:31.735>talk <00:14:32.015>about <00:14:32.295>native,

237
00:14:33.295 --> 00:14:35.875
<00:14:33.295>it <00:14:33.528>is <00:14:33.761>not <00:14:33.995>just <00:14:34.228>native <00:14:34.461>primitive, <00:14:34.694>right?

238
00:14:36.655 --> 00:14:40.835
<00:14:36.655>To <00:14:36.829>be <00:14:37.005>truly <00:14:37.180>native. <00:14:37.355>You <00:14:37.530>also <00:14:37.704>need <00:14:37.880>native <00:14:38.055>performance.

239
00:14:44.925 --> 00:14:47.105
<00:14:44.925>Uh, <00:14:45.204>if <00:14:45.484>you've <00:14:45.765>ever <00:14:46.045>like <00:14:46.324>watched

240
00:14:47.365 --> 00:14:49.305
<00:14:47.365>or <00:14:47.598>read <00:14:47.831>one <00:14:48.065>of <00:14:48.298>the <00:14:48.531>blog <00:14:48.765>posts

241
00:14:49.325 --> 00:14:52.525
<00:14:49.325>or <00:14:49.558>video, <00:14:49.791>you <00:14:50.025>kind <00:14:50.258>of <00:14:50.491>already <00:14:50.725>see

242
00:14:53.465 --> 00:14:56.355
<00:14:53.465>that <00:14:53.698>our <00:14:53.931>secret <00:14:54.165>sauce <00:14:54.398>of <00:14:54.631>links <00:14:54.865>is

243
00:14:56.355 --> 00:14:59.875
<00:14:56.355>to <00:14:56.530>have <00:14:56.705>two <00:14:56.880>JavaScript <00:14:57.055>runtimes <00:14:57.230>running <00:14:57.405>on <00:14:57.580>two <00:14:57.755>separate

244
00:14:59.875 --> 00:15:03.435
<00:14:59.875>threats <00:15:00.225>On <00:15:00.575>the <00:15:00.925>main <00:15:01.275>threat.

245
00:15:03.775 --> 00:15:06.035
<00:15:03.775>You <00:15:04.008>have <00:15:04.241>something <00:15:04.475>called <00:15:04.708>Main <00:15:04.941>Threat <00:15:05.175>Script,

246
00:15:06.495 --> 00:15:09.995
<00:15:06.495>and <00:15:06.695>you're <00:15:06.895>gonna <00:15:07.095>have <00:15:07.295>A-M-T-S-J-S, <00:15:07.495>uh, <00:15:07.695>JavaScript <00:15:07.895>vm.

247
00:15:10.055 --> 00:15:11.475
<00:15:10.055>We <00:15:10.310>call <00:15:10.566>it <00:15:10.821>MTS <00:15:11.077>for <00:15:11.333>sure.

248
00:15:11.855 --> 00:15:13.555
<00:15:11.855>And <00:15:12.205>on <00:15:12.555>background <00:15:12.905>threat, <00:15:13.255>uh,

249
00:15:13.555 --> 00:15:17.595
<00:15:13.555>you're <00:15:13.694>gonna <00:15:13.834>have <00:15:13.974>something <00:15:14.114>like <00:15:14.255>BTS, <00:15:14.395>not <00:15:14.535>that <00:15:14.675>BTS, <00:15:14.814>but <00:15:14.954>BTS.

250
00:15:18.415 --> 00:15:21.715
<00:15:18.415>Um, <00:15:18.765>when <00:15:19.115>I <00:15:19.464>say <00:15:19.814>high

251
00:15:21.715 --> 00:15:23.395
<00:15:21.715>performance, <00:15:21.995>I'm <00:15:22.275>talking <00:15:22.555>about <00:15:22.835>two <00:15:23.115>things.

252
00:15:24.135 --> 00:15:26.875
<00:15:24.135>The <00:15:24.368>first <00:15:24.601>one <00:15:24.835>is <00:15:25.068>loading, <00:15:25.301>loading <00:15:25.535>performance

253
00:15:28.125 --> 00:15:29.475
<00:15:28.125>internally <00:15:28.732>with <00:15:29.340>Zoom.

254
00:15:29.475 --> 00:15:32.795
<00:15:29.475>Products <00:15:29.825>become <00:15:30.175>significant <00:15:30.525>significantly <00:15:30.875>faster

255
00:15:33.205 --> 00:15:34.795
<00:15:33.205>after <00:15:33.671>migrating <00:15:34.138>to <00:15:34.605>links.

256
00:15:36.135 --> 00:15:39.875
<00:15:36.135>Um, <00:15:36.290>just <00:15:36.446>to <00:15:36.601>be <00:15:36.757>clear, <00:15:36.912>the <00:15:37.068>web, <00:15:37.223>the <00:15:37.379>web <00:15:37.535>version

257
00:15:39.905 --> 00:15:43.755
<00:15:39.905>that <00:15:40.060>we <00:15:40.216>are <00:15:40.371>benchmarking <00:15:40.527>to <00:15:40.682>is <00:15:40.838>loading <00:15:40.993>from <00:15:41.149>local <00:15:41.305>io,

258
00:15:43.775 --> 00:15:47.315
<00:15:43.775>not <00:15:43.902>from <00:15:44.029>network, <00:15:44.156>but <00:15:44.284>you <00:15:44.411>still <00:15:44.538>be <00:15:44.665>able <00:15:44.793>to <00:15:44.920>observe <00:15:45.047>two <00:15:45.175>times

259
00:15:47.415 --> 00:15:49.435
<00:15:47.415>or <00:15:47.694>even <00:15:47.974>four <00:15:48.255>times, <00:15:48.535>uh, <00:15:48.814>boost.

260
00:15:52.235 --> 00:15:54.285
<00:15:52.235>It's, <00:15:52.515>it's <00:15:52.795>probably <00:15:53.075>easier <00:15:53.355>to <00:15:53.635>believe

261
00:15:54.285 --> 00:15:57.105
<00:15:54.285>with <00:15:54.564>your <00:15:54.844>eyes <00:15:55.125>other <00:15:55.405>than <00:15:55.685>numbers.

262
00:15:58.405 --> 00:16:01.985
<00:15:58.405>So <00:15:58.560>this <00:15:58.716>is <00:15:58.871>how <00:15:59.027>fast <00:15:59.182>the <00:15:59.338>initial <00:15:59.493>launch <00:15:59.649>would <00:15:59.805>be.

263
00:16:04.365 --> 00:16:06.505
<00:16:04.365>The <00:16:04.645>first <00:16:04.925>frame <00:16:05.205>almost <00:16:05.485>hits <00:16:05.765>instantly.

264
00:16:07.405 --> 00:16:11.675
<00:16:07.405>Um, <00:16:07.638>this <00:16:07.871>is <00:16:08.105>a <00:16:08.338>0.3 <00:16:08.571>times <00:16:08.805>slowdown.

265
00:16:12.375 --> 00:16:15.515
<00:16:12.375>You <00:16:12.575>can <00:16:12.775>still <00:16:12.975>see <00:16:13.175>it <00:16:13.375>like <00:16:13.575>almost <00:16:13.775>instantly.

266
00:16:18.885 --> 00:16:22.465
<00:16:18.885>Uh, <00:16:19.060>this <00:16:19.235>feature <00:16:19.410>is <00:16:19.585>called <00:16:19.760>instant <00:16:19.935>faster <00:16:20.110>frame <00:16:20.285>rendering,

267
00:16:22.925 --> 00:16:26.145
<00:16:22.925>and <00:16:23.125>that's <00:16:23.324>the <00:16:23.525>feature, <00:16:23.724>um, <00:16:23.925>the <00:16:24.125>killer <00:16:24.324>feature

268
00:16:26.145 --> 00:16:29.465
<00:16:26.145>that <00:16:26.378>got <00:16:26.611>links <00:16:26.845>widely <00:16:27.078>adopted <00:16:27.311>within, <00:16:27.545>uh,

269
00:16:29.945 --> 00:16:31.945
<00:16:29.945>internal <00:16:30.411>businesses <00:16:30.878>like <00:16:31.345>TikTok.

270
00:16:34.605 --> 00:16:36.625
<00:16:34.605>We <00:16:34.780>don't <00:16:34.955>really <00:16:35.130>have <00:16:35.305>too <00:16:35.480>much <00:16:35.655>time <00:16:35.830>to <00:16:36.005>dip,

271
00:16:36.735 --> 00:16:38.225
<00:16:36.735>dive <00:16:37.070>into <00:16:37.405>all <00:16:37.740>the <00:16:38.076>detail.

272
00:16:38.295 --> 00:16:40.425
<00:16:38.295>It's <00:16:38.469>probably <00:16:38.645>gonna <00:16:38.819>be <00:16:38.995>another <00:16:39.170>talk <00:16:39.344>in <00:16:39.520>the <00:16:39.694>future.

273
00:16:41.325 --> 00:16:44.585
<00:16:41.325>Um, <00:16:41.605>but <00:16:41.885>at <00:16:42.165>high <00:16:42.445>level, <00:16:42.725>um,

274
00:16:45.245 --> 00:16:47.665
<00:16:45.245>it <00:16:45.525>takes <00:16:45.805>your <00:16:46.085>source <00:16:46.365>code, <00:16:46.645>uh,

275
00:16:47.665 --> 00:16:51.865
<00:16:47.665>you're <00:16:47.898>gonna <00:16:48.131>do <00:16:48.365>some <00:16:48.598>code <00:16:48.831>spliting, <00:16:49.064>Um,

276
00:16:53.405 --> 00:16:55.145
<00:16:53.405>it <00:16:53.755>going <00:16:54.105>to <00:16:54.454>pre-render <00:16:54.805>some

277
00:16:55.145 --> 00:16:57.945
<00:16:55.145>of <00:16:55.378>your <00:16:55.611>React <00:16:55.845>component <00:16:56.078>into <00:16:56.311>another <00:16:56.545>bundle.

278
00:16:58.275 --> 00:17:00.665
<00:16:58.275>Think <00:16:58.555>about <00:16:58.834>something <00:16:59.115>like <00:16:59.395>server <00:16:59.675>component

279
00:17:00.805 --> 00:17:03.825
<00:17:00.805>or <00:17:01.038>pre <00:17:01.271>partial <00:17:01.505>rendering <00:17:01.738>of <00:17:01.971>next <00:17:02.204>js.

280
00:17:04.295 --> 00:17:08.745
<00:17:04.295>Basically <00:17:04.495>render <00:17:04.695>things <00:17:04.895>to <00:17:05.095>something <00:17:05.295>closer <00:17:05.495>to <00:17:05.695>HTML

281
00:17:08.805 --> 00:17:11.185
<00:17:08.805>or <00:17:08.980>closer <00:17:09.155>to <00:17:09.330>some <00:17:09.505>tree <00:17:09.680>structure <00:17:09.855>of <00:17:10.030>the <00:17:10.205>ui.

282
00:17:12.765 --> 00:17:16.945
<00:17:12.765>Um, <00:17:12.920>but <00:17:13.076>then <00:17:13.231>links <00:17:13.387>ships <00:17:13.542>with <00:17:13.698>its <00:17:13.853>own <00:17:14.009>JavaScript <00:17:14.165>engine.

283
00:17:17.155 --> 00:17:18.305
<00:17:17.155>Think <00:17:17.672>about <00:17:18.190>Hermes.

284
00:17:18.765 --> 00:17:23.705
<00:17:18.765>Um, <00:17:18.905>so <00:17:19.045>it <00:17:19.185>also <00:17:19.325>pre-compiled <00:17:19.465>your <00:17:19.605>source <00:17:19.745>code <00:17:19.885>into <00:17:20.025>BI <00:17:20.165>code.

285
00:17:24.845 --> 00:17:27.745
<00:17:24.845>So <00:17:25.125>that's <00:17:25.405>another <00:17:25.685>tiers <00:17:25.964>of <00:17:26.245>pre-processing.

286
00:17:28.365 --> 00:17:33.345
<00:17:28.365>So <00:17:28.492>when <00:17:28.619>you <00:17:28.746>code <00:17:28.874>actually, <00:17:29.001>um, <00:17:29.128>like <00:17:29.255>need <00:17:29.383>to <00:17:29.510>be <00:17:29.637>load, <00:17:29.765>uh,

287
00:17:33.345 --> 00:17:36.305
<00:17:33.345>when <00:17:33.500>app <00:17:33.656>is <00:17:33.811>loaded, <00:17:33.967>uh, <00:17:34.122>the <00:17:34.278>only <00:17:34.433>step <00:17:34.589>you <00:17:34.745>need

288
00:17:36.305 --> 00:17:37.705
<00:17:36.305>to <00:17:36.725>do <00:17:37.145>is <00:17:37.565>this.

289
00:17:38.245 --> 00:17:40.745
<00:17:38.245>So <00:17:38.524>it's <00:17:38.804>like <00:17:39.084>very <00:17:39.364>short <00:17:39.645>circuit.

290
00:17:41.445 --> 00:17:46.005
<00:17:41.445>Uh, <00:17:42.845>and

291
00:17:46.005 --> 00:17:47.205
<00:17:46.005>after <00:17:46.275>the <00:17:46.545>app <00:17:46.815>is <00:17:47.085>load,

292
00:17:47.425 --> 00:17:50.885
<00:17:47.425>we <00:17:47.580>have <00:17:47.736>another <00:17:47.891>bundle <00:17:48.047>which <00:17:48.202>gonna <00:17:48.358>make <00:17:48.513>all <00:17:48.669>the <00:17:48.825>interaction,

293
00:17:51.385 --> 00:17:54.165
<00:17:51.385>uh, <00:17:51.665>activated <00:17:51.945>in <00:17:52.225>a <00:17:52.504>non-blocking <00:17:52.785>way

294
00:17:54.165 --> 00:17:55.965
<00:17:54.165>because <00:17:54.445>it's <00:17:54.725>happening <00:17:55.004>on <00:17:55.284>another <00:17:55.565>threat.

295
00:17:56.305 --> 00:17:58.605
<00:17:56.305>So <00:17:56.480>that's <00:17:56.655>how <00:17:56.830>we <00:17:57.005>can <00:17:57.180>balance <00:17:57.355>the <00:17:57.530>initial <00:17:57.705>load

296
00:17:59.185 --> 00:18:00.485
<00:17:59.185>and <00:17:59.770>the <00:18:00.355>interactivity.

297
00:18:01.865 --> 00:18:05.605
<00:18:01.865>And <00:18:01.992>if <00:18:02.119>you <00:18:02.246>own <00:18:02.374>React <00:18:02.501>links, <00:18:02.628>which <00:18:02.755>is <00:18:02.883>the, <00:18:03.010>um, <00:18:03.137>kind <00:18:03.265>of

298
00:18:05.665 --> 00:18:07.925
<00:18:05.665>by <00:18:06.014>default <00:18:06.365>frameworks <00:18:06.715>were <00:18:07.065>shipped,

299
00:18:08.225 --> 00:18:09.325
<00:18:08.225>uh, <00:18:08.423>you <00:18:08.620>get <00:18:08.819>this <00:18:09.017>for <00:18:09.215>free.

300
00:18:10.515 --> 00:18:12.045
<00:18:10.515>There's <00:18:10.974>no <00:18:11.433>special <00:18:11.892>APIs.

301
00:18:12.985 --> 00:18:16.325
<00:18:12.985>Our <00:18:13.140>compiler <00:18:13.296>and <00:18:13.451>Bundler, <00:18:13.607>uh, <00:18:13.762>already <00:18:13.918>handled <00:18:14.073>this <00:18:14.229>for <00:18:14.385>you.

302
00:18:19.345 --> 00:18:21.885
<00:18:19.345>The <00:18:19.545>second <00:18:19.745>part, <00:18:19.945>we, <00:18:20.145>I <00:18:20.345>talk <00:18:20.545>about <00:18:20.745>performance,

303
00:18:21.885 --> 00:18:24.165
<00:18:21.885>native <00:18:22.235>performance <00:18:22.585>is <00:18:22.935>interactivity, <00:18:23.285>right?

304
00:18:24.915 --> 00:18:28.765
<00:18:24.915>This <00:18:25.055>is <00:18:25.195>swiper, <00:18:25.335>and <00:18:25.475>you <00:18:25.615>can <00:18:25.754>see <00:18:25.895>it's <00:18:26.034>like <00:18:26.175>very <00:18:26.315>smooth.

305
00:18:29.705 --> 00:18:33.005
<00:18:29.705>And <00:18:29.879>this <00:18:30.054>swiper <00:18:30.230>is <00:18:30.405>not <00:18:30.580>even <00:18:30.754>implemented <00:18:30.929>in <00:18:31.105>native.

306
00:18:33.555 --> 00:18:35.405
<00:18:33.555>It's <00:18:34.021>implemented <00:18:34.488>in <00:18:34.955>JavaScript,

307
00:18:38.025 --> 00:18:40.285
<00:18:38.025>And <00:18:38.375>it's <00:18:38.725>implementing <00:18:39.075>JavaScript <00:18:39.425>fully

308
00:18:40.355 --> 00:18:41.605
<00:18:40.355>running <00:18:40.636>on <00:18:40.917>the <00:18:41.198>man <00:18:41.480>thread.

309
00:18:42.985 --> 00:18:45.365
<00:18:42.985>Uh, <00:18:43.185>we <00:18:43.385>call <00:18:43.584>this <00:18:43.784>feature <00:18:43.985>man <00:18:44.185>threat <00:18:44.385>scripting.

310
00:18:46.025 --> 00:18:49.245
<00:18:46.025>Um, <00:18:46.165>let's <00:18:46.305>take <00:18:46.445>a <00:18:46.585>take, <00:18:46.725>take <00:18:46.865>at <00:18:47.005>the <00:18:47.145>look, <00:18:47.285>uh, <00:18:47.425>take,

311
00:18:49.275 --> 00:18:52.045
<00:18:49.275>take <00:18:49.382>a <00:18:49.490>look <00:18:49.598>at <00:18:49.705>the <00:18:49.813>code <00:18:49.921>so <00:18:50.028>you <00:18:50.136>can <00:18:50.244>see, <00:18:50.351>uh, <00:18:50.459>the <00:18:50.567>idea <00:18:50.675>easier.

312
00:18:53.745 --> 00:18:57.765
<00:18:53.745>Uh, <00:18:53.900>in <00:18:54.056>this <00:18:54.211>example, <00:18:54.367>we <00:18:54.522>have <00:18:54.678>two <00:18:54.833>druggable <00:18:54.989>elements, <00:18:55.145>right?

313
00:18:58.665 --> 00:19:03.165
<00:18:58.665>Uh, <00:18:58.820>this <00:18:58.976>one <00:18:59.131>is <00:18:59.287>powered <00:18:59.442>by <00:18:59.598>man <00:18:59.753>threat, <00:18:59.909>uh, <00:19:00.065>MTS,

314
00:19:03.345 --> 00:19:06.685
<00:19:03.345>and <00:19:03.520>this <00:19:03.695>one <00:19:03.870>is <00:19:04.045>driven <00:19:04.220>by <00:19:04.395>mt, <00:19:04.570>uh, <00:19:04.745>BTS.

315
00:19:07.385 --> 00:19:11.845
<00:19:07.385>Uh, <00:19:07.525>if <00:19:07.665>you <00:19:07.805>ever <00:19:07.945>use <00:19:08.085>some <00:19:08.225>of <00:19:08.365>the <00:19:08.504>similar <00:19:08.645>technology, <00:19:08.785>you,

316
00:19:11.845 --> 00:19:15.485
<00:19:11.845>you've <00:19:12.045>seen <00:19:12.245>this <00:19:12.445>pattern <00:19:12.645>happening, <00:19:12.845>uh, <00:19:13.045>where <00:19:13.245>the,

317
00:19:16.585 --> 00:19:18.965
<00:19:16.585>the <00:19:17.285>elements <00:19:17.985>manipulated

318
00:19:19.105 --> 00:19:24.005
<00:19:19.105>or <00:19:19.280>like <00:19:19.455>driven <00:19:19.630>by <00:19:19.805>JavaScript <00:19:19.980>running <00:19:20.155>on <00:19:20.330>another <00:19:20.505>thread

319
00:19:24.055 --> 00:19:27.005
<00:19:24.055>gonna <00:19:24.288>be <00:19:24.521>one <00:19:24.755>frame <00:19:24.988>lagging <00:19:25.221>behind, <00:19:25.455>uh,

320
00:19:27.005 --> 00:19:28.285
<00:19:27.005>the <00:19:27.389>main <00:19:27.773>threat <00:19:28.157>interaction.

321
00:19:28.785 --> 00:19:31.325
<00:19:28.785>But <00:19:29.018>if <00:19:29.251>you <00:19:29.485>can <00:19:29.718>actually <00:19:29.951>run <00:19:30.185>script,

322
00:19:31.425 --> 00:19:33.085
<00:19:31.425>if <00:19:31.774>you <00:19:32.125>can <00:19:32.475>actually <00:19:32.825>manipulate

323
00:19:33.085 --> 00:19:35.445
<00:19:33.085>that <00:19:33.318>elements <00:19:33.551>on <00:19:33.785>the <00:19:34.018>main <00:19:34.251>thread, <00:19:34.485>uh,

324
00:19:35.955 --> 00:19:39.365
<00:19:35.955>they <00:19:36.188>can <00:19:36.421>stay <00:19:36.655>completely <00:19:36.888>consistent <00:19:37.121>in <00:19:37.355>sync

325
00:19:39.365 --> 00:19:42.045
<00:19:39.365>with <00:19:39.520>the <00:19:39.676>user <00:19:39.831>scroll, <00:19:39.987>because <00:19:40.142>the <00:19:40.298>scroll <00:19:40.453>always <00:19:40.609>happening <00:19:40.765>on

326
00:19:42.045 --> 00:19:43.245
<00:19:42.045>the <00:19:42.315>main <00:19:42.585>thread <00:19:42.855>for <00:19:43.125>browser,

327
00:19:43.275 --> 00:19:46.965
<00:19:43.275>it's <00:19:43.430>gonna <00:19:43.586>be <00:19:43.741>a <00:19:43.897>composite <00:19:44.052>threat <00:19:44.208>for, <00:19:44.363>uh, <00:19:44.519>mobile <00:19:44.675>apps,

328
00:19:46.965 --> 00:19:48.085
<00:19:46.965>it's <00:19:47.166>gonna <00:19:47.368>be <00:19:47.569>the <00:19:47.771>UI <00:19:47.973>threat.

329
00:19:50.565 --> 00:19:55.385
<00:19:50.565>Uh, <00:19:50.720>and <00:19:50.876>the <00:19:51.031>API <00:19:51.187>is <00:19:51.342>heavily <00:19:51.498>inspired <00:19:51.653>by, <00:19:51.809>uh, <00:19:51.965>reanimated

330
00:19:56.055 --> 00:19:57.905
<00:19:56.055>from <00:19:56.255>software <00:19:56.455>mentioned, <00:19:56.655>big <00:19:56.855>shout <00:19:57.055>out <00:19:57.255>to <00:19:57.455>them

331
00:19:58.285 --> 00:20:02.025
<00:19:58.285>and, <00:19:58.440>uh, <00:19:58.596>uh, <00:19:58.751>react <00:19:58.907>server <00:19:59.062>component <00:19:59.218>n <00:19:59.373>js <00:19:59.529>as <00:19:59.685>well.

332
00:20:02.725 --> 00:20:05.665
<00:20:02.725>So <00:20:02.958>you <00:20:03.191>basically <00:20:03.425>write <00:20:03.658>a <00:20:03.891>event <00:20:04.125>handler,

333
00:20:06.445 --> 00:20:10.505
<00:20:06.445>but <00:20:06.620>with <00:20:06.794>main <00:20:06.970>threat <00:20:07.145>being <00:20:07.320>a <00:20:07.495>directive <00:20:07.669>to <00:20:07.845>declare

334
00:20:10.655 --> 00:20:13.065
<00:20:10.655>that <00:20:10.935>this <00:20:11.215>function <00:20:11.495>gonna <00:20:11.774>be <00:20:12.055>splitted

335
00:20:13.605 --> 00:20:15.985
<00:20:13.605>and <00:20:13.838>scheduled, <00:20:14.071>uh, <00:20:14.305>on <00:20:14.538>the <00:20:14.771>main <00:20:15.005>threat.

336
00:20:16.605 --> 00:20:18.305
<00:20:16.605>So <00:20:16.838>it's <00:20:17.071>gonna <00:20:17.305>be <00:20:17.538>a <00:20:17.771>closer <00:20:18.005>loop.

337
00:20:18.445 --> 00:20:21.745
<00:20:18.445>Uh, <00:20:18.678>when, <00:20:18.911>when <00:20:19.145>event <00:20:19.378>is <00:20:19.611>firing, <00:20:19.845>uh,

338
00:20:21.845 --> 00:20:25.905
<00:20:21.845>you <00:20:21.985>have <00:20:22.125>some <00:20:22.265>special <00:20:22.405>API, <00:20:22.545>uh, <00:20:22.685>like <00:20:22.825>you <00:20:22.965>bind <00:20:23.105>your <00:20:23.245>event

339
00:20:25.935 --> 00:20:30.385
<00:20:25.935>with <00:20:26.062>man <00:20:26.189>threat <00:20:26.316>bind, <00:20:26.444>and <00:20:26.571>you <00:20:26.698>get <00:20:26.825>the <00:20:26.953>ref <00:20:27.080>with <00:20:27.207>man <00:20:27.335>ref.

340
00:20:30.725 --> 00:20:35.225
<00:20:30.725>But <00:20:30.925>it's, <00:20:31.125>it's <00:20:31.324>basically <00:20:31.524>basically <00:20:31.725>reactor <00:20:31.925>ref, <00:20:32.125>um,

341
00:20:36.005 --> 00:20:37.865
<00:20:36.005>and <00:20:36.285>some <00:20:36.565>API <00:20:36.845>similar <00:20:37.125>to <00:20:37.405>Dom.

342
00:20:37.865 --> 00:20:42.785
<00:20:37.865>So <00:20:38.065>you <00:20:38.265>can <00:20:38.465>imperatively <00:20:38.665>manipulate <00:20:38.865>your, <00:20:39.065>um, <00:20:39.265>position

343
00:20:42.785 --> 00:20:44.825
<00:20:42.785>of <00:20:42.985>the <00:20:43.185>element <00:20:43.385>or <00:20:43.585>styling <00:20:43.785>of <00:20:43.985>the <00:20:44.185>elements.

344
00:20:47.865 --> 00:20:51.565
<00:20:47.865>If <00:20:48.005>you <00:20:48.145>call <00:20:48.285>me <00:20:48.425>from <00:20:48.565>a <00:20:48.705>background <00:20:48.845>from, <00:20:48.985>uh, <00:20:49.125>of <00:20:49.265>web

345
00:20:53.325 --> 00:20:55.325
<00:20:53.325>MTS <00:20:53.558>might <00:20:53.791>sounds <00:20:54.025>a <00:20:54.258>little <00:20:54.491>bit <00:20:54.725>confusing.

346
00:20:56.185 --> 00:20:57.605
<00:20:56.185>Uh, <00:20:56.504>on, <00:20:56.824>on <00:20:57.143>the <00:20:57.463>web,

347
00:20:58.865 --> 00:21:01.365
<00:20:58.865>all <00:20:59.040>the <00:20:59.215>scripting <00:20:59.390>happens <00:20:59.565>on <00:20:59.740>the <00:20:59.915>main <00:21:00.090>thread, <00:21:00.265>right?

348
00:21:02.735 --> 00:21:07.425
<00:21:02.735>Because <00:21:02.968>web <00:21:03.201>has <00:21:03.435>historically <00:21:03.668>be <00:21:03.901>single <00:21:04.135>threaded.

349
00:21:08.285 --> 00:21:12.055
<00:21:08.285>Um, <00:21:08.635>the, <00:21:08.985>the <00:21:09.335>pros <00:21:09.685>is

350
00:21:12.055 --> 00:21:13.415
<00:21:12.055>that <00:21:12.299>this <00:21:12.544>model <00:21:12.789>is <00:21:13.034>very <00:21:13.279>easy.

351
00:21:14.135 --> 00:21:15.215
<00:21:14.135>Everything's <00:21:15.107>blocking.

352
00:21:15.795 --> 00:21:17.415
<00:21:15.795>Uh, <00:21:15.970>you <00:21:16.145>can <00:21:16.320>only <00:21:16.495>do <00:21:16.670>one <00:21:16.845>thing <00:21:17.020>at <00:21:17.195>once.

353
00:21:18.035 --> 00:21:21.535
<00:21:18.035>The <00:21:18.235>downside <00:21:18.435>is <00:21:18.635>that <00:21:18.835>this <00:21:19.035>one <00:21:19.235>thread <00:21:19.435>is

354
00:21:22.145 --> 00:21:23.375
<00:21:22.145>doing <00:21:22.421>all <00:21:22.698>the <00:21:22.975>heavy <00:21:23.252>lifting.

355
00:21:23.515 --> 00:21:27.375
<00:21:23.515>So <00:21:23.670>if <00:21:23.826>this <00:21:23.981>single <00:21:24.137>thread <00:21:24.292>is <00:21:24.448>getting <00:21:24.603>pretty <00:21:24.759>busy, <00:21:24.915>um,

356
00:21:27.965 --> 00:21:29.455
<00:21:27.965>then <00:21:28.233>nothing <00:21:28.501>can <00:21:28.769>be <00:21:29.037>done, <00:21:29.306>right?

357
00:21:29.455 --> 00:21:33.095
<00:21:29.455>You <00:21:29.582>UI <00:21:29.709>started <00:21:29.836>to <00:21:29.964>get, <00:21:30.091>uh, <00:21:30.218>laggy, <00:21:30.345>you <00:21:30.473>started <00:21:30.600>to <00:21:30.727>drop <00:21:30.855>frame,

358
00:21:33.095 --> 00:21:36.055
<00:21:33.095>your <00:21:33.375>animation <00:21:33.655>started <00:21:33.935>to, <00:21:34.215>uh, <00:21:34.495>laggy.

359
00:21:37.435 --> 00:21:38.775
<00:21:37.435>And <00:21:37.676>that, <00:21:37.917>that's <00:21:38.158>where <00:21:38.399>we, <00:21:38.641>we,

360
00:21:38.795 --> 00:21:40.575
<00:21:38.795>we <00:21:39.028>are <00:21:39.261>making <00:21:39.495>a <00:21:39.728>differences <00:21:39.961>in <00:21:40.195>links.

361
00:21:41.035 --> 00:21:45.415
<00:21:41.035>Um, <00:21:41.385>we <00:21:41.735>want <00:21:42.085>to <00:21:42.435>offload

362
00:21:45.875 --> 00:21:48.295
<00:21:45.875>as <00:21:46.050>much <00:21:46.225>work <00:21:46.400>as <00:21:46.575>possible <00:21:46.750>to <00:21:46.925>the <00:21:47.100>background <00:21:47.275>threat.

363
00:21:49.035 --> 00:21:51.535
<00:21:49.035>So <00:21:49.210>the <00:21:49.385>main <00:21:49.560>threat <00:21:49.735>can <00:21:49.910>stay <00:21:50.085>lean <00:21:50.260>and <00:21:50.435>fast.

364
00:21:54.665 --> 00:21:58.855
<00:21:54.665>Sorry, <00:21:54.840>but <00:21:55.014>it's <00:21:55.190>not <00:21:55.365>like <00:21:55.540>you <00:21:55.715>don't <00:21:55.889>have <00:21:56.065>web

365
00:21:58.855 --> 00:22:00.015
<00:21:58.855>worker <00:21:59.203>on <00:21:59.551>web, <00:21:59.899>right?

366
00:22:01.195 --> 00:22:05.295
<00:22:01.195>The, <00:22:01.350>the <00:22:01.506>Chrome <00:22:01.661>de <00:22:01.817>team, <00:22:01.972>uh, <00:22:02.128>they <00:22:02.283>have <00:22:02.439>been <00:22:02.595>advocated

367
00:22:05.295 --> 00:22:06.535
<00:22:05.295>for <00:22:05.574>this <00:22:05.853>for, <00:22:06.132>for <00:22:06.411>years.

368
00:22:07.115 --> 00:22:10.295
<00:22:07.115>Uh, <00:22:07.315>they <00:22:07.515>call <00:22:07.715>this <00:22:07.915>after <00:22:08.115>main <00:22:08.315>threat <00:22:08.515>architecture

369
00:22:10.295 --> 00:22:11.415
<00:22:10.295>or <00:22:10.799>MT <00:22:11.303>architecture.

370
00:22:12.595 --> 00:22:14.215
<00:22:12.595>But, <00:22:12.875>but <00:22:13.155>the <00:22:13.435>real <00:22:13.715>problem <00:22:13.995>is,

371
00:22:14.365 --> 00:22:17.895
<00:22:14.365>even <00:22:14.492>though <00:22:14.619>the <00:22:14.746>web <00:22:14.874>has <00:22:15.001>web <00:22:15.128>worker, <00:22:15.255>none <00:22:15.383>of <00:22:15.510>the <00:22:15.637>main <00:22:15.765>three,

372
00:22:18.155 --> 00:22:20.535
<00:22:18.155>uh, <00:22:18.504>mainstream, <00:22:18.855>uh, <00:22:19.205>framework, <00:22:19.555>um,

373
00:22:21.035 --> 00:22:23.735
<00:22:21.035>has <00:22:21.235>adopted <00:22:21.435>this <00:22:21.635>architecture, <00:22:21.835>has <00:22:22.035>adopted <00:22:22.235>this <00:22:22.435>pattern.

374
00:22:24.195 --> 00:22:27.375
<00:22:24.195>It <00:22:24.370>never <00:22:24.544>really <00:22:24.720>took <00:22:24.895>off, <00:22:25.070>uh, <00:22:25.245>on <00:22:25.419>the <00:22:25.595>web.

375
00:22:28.895 --> 00:22:31.175
<00:22:28.895>I <00:22:29.175>think <00:22:29.455>the <00:22:29.735>reason <00:22:30.014>is, <00:22:30.295>uh,

376
00:22:32.445 --> 00:22:34.775
<00:22:32.445>like <00:22:32.620>the <00:22:32.794>single <00:22:32.970>thread <00:22:33.145>model <00:22:33.320>being <00:22:33.495>way <00:22:33.669>too <00:22:33.845>convenient,

377
00:22:35.515 --> 00:22:38.695
<00:22:35.515>but <00:22:35.655>also <00:22:35.795>it's, <00:22:35.935>it's, <00:22:36.075>it's <00:22:36.215>pretty <00:22:36.355>tricky <00:22:36.495>to <00:22:36.635>figure <00:22:36.775>out <00:22:36.915>as,

378
00:22:38.955 --> 00:22:42.655
<00:22:38.955>as <00:22:39.129>app <00:22:39.304>developers, <00:22:39.480>as <00:22:39.655>product <00:22:39.830>developers, <00:22:40.004>which <00:22:40.179>part, <00:22:40.355>part

379
00:22:42.655 --> 00:22:46.335
<00:22:42.655>of <00:22:42.795>the <00:22:42.935>code <00:22:43.075>should <00:22:43.215>be <00:22:43.355>go <00:22:43.495>to <00:22:43.635>background <00:22:43.774>thread, <00:22:43.915>which <00:22:44.055>part

380
00:22:46.335 --> 00:22:50.335
<00:22:46.335>of <00:22:46.462>the <00:22:46.589>code <00:22:46.716>should <00:22:46.844>be <00:22:46.971>go <00:22:47.098>to, <00:22:47.225>uh, <00:22:47.353>the <00:22:47.480>main <00:22:47.607>threat, <00:22:47.735>right?

381
00:22:50.435 --> 00:22:52.855
<00:22:50.435>We <00:22:50.551>have <00:22:50.668>to <00:22:50.784>do <00:22:50.901>this <00:22:51.018>mental <00:22:51.135>work, <00:22:51.251>and <00:22:51.368>that's <00:22:51.485>a <00:22:51.601>lot <00:22:51.718>of <00:22:51.835>work.

382
00:22:53.675 --> 00:22:55.415
<00:22:53.675>How <00:22:53.875>do <00:22:54.075>you <00:22:54.274>synchronize <00:22:54.475>between <00:22:54.675>these <00:22:54.875>two <00:22:55.075>threat?

383
00:22:56.795 --> 00:23:00.375
<00:22:56.795>So, <00:22:56.970>so <00:22:57.145>here <00:22:57.320>is <00:22:57.495>the <00:22:57.670>deal, <00:22:57.845>um, <00:22:58.020>for <00:22:58.195>links,

384
00:23:00.835 --> 00:23:04.175
<00:23:00.835>we <00:23:00.962>don't <00:23:01.089>just <00:23:01.216>provide, <00:23:01.344>we <00:23:01.471>don't <00:23:01.598>just <00:23:01.725>give <00:23:01.853>you <00:23:01.980>two <00:23:02.107>run <00:23:02.235>time

385
00:23:04.275 --> 00:23:05.295
<00:23:04.275>and <00:23:04.504>call <00:23:04.734>it <00:23:04.963>a <00:23:05.193>day.

386
00:23:06.675 --> 00:23:10.975
<00:23:06.675>We <00:23:06.830>also <00:23:06.986>enforce <00:23:07.141>how <00:23:07.297>you <00:23:07.452>should <00:23:07.608>use <00:23:07.763>those <00:23:07.919>two <00:23:08.075>thread

387
00:23:11.035 --> 00:23:14.975
<00:23:11.035>and <00:23:11.190>how <00:23:11.346>you <00:23:11.501>should <00:23:11.657>use <00:23:11.812>those <00:23:11.968>JavaScript, <00:23:12.123>uh, <00:23:12.279>vm <00:23:12.435>um,

388
00:23:15.435 --> 00:23:17.215
<00:23:15.435>at <00:23:15.784>the <00:23:16.135>level <00:23:16.485>of <00:23:16.835>APIs

389
00:23:17.215 --> 00:23:20.815
<00:23:17.215>and <00:23:17.370>JavaScript <00:23:17.526>frameworks, <00:23:17.681>we, <00:23:17.837>we <00:23:17.992>want, <00:23:18.148>we <00:23:18.303>want <00:23:18.459>to, <00:23:18.615>uh,

390
00:23:21.255 --> 00:23:23.575
<00:23:21.255>abstract <00:23:21.488>the, <00:23:21.721>uh, <00:23:21.955>the <00:23:22.188>architecture <00:23:22.421>and, <00:23:22.655>and,

391
00:23:23.595 --> 00:23:26.615
<00:23:23.595>and <00:23:23.750>give <00:23:23.906>you <00:23:24.061>patterns <00:23:24.217>so <00:23:24.372>you <00:23:24.528>can, <00:23:24.683>you <00:23:24.839>know, <00:23:24.995>uh,

392
00:23:27.145 --> 00:23:29.615
<00:23:27.145>build <00:23:27.345>up <00:23:27.545>on <00:23:27.745>this <00:23:27.945>two <00:23:28.145>threaded <00:23:28.345>architecture <00:23:28.545>easier.

393
00:23:30.875 --> 00:23:34.015
<00:23:30.875>Uh, <00:23:31.050>the <00:23:31.225>BTS <00:23:31.400>gonna <00:23:31.575>be <00:23:31.750>the <00:23:31.925>default <00:23:32.100>user <00:23:32.275>space.

394
00:23:34.595 --> 00:23:38.175
<00:23:34.595>Uh, <00:23:34.750>most <00:23:34.906>of <00:23:35.061>the <00:23:35.217>code <00:23:35.372>like <00:23:35.528>re-render <00:23:35.683>side <00:23:35.839>effects, <00:23:35.995>uh,

395
00:23:38.315 --> 00:23:41.855
<00:23:38.315>low <00:23:38.490>prior <00:23:38.665>event <00:23:38.840>handling <00:23:39.015>gonna <00:23:39.190>go <00:23:39.365>to <00:23:39.540>that <00:23:39.715>threat.

396
00:23:42.555 --> 00:23:46.325
<00:23:42.555>Um, <00:23:42.835>but <00:23:43.115>for <00:23:43.395>privilege, <00:23:43.675>high <00:23:43.955>pride,

397
00:23:46.505 --> 00:23:49.925
<00:23:46.505>UI <00:23:46.680>tasks <00:23:46.855>like <00:23:47.030>instant, <00:23:47.205>uh, <00:23:47.380>like <00:23:47.555>initial <00:23:47.730>loads, <00:23:47.905>um,

398
00:23:50.395 --> 00:23:53.885
<00:23:50.395>like <00:23:50.595>animation, <00:23:50.795>dragging, <00:23:50.995>that <00:23:51.195>kind <00:23:51.395>of <00:23:51.595>things, <00:23:51.795>uh,

399
00:23:53.985 --> 00:23:55.925
<00:23:53.985>we <00:23:54.218>encourage <00:23:54.451>you, <00:23:54.685>we <00:23:54.918>build <00:23:55.151>a <00:23:55.385>pattern.

400
00:23:56.385 --> 00:23:58.885
<00:23:56.385>We, <00:23:56.585>we <00:23:56.785>also <00:23:56.985>build <00:23:57.185>up <00:23:57.385>a <00:23:57.585>component, <00:23:57.785>uh,

401
00:23:58.965 --> 00:24:00.165
<00:23:58.965>u <00:23:59.324>uh, <00:23:59.685>component <00:24:00.045>libraries.

402
00:24:00.165 --> 00:24:02.875
<00:24:00.165>You're <00:24:00.445>gonna <00:24:00.725>see <00:24:01.004>it, <00:24:01.284>uh, <00:24:01.565>by

403
00:24:03.525 --> 00:24:06.075
<00:24:03.525>scheduling <00:24:03.805>those <00:24:04.085>work <00:24:04.365>on <00:24:04.645>the <00:24:04.925>MTS.

404
00:24:08.655 --> 00:24:10.995
<00:24:08.655>And <00:24:08.888>that's <00:24:09.121>how <00:24:09.355>we <00:24:09.588>keep <00:24:09.821>everything <00:24:10.055>performing.

405
00:24:14.335 --> 00:24:17.035
<00:24:14.335>Um, <00:24:14.510>we, <00:24:14.685>we <00:24:14.860>won't <00:24:15.035>go <00:24:15.210>into <00:24:15.385>even <00:24:15.560>more <00:24:15.735>detail,

406
00:24:17.055 --> 00:24:19.875
<00:24:17.055>but <00:24:17.210>the, <00:24:17.366>the, <00:24:17.521>the <00:24:17.677>guiding <00:24:17.832>principle <00:24:17.988>is <00:24:18.143>that <00:24:18.299>we <00:24:18.455>want,

407
00:24:20.255 --> 00:24:23.995
<00:24:20.255>we <00:24:20.430>want <00:24:20.605>ourself <00:24:20.780>and <00:24:20.955>you <00:24:21.130>to <00:24:21.305>use <00:24:21.480>mans <00:24:21.655>responsibly.

408
00:24:24.375 --> 00:24:25.835
<00:24:24.375>Uh, <00:24:24.813>and <00:24:25.251>purposely <00:24:25.689>may,

409
00:24:25.835 --> 00:24:28.675
<00:24:25.835>maybe <00:24:25.990>someday <00:24:26.146>the <00:24:26.301>web <00:24:26.457>would <00:24:26.612>follow <00:24:26.768>this <00:24:26.923>pattern <00:24:27.079>as <00:24:27.235>well.

410
00:24:31.135 --> 00:24:35.555
<00:24:31.135>So <00:24:31.368>to <00:24:31.601>wrap <00:24:31.835>up, <00:24:32.068>we <00:24:32.301>intentionally <00:24:32.535>rethink

411
00:24:35.615 --> 00:24:39.735
<00:24:35.615>and <00:24:35.790>change <00:24:35.965>some <00:24:36.140>of <00:24:36.315>the <00:24:36.490>existing <00:24:36.665>web <00:24:36.840>practices <00:24:37.015>so

412
00:24:39.735 --> 00:24:43.655
<00:24:39.735>that <00:24:39.875>we <00:24:40.014>can <00:24:40.155>fill <00:24:40.294>the <00:24:40.435>gap <00:24:40.574>to <00:24:40.715>give <00:24:40.854>you <00:24:40.995>native <00:24:41.135>primitive

413
00:24:43.655 --> 00:24:44.735
<00:24:43.655>and <00:24:44.140>native <00:24:44.627>performance.

414
00:24:47.635 --> 00:24:50.535
<00:24:47.635>Um, <00:24:47.810>but <00:24:47.985>there's <00:24:48.160>one <00:24:48.335>more <00:24:48.510>thing <00:24:48.685>we <00:24:48.860>really, <00:24:49.035>really,

415
00:24:50.535 --> 00:24:51.975
<00:24:50.535>really <00:24:50.859>enjoy <00:24:51.183>from <00:24:51.507>the <00:24:51.831>web,

416
00:24:55.035 --> 00:24:56.095
<00:24:55.035>and <00:24:55.353>that's <00:24:55.671>web <00:24:55.989>community.

417
00:24:57.555 --> 00:25:01.205
<00:24:57.555>And <00:24:57.905>Just <00:24:58.255>a <00:24:58.605>months <00:24:58.955>ago,

418
00:25:03.465 --> 00:25:05.095
<00:25:03.465>apple <00:25:03.931>released <00:25:04.398>Liquid <00:25:04.865>Glass,

419
00:25:05.195 --> 00:25:08.055
<00:25:05.195>and <00:25:05.395>everyone <00:25:05.595>in <00:25:05.794>the <00:25:05.995>web <00:25:06.195>community <00:25:06.395>is <00:25:06.595>trying

420
00:25:08.055 --> 00:25:10.135
<00:25:08.055>to <00:25:08.405>replicating <00:25:08.755>it <00:25:09.105>with, <00:25:09.455>uh,

421
00:25:10.335 --> 00:25:13.615
<00:25:10.335>C-S-S-S-V-G <00:25:10.801>filter, <00:25:11.268>everything, <00:25:11.735>right?

422
00:25:15.115 --> 00:25:17.895
<00:25:15.115>Um, <00:25:15.348>I, <00:25:15.581>I <00:25:15.815>really <00:25:16.048>love <00:25:16.281>this <00:25:16.515>quote.

423
00:25:19.085 --> 00:25:21.615
<00:25:19.085>It's, <00:25:19.260>it's <00:25:19.435>not <00:25:19.610>perfect, <00:25:19.785>but <00:25:19.960>neither <00:25:20.135>is <00:25:20.310>the <00:25:20.485>platform.

424
00:25:21.635 --> 00:25:23.215
<00:25:21.635>We <00:25:21.985>love <00:25:22.335>it <00:25:22.685>anyway, <00:25:23.035>right?

425
00:25:23.475 --> 00:25:26.455
<00:25:23.475>So <00:25:23.630>the <00:25:23.786>web <00:25:23.941>is, <00:25:24.097>has <00:25:24.252>never <00:25:24.408>been <00:25:24.563>the <00:25:24.719>perfect <00:25:24.875>platform

426
00:25:26.515 --> 00:25:28.575
<00:25:26.515>for <00:25:26.748>building <00:25:26.981>all <00:25:27.215>the <00:25:27.448>native <00:25:27.681>user <00:25:27.915>interface,

427
00:25:28.595 --> 00:25:30.175
<00:25:28.595>but <00:25:28.945>this <00:25:29.295>communities <00:25:29.645>keep <00:25:29.995>trying

428
00:25:30.275 --> 00:25:32.535
<00:25:30.275>and <00:25:30.475>try <00:25:30.675>to <00:25:30.875>deliver <00:25:31.075>the <00:25:31.275>best <00:25:31.475>possible <00:25:31.675>experiences.

429
00:25:34.115 --> 00:25:36.375
<00:25:34.115>We, <00:25:34.290>we, <00:25:34.465>we <00:25:34.640>feel <00:25:34.815>the <00:25:34.990>same <00:25:35.165>at <00:25:35.340>its <00:25:35.515>core

430
00:25:37.395 --> 00:25:40.775
<00:25:37.395>UI <00:25:37.595>technologies <00:25:37.795>like <00:25:37.995>Web <00:25:38.195>React, <00:25:38.395>native <00:25:38.595>flutter <00:25:38.795>links,

431
00:25:41.205 --> 00:25:44.815
<00:25:41.205>they <00:25:41.438>exist <00:25:41.671>to <00:25:41.905>deliver <00:25:42.138>exceptional <00:25:42.371>product <00:25:42.605>designs.

432
00:25:47.835 --> 00:25:50.855
<00:25:47.835>We <00:25:48.010>want <00:25:48.185>you <00:25:48.360>to <00:25:48.535>think <00:25:48.710>more <00:25:48.885>about <00:25:49.060>the <00:25:49.235>product,

433
00:25:51.115 --> 00:25:53.535
<00:25:51.115>the <00:25:51.290>user <00:25:51.465>interface, <00:25:51.640>rather <00:25:51.815>than <00:25:51.990>write <00:25:52.165>in <00:25:52.340>the <00:25:52.515>same

434
00:25:53.535 --> 00:25:54.655
<00:25:53.535>code <00:25:53.871>again <00:25:54.207>and <00:25:54.543>again.

435
00:25:55.235 --> 00:25:58.655
<00:25:55.235>And <00:25:55.514>that's <00:25:55.794>why <00:25:56.074>in <00:25:56.354>links, <00:25:56.635>um,

436
00:25:58.995 --> 00:26:03.775
<00:25:58.995>things <00:25:59.150>like <00:25:59.306>CSS <00:25:59.461>Gradient, <00:25:59.617>Musk <00:25:59.772>clip <00:25:59.928>has, <00:26:00.083>they <00:26:00.239>just <00:26:00.395>work

437
00:26:05.045 --> 00:26:06.855
<00:26:05.045>your <00:26:05.395>familiar <00:26:05.745>CSS <00:26:06.095>just <00:26:06.445>work.

438
00:26:07.835 --> 00:26:10.375
<00:26:07.835>Um, <00:26:08.115>and <00:26:08.395>you <00:26:08.675>can <00:26:08.955>share <00:26:09.235>code

439
00:26:10.375 --> 00:26:13.375
<00:26:10.375>and <00:26:10.502>bring <00:26:10.629>your <00:26:10.756>web, <00:26:10.884>uh, <00:26:11.011>uh, <00:26:11.138>bring <00:26:11.265>your <00:26:11.393>code <00:26:11.520>for <00:26:11.647>your <00:26:11.775>web,

440
00:26:13.595 --> 00:26:17.895
<00:26:13.595>web <00:26:13.750>website, <00:26:13.906>web <00:26:14.061>apps <00:26:14.217>to, <00:26:14.372>to <00:26:14.528>links, <00:26:14.683>um, <00:26:14.839>uh, <00:26:14.995>easier.

441
00:26:20.035 --> 00:26:21.855
<00:26:20.035>Uh, <00:26:20.315>let's <00:26:20.595>take <00:26:20.875>Tailwind <00:26:21.155>as <00:26:21.435>example.

442
00:26:22.735 --> 00:26:25.335
<00:26:22.735>Tailwind <00:26:22.935>started <00:26:23.135>to <00:26:23.334>get <00:26:23.534>really <00:26:23.735>popular <00:26:23.935>lately <00:26:24.135>due

443
00:26:25.335 --> 00:26:26.455
<00:26:25.335>to <00:26:25.671>large <00:26:26.007>language <00:26:26.342>model,

444
00:26:27.315 --> 00:26:29.815
<00:26:27.315>but <00:26:27.490>for <00:26:27.665>some <00:26:27.840>of <00:26:28.015>the <00:26:28.190>other <00:26:28.365>UI <00:26:28.540>system, <00:26:28.715>you,

445
00:26:29.815 --> 00:26:33.895
<00:26:29.815>you <00:26:30.015>don't <00:26:30.215>really <00:26:30.415>have <00:26:30.615>native <00:26:30.815>Tailw <00:26:31.015>support, <00:26:31.215>but

446
00:26:33.895 --> 00:26:37.335
<00:26:33.895>because <00:26:34.175>links <00:26:34.455>support, <00:26:34.735>um, <00:26:35.014>CSS <00:26:35.295>natively,

447
00:26:38.355 --> 00:26:39.935
<00:26:38.355>you <00:26:38.588>can <00:26:38.821>not <00:26:39.055>only <00:26:39.288>use <00:26:39.521>tools <00:26:39.755>like,

448
00:26:41.115 --> 00:26:45.045
<00:26:41.115>and <00:26:41.270>post <00:26:41.426>CSS, <00:26:41.581>uh, <00:26:41.737>you <00:26:41.892>can <00:26:42.048>just <00:26:42.203>use <00:26:42.359>Tailwind <00:26:42.515>natively.

449
00:26:47.585 --> 00:26:52.445
<00:26:47.585>Uh, <00:26:47.740>one <00:26:47.896>of <00:26:48.051>our <00:26:48.207>design <00:26:48.362>engineer, <00:26:48.518>uh, <00:26:48.673>she <00:26:48.829>was <00:26:48.985>able

450
00:26:52.445 --> 00:26:53.885
<00:26:52.445>to <00:26:52.704>port <00:26:52.963>the <00:26:53.222>themes <00:26:53.481>from <00:26:53.741>she

451
00:26:54.065 --> 00:26:57.965
<00:26:54.065>and <00:26:54.205>UI <00:26:54.345>daisy <00:26:54.485>UI <00:26:54.625>to <00:26:54.765>build <00:26:54.905>the <00:26:55.045>theme <00:26:55.185>generated <00:26:55.325>on <00:26:55.465>links.

452
00:26:59.305 --> 00:27:02.885
<00:26:59.305>And <00:26:59.460>it's <00:26:59.616>the <00:26:59.771>theme <00:26:59.927>CSS <00:27:00.082>variable, <00:27:00.238>same, <00:27:00.393>uh, <00:27:00.549>utility <00:27:00.705>class,

453
00:27:03.515 --> 00:27:06.925
<00:27:03.515>same <00:27:03.670>tail <00:27:03.826>wind <00:27:03.981>config, <00:27:04.137>uh, <00:27:04.292>it's <00:27:04.448>gonna <00:27:04.603>be <00:27:04.759>open <00:27:04.915>source

454
00:27:07.225 --> 00:27:11.845
<00:27:07.225>and, <00:27:07.365>um, <00:27:07.504>definitely <00:27:07.645>check <00:27:07.784>out <00:27:07.925>her <00:27:08.064>x <00:27:08.205>uh, <00:27:08.344>on <00:27:08.485>this <00:27:08.625>work.

455
00:27:13.465 --> 00:27:14.965
<00:27:13.465>And <00:27:13.802>how <00:27:14.139>about <00:27:14.477>Motion? <00:27:14.814>Right?

456
00:27:14.965 --> 00:27:19.485
<00:27:14.965>Motion <00:27:15.139>has <00:27:15.314>been <00:27:15.490>one <00:27:15.665>of <00:27:15.840>the <00:27:16.014>cornerstone <00:27:16.189>to, <00:27:16.365>um,

457
00:27:19.675 --> 00:27:21.525
<00:27:19.675>support <00:27:20.024>design <00:27:20.375>engineer <00:27:20.725>on <00:27:21.075>web.

458
00:27:22.525 --> 00:27:25.325
<00:27:22.525>I, <00:27:22.725>I'm <00:27:22.925>a <00:27:23.125>big <00:27:23.325>fan <00:27:23.525>of <00:27:23.725>it, <00:27:23.925>young.

459
00:27:25.745 --> 00:27:30.685
<00:27:25.745>Uh, <00:27:25.945>one <00:27:26.145>of <00:27:26.344>our, <00:27:26.544>uh, <00:27:26.745>engineer, <00:27:26.945>he <00:27:27.145>experimented

460
00:27:30.715 --> 00:27:32.725
<00:27:30.715>with <00:27:30.995>bringing <00:27:31.274>in <00:27:31.554>motion <00:27:31.834>to <00:27:32.115>links

461
00:27:34.495 --> 00:27:36.865
<00:27:34.495>besides <00:27:34.695>of <00:27:34.895>streaming <00:27:35.094>some <00:27:35.294>of <00:27:35.495>the <00:27:35.695>DOM <00:27:35.895>APIs.

462
00:27:37.125 --> 00:27:41.625
<00:27:37.125>He <00:27:37.280>was <00:27:37.436>able <00:27:37.591>to <00:27:37.747>spend <00:27:37.902>a <00:27:38.058>day <00:27:38.213>to <00:27:38.369>get <00:27:38.525>the

463
00:27:42.485 --> 00:27:45.065
<00:27:42.485>entire <00:27:42.764>motion <00:27:43.044>core <00:27:43.324>running <00:27:43.604>on <00:27:43.885>links.

464
00:27:48.175 --> 00:27:51.635
<00:27:48.175>So <00:27:48.375>it's <00:27:48.575>the <00:27:48.774>same, <00:27:48.975>um, <00:27:49.175>motion <00:27:49.375>core, <00:27:49.575>um,

465
00:27:51.895 --> 00:27:54.795
<00:27:51.895>you <00:27:52.175>just <00:27:52.455>call <00:27:52.735>animate <00:27:53.014>on <00:27:53.295>MTS

466
00:27:55.175 --> 00:27:58.355
<00:27:55.175>and <00:27:55.375>you <00:27:55.575>will <00:27:55.774>have <00:27:55.975>the <00:27:56.175>motion <00:27:56.375>example <00:27:56.575>running.

467
00:27:59.095 --> 00:28:01.355
<00:27:59.095>So <00:27:59.328>when <00:27:59.561>we <00:27:59.795>first <00:28:00.028>designed <00:28:00.261>MTS, <00:28:00.495>um,

468
00:28:01.775 --> 00:28:04.155
<00:28:01.775>we <00:28:01.975>just <00:28:02.175>naturally <00:28:02.375>want <00:28:02.575>something <00:28:02.775>more <00:28:02.975>lower <00:28:03.175>level

469
00:28:04.265 --> 00:28:06.155
<00:28:04.265>with <00:28:04.731>more <00:28:05.198>imperative <00:28:05.665>control,

470
00:28:06.415 --> 00:28:07.955
<00:28:06.415>but <00:28:06.692>turns <00:28:06.969>out <00:28:07.246>it's <00:28:07.523>really <00:28:07.801>good

471
00:28:07.975 --> 00:28:11.475
<00:28:07.975>to <00:28:08.149>bring <00:28:08.324>those <00:28:08.500>assets <00:28:08.675>from <00:28:08.850>the <00:28:09.024>web <00:28:09.199>into <00:28:09.375>links.

472
00:28:11.545 --> 00:28:15.075
<00:28:11.545>It's <00:28:11.745>much <00:28:11.945>easier, <00:28:12.145>uh, <00:28:12.345>with <00:28:12.545>this <00:28:12.745>imperative, <00:28:12.945>um,

473
00:28:15.565 --> 00:28:17.155
<00:28:15.565>scriptable <00:28:16.965>approach.

474
00:28:18.855 --> 00:28:22.315
<00:28:18.855>And <00:28:18.995>the <00:28:19.135>web <00:28:19.275>is <00:28:19.415>not <00:28:19.555>just <00:28:19.695>limited <00:28:19.835>to <00:28:19.975>one <00:28:20.115>framework, <00:28:20.255>right?

475
00:28:22.815 --> 00:28:25.115
<00:28:22.815>The <00:28:22.990>beauty <00:28:23.165>of <00:28:23.340>web <00:28:23.515>is, <00:28:23.690>is <00:28:23.865>being <00:28:24.040>very <00:28:24.215>open.

476
00:28:26.455 --> 00:28:29.515
<00:28:26.455>Uh, <00:28:26.610>we <00:28:26.766>want <00:28:26.921>to <00:28:27.077>embrace <00:28:27.232>the <00:28:27.388>same <00:28:27.543>spirit <00:28:27.699>on <00:28:27.855>links,

477
00:28:29.975 --> 00:28:31.595
<00:28:29.975>and <00:28:30.208>that's <00:28:30.441>why <00:28:30.675>we <00:28:30.908>set, <00:28:31.141>we <00:28:31.375>want

478
00:28:31.595 --> 00:28:34.275
<00:28:31.595>to <00:28:31.945>democratize <00:28:32.295>cross <00:28:32.645>platform <00:28:32.995>technologies.

479
00:28:36.175 --> 00:28:37.475
<00:28:36.175>Uh, <00:28:36.467>view <00:28:36.760>has <00:28:37.052>been <00:28:37.344>one

480
00:28:37.475 --> 00:28:41.275
<00:28:37.475>of <00:28:37.675>the <00:28:37.875>most <00:28:38.074>requested <00:28:38.274>alternative <00:28:38.475>JavaScript <00:28:38.675>framework <00:28:38.875>ever

481
00:28:41.365 --> 00:28:42.955
<00:28:41.365>since <00:28:41.715>we <00:28:42.065>open <00:28:42.415>source <00:28:42.765>links.

482
00:28:44.365 --> 00:28:48.785
<00:28:44.365>Uh, <00:28:44.540>long <00:28:44.715>time <00:28:44.890>friend <00:28:45.065>Evan, <00:28:45.240>um, <00:28:45.415>he, <00:28:45.590>he, <00:28:45.765>he,

483
00:28:48.805 --> 00:28:53.635
<00:28:48.805>he <00:28:48.960>was <00:28:49.116>sharing <00:28:49.271>that, <00:28:49.427>um, <00:28:49.582>he <00:28:49.738>has <00:28:49.893>been, <00:28:50.049>uh, <00:28:50.205>oh

484
00:28:54.305 --> 00:28:56.515
<00:28:54.305>community <00:28:54.538>work <00:28:54.771>to, <00:28:55.005>to <00:28:55.238>make <00:28:55.471>this <00:28:55.705>happen.

485
00:28:56.935 --> 00:29:00.355
<00:28:56.935>So, <00:28:57.075>and <00:28:57.215>we <00:28:57.355>are <00:28:57.495>eager <00:28:57.635>to <00:28:57.774>collaborate <00:28:57.915>with <00:28:58.054>the <00:28:58.195>real <00:28:58.335>community

486
00:29:02.495 --> 00:29:06.835
<00:29:02.495>and <00:29:02.669>also <00:29:02.844>well, <00:29:03.020>um, <00:29:03.195>rich <00:29:03.370>Harris, <00:29:03.544>creator <00:29:03.719>of, <00:29:03.895>well,

487
00:29:07.215 --> 00:29:09.795
<00:29:07.215>he <00:29:07.415>also <00:29:07.615>mentioned <00:29:07.814>links <00:29:08.014>in <00:29:08.215>his <00:29:08.415>latest <00:29:08.615>talk.

488
00:29:10.775 --> 00:29:14.475
<00:29:10.775>Um, <00:29:10.950>if <00:29:11.125>you <00:29:11.300>are <00:29:11.475>interested <00:29:11.650>in <00:29:11.825>this <00:29:12.000>work, <00:29:12.175>uh,

489
00:29:14.475 --> 00:29:15.995
<00:29:14.475>definitely <00:29:14.817>talk <00:29:15.158>with <00:29:15.501>Man <00:29:15.842>Matter.

490
00:29:16.215 --> 00:29:19.915
<00:29:16.215>Uh, <00:29:16.342>they <00:29:16.469>are <00:29:16.596>trying <00:29:16.724>to <00:29:16.851>make, <00:29:16.978>uh, <00:29:17.105>spell <00:29:17.233>links <00:29:17.360>happen <00:29:17.487>as <00:29:17.615>well.

491
00:29:22.535 --> 00:29:26.755
<00:29:22.535>And <00:29:22.710>personally, <00:29:22.885>I'm <00:29:23.060>honestly <00:29:23.235>very <00:29:23.410>surprised <00:29:23.585>by <00:29:23.760>this, <00:29:23.935>how,

492
00:29:26.775 --> 00:29:28.755
<00:29:26.775>how <00:29:26.975>many <00:29:27.175>of <00:29:27.375>you <00:29:27.575>can <00:29:27.775>recognize <00:29:27.975>this <00:29:28.175>logo?

493
00:29:29.905 --> 00:29:31.835
<00:29:29.905>Yeah, <00:29:30.371>it, <00:29:30.838>it's <00:29:31.305>Haskell.

494
00:29:31.835 --> 00:29:34.275
<00:29:31.835>It's <00:29:32.115>like <00:29:32.395>a <00:29:32.675>very <00:29:32.955>academia, <00:29:33.235>uh,

495
00:29:36.155 --> 00:29:37.915
<00:29:36.155>interesting <00:29:36.621>functional <00:29:37.088>programming <00:29:37.555>language.

496
00:29:39.295 --> 00:29:42.885
<00:29:39.295>And <00:29:39.435>one <00:29:39.575>of <00:29:39.715>the <00:29:39.855>community <00:29:39.995>member, <00:29:40.135>he <00:29:40.275>was <00:29:40.415>able <00:29:40.555>to <00:29:40.695>port,

497
00:29:44.125 --> 00:29:47.505
<00:29:44.125>um, <00:29:44.358>a <00:29:44.591>Haskell <00:29:44.825>UI <00:29:45.058>library <00:29:45.291>to <00:29:45.525>links.

498
00:29:50.925 --> 00:29:54.105
<00:29:50.925>Uh, <00:29:51.080>that, <00:29:51.236>that's <00:29:51.391>the <00:29:51.547>demo. <00:29:51.702>Yeah. <00:29:51.858>One <00:29:52.013>minute. <00:29:52.169>One <00:29:52.325>minute.

499
00:29:55.165 --> 00:29:58.505
<00:29:55.165>So, <00:29:55.305>so <00:29:55.445>I <00:29:55.585>would <00:29:55.725>say <00:29:55.865>that's <00:29:56.004>the <00:29:56.145>power <00:29:56.284>to <00:29:56.425>embrace, <00:29:56.565>um,

500
00:29:58.925 --> 00:29:59.705
<00:29:58.925>the <00:29:59.275>open <00:29:59.627>web

501
00:29:59.705 --> 00:30:04.125
<00:29:59.705>community <00:30:00.171>at <00:30:00.638>this <00:30:01.105>point.

502
00:30:04.345 --> 00:30:06.445
<00:30:04.345>Uh, <00:30:04.578>I <00:30:04.811>hope <00:30:05.045>the <00:30:05.278>answer <00:30:05.511>is <00:30:05.745>clear.

503
00:30:07.585 --> 00:30:09.645
<00:30:07.585>Uh, <00:30:07.785>we <00:30:07.985>preserve <00:30:08.185>the <00:30:08.385>language <00:30:08.585>from <00:30:08.785>the <00:30:08.985>web

504
00:30:09.645 --> 00:30:10.845
<00:30:09.645>and <00:30:09.860>the <00:30:10.077>community <00:30:10.293>from <00:30:10.509>the <00:30:10.725>web

505
00:30:11.115 --> 00:30:12.645
<00:30:11.115>because <00:30:11.390>we <00:30:11.665>want <00:30:11.941>to <00:30:12.216>preserve <00:30:12.492>you.

506
00:30:15.195 --> 00:30:18.845
<00:30:15.195>I've <00:30:15.335>come <00:30:15.475>to <00:30:15.615>realize, <00:30:15.754>uh, <00:30:15.895>the <00:30:16.034>web <00:30:16.175>has <00:30:16.314>raised <00:30:16.455>the <00:30:16.595>community

507
00:30:18.845 --> 00:30:20.045
<00:30:18.845>that's <00:30:19.385>widely <00:30:19.925>creative

508
00:30:20.545 --> 00:30:22.125
<00:30:20.545>and <00:30:20.895>the <00:30:21.245>generation <00:30:21.595>of <00:30:21.945>developer

509
00:30:22.125 --> 00:30:24.725
<00:30:22.125>that <00:30:22.325>can <00:30:22.525>think <00:30:22.725>cross <00:30:22.925>platform, <00:30:23.125>uh, <00:30:23.325>by <00:30:23.525>default.

510
00:30:26.665 --> 00:30:28.765
<00:30:26.665>And <00:30:26.945>the <00:30:27.225>reason <00:30:27.504>we <00:30:27.784>diverge <00:30:28.065>is

511
00:30:28.765 --> 00:30:30.645
<00:30:28.765>because <00:30:28.940>we <00:30:29.115>want <00:30:29.290>to <00:30:29.465>give <00:30:29.640>you <00:30:29.815>the <00:30:29.990>new <00:30:30.165>vocabulary.

512
00:30:30.645 --> 00:30:31.645
<00:30:30.645>Thank <00:30:30.945>you. <00:30:31.245>One <00:30:31.545>minute.

513
00:30:32.525 --> 00:30:33.885
<00:30:32.525>I <00:30:32.699>think <00:30:32.874>we <00:30:33.049>have <00:30:33.224>bit <00:30:33.399>over <00:30:33.574>time <00:30:33.749>now.

514
00:30:34.665 --> 00:30:38.685
<00:30:34.665>Uh, <00:30:34.865>so <00:30:35.065>you <00:30:35.264>can <00:30:35.465>build <00:30:35.665>with <00:30:35.865>native <00:30:36.065>experiences

515
00:30:38.865 --> 00:30:40.005
<00:30:38.865>and <00:30:39.378>native <00:30:39.891>performance.

516
00:30:40.985 --> 00:30:42.805
<00:30:40.985>Uh, <00:30:41.185>we <00:30:41.385>want <00:30:41.584>to <00:30:41.784>close <00:30:41.985>that <00:30:42.185>relevance <00:30:42.385>gap

517
00:30:43.225 --> 00:30:47.285
<00:30:43.225>so <00:30:43.352>you <00:30:43.479>can <00:30:43.606>ship <00:30:43.734>more <00:30:43.861>stuff <00:30:43.988>to <00:30:44.115>more <00:30:44.243>user <00:30:44.370>across <00:30:44.497>the <00:30:44.625>world.

518
00:30:48.625 --> 00:30:52.245
<00:30:48.625>So <00:30:48.765>maybe <00:30:48.905>a <00:30:49.045>better <00:30:49.185>answer, <00:30:49.325>better <00:30:49.465>question <00:30:49.605>to <00:30:49.745>ask <00:30:49.885>is, <00:30:50.025>uh,

519
00:30:52.425 --> 00:30:55.765
<00:30:52.425>can <00:30:52.600>we <00:30:52.774>tear <00:30:52.950>down <00:30:53.125>this <00:30:53.300>wall <00:30:53.475>between <00:30:53.649>the <00:30:53.825>web

520
00:30:55.765 --> 00:30:58.125
<00:30:55.765>and <00:30:56.115>native <00:30:56.465>so <00:30:56.815>we <00:30:57.165>can

521
00:30:58.125 --> 00:31:00.835
<00:30:58.125>collectively <00:30:58.825>do <00:30:59.525>more?

522
00:31:01.815 --> 00:31:05.355
<00:31:01.815>And <00:31:01.942>that's <00:31:02.069>the <00:31:02.196>end <00:31:02.324>of <00:31:02.451>my <00:31:02.578>talk. <00:31:02.705>Thank <00:31:02.833>you <00:31:02.960>for <00:31:03.087>your <00:31:03.215>patience.

523
00:31:05.355 --> 00:31:06.235
<00:31:05.355>Thank <00:31:05.619>you <00:31:05.883>for <00:31:06.147>listening.

524
00:31:10.535 --> 00:31:11.955
<00:31:10.535>I'm <00:31:10.854>Chen, <00:31:11.174>uh, <00:31:11.493>peace, <00:31:11.812>love.