WEBVTT

1
00:00:03.385 --> 00:00:06.165
<00:00:03.385>We <00:00:03.618>are <00:00:03.851>talking <00:00:04.085>about <00:00:04.318>native <00:00:04.551>web <00:00:04.785>apps.

2
00:00:06.675 --> 00:00:10.045
<00:00:06.675>Next <00:00:07.141>35 <00:00:07.608>ish <00:00:08.074>minutes

3
00:00:11.665 --> 00:00:14.565
<00:00:11.665>on <00:00:11.898>my <00:00:12.131>session, <00:00:12.364>we'll <00:00:12.598>answer <00:00:12.831>two <00:00:13.065>questions.

4
00:00:14.815 --> 00:00:17.605
<00:00:14.815>First, <00:00:15.165>we'll <00:00:15.514>try <00:00:15.864>to <00:00:16.215>understand

5
00:00:17.955 --> 00:00:20.845
<00:00:17.955>what <00:00:18.305>exactly <00:00:18.654>makes <00:00:19.005>the <00:00:19.354>feeling

6
00:00:21.105 --> 00:00:25.605
<00:00:21.105>of <00:00:21.280>the <00:00:21.455>particular <00:00:21.630>application <00:00:21.805>as <00:00:21.980>a <00:00:22.155>native, <00:00:22.330>um, <00:00:22.505>native.

7
00:00:25.785 --> 00:00:27.845
<00:00:25.785>It <00:00:26.018>could <00:00:26.251>not <00:00:26.485>be <00:00:26.718>very <00:00:26.951>generic, <00:00:27.185>right?

8
00:00:27.915 --> 00:00:29.925
<00:00:27.915>It's <00:00:28.195>always <00:00:28.474>native <00:00:28.755>for <00:00:29.035>some <00:00:29.314>context.

9
00:00:30.185 --> 00:00:32.645
<00:00:30.185>Uh, <00:00:30.465>we <00:00:30.744>have <00:00:31.025>different, <00:00:31.305>uh, <00:00:31.584>platforms

10
00:00:32.705 --> 00:00:35.165
<00:00:32.705>or <00:00:32.985>different <00:00:33.265>operating <00:00:33.545>systems, <00:00:33.824>different <00:00:34.105>devices,

11
00:00:35.745 --> 00:00:39.525
<00:00:35.745>and <00:00:35.945>to <00:00:36.144>be <00:00:36.345>native <00:00:36.544>for <00:00:36.745>these <00:00:36.945>particular, <00:00:37.144>um,

12
00:00:39.835 --> 00:00:41.485
<00:00:39.835>operating <00:00:40.535>system <00:00:41.235>device

13
00:00:41.585 --> 00:00:45.645
<00:00:41.585>or <00:00:41.760>this <00:00:41.935>combination <00:00:42.110>of <00:00:42.285>course <00:00:42.460>application <00:00:42.635>has <00:00:42.810>to <00:00:42.985>follow,

14
00:00:45.815 --> 00:00:48.605
<00:00:45.815>let's <00:00:46.015>say <00:00:46.214>the <00:00:46.415>rules <00:00:46.614>of <00:00:46.815>this <00:00:47.015>application <00:00:47.214>system,

15
00:00:48.825 --> 00:00:50.965
<00:00:48.825>or <00:00:49.175>sorry, <00:00:49.525>operating <00:00:49.875>system, <00:00:50.225>uh,

16
00:00:52.125 --> 00:00:56.205
<00:00:52.125>leverage <00:00:52.325>all <00:00:52.525>possibilities <00:00:52.725>from <00:00:52.925>both <00:00:53.125>software <00:00:53.325>and <00:00:53.525>hardware.

17
00:00:56.265 --> 00:00:57.725
<00:00:56.265>So <00:00:56.527>we'll <00:00:56.790>go <00:00:57.053>through <00:00:57.316>some <00:00:57.579>points.

18
00:00:57.725 --> 00:01:01.965
<00:00:57.725>What <00:00:57.865>exactly <00:00:58.005>builds <00:00:58.145>this <00:00:58.285>feeling <00:00:58.425>for, <00:00:58.565>um, <00:00:58.705>for <00:00:58.845>our <00:00:58.985>users <00:00:59.125>and,

19
00:01:01.985 --> 00:01:03.645
<00:01:01.985>and <00:01:02.451>us, <00:01:02.918>uh, <00:01:03.385>ourselves.

20
00:01:03.945 --> 00:01:06.005
<00:01:03.945>We <00:01:04.224>are <00:01:04.504>all <00:01:04.785>users <00:01:05.065>of <00:01:05.345>this

21
00:01:06.065 --> 00:01:09.165
<00:01:06.065>or <00:01:06.265>that, <00:01:06.465>um, <00:01:06.664>application, <00:01:06.865>multiple <00:01:07.065>ones <00:01:07.265>per <00:01:07.465>day.

22
00:01:09.625 --> 00:01:13.445
<00:01:09.625>And <00:01:09.800>then <00:01:09.975>since <00:01:10.150>we <00:01:10.325>are <00:01:10.500>conference <00:01:10.675>about <00:01:10.850>web <00:01:11.025>technologies,

23
00:01:13.615 --> 00:01:16.685
<00:01:13.615>we'll <00:01:13.848>try <00:01:14.081>to <00:01:14.315>map <00:01:14.548>our <00:01:14.781>findings <00:01:15.015>about

24
00:01:16.795 --> 00:01:21.325
<00:01:16.795>what <00:01:16.935>makes <00:01:17.075>application <00:01:17.215>feel <00:01:17.355>native <00:01:17.495>to <00:01:17.635>what <00:01:17.775>we <00:01:17.915>have <00:01:18.055>in <00:01:18.195>web,

25
00:01:21.505 --> 00:01:23.205
<00:01:21.505>in <00:01:21.785>web <00:01:22.065>frontend <00:01:22.345>to <00:01:22.625>be <00:01:22.905>precise.

26
00:01:23.385 --> 00:01:27.805
<00:01:23.385>So <00:01:23.540>we'll <00:01:23.696>talk <00:01:23.851>about, <00:01:24.007>um, <00:01:24.162>web <00:01:24.318>APIs <00:01:24.473>available <00:01:24.629>for <00:01:24.785>us.

27
00:01:28.025 --> 00:01:31.045
<00:01:28.025>As <00:01:28.258>for <00:01:28.491>developers <00:01:28.725>to <00:01:28.958>delight <00:01:29.191>our <00:01:29.425>users,

28
00:01:32.165 --> 00:01:36.245
<00:01:32.164>I <00:01:32.445>already <00:01:32.725>briefly <00:01:33.005>introduced <00:01:33.285>my <00:01:33.565>use,

29
00:01:36.505 --> 00:01:37.565
<00:01:36.505>uh, <00:01:36.982>the <00:01:37.459>opportunity.

30
00:01:47.145 --> 00:01:51.425
<00:01:47.145>Microsoft <00:01:47.345>and <00:01:47.545>I <00:01:47.745>run <00:01:47.945>multiple, <00:01:48.145>um, <00:01:48.345>communities <00:01:48.545>related

31
00:01:51.605 --> 00:01:54.785
<00:01:51.604>to <00:01:51.804>web <00:01:52.005>and <00:01:52.204>mobile <00:01:52.404>development <00:01:52.604>in, <00:01:52.804>uh, <00:01:53.005>Oslo,

32
00:01:54.885 --> 00:01:56.265
<00:01:54.884>in <00:01:55.195>Norway, <00:01:55.506>where <00:01:55.816>I <00:01:56.127>live.

33
00:01:56.645 --> 00:01:58.945
<00:01:56.645>And, <00:01:56.845>uh, <00:01:57.045>yeah, <00:01:57.245>I'm <00:01:57.445>a <00:01:57.645>Google <00:01:57.845>developer <00:01:58.045>expert

34
00:01:59.085 --> 00:02:01.385
<00:01:59.085>for <00:01:59.435>web <00:01:59.785>technology, <00:02:00.135>uh, <00:02:00.485>capabilities

35
00:02:01.525 --> 00:02:03.425
<00:02:01.525>and <00:02:01.991>install <00:02:02.458>ability <00:02:02.925>section.

36
00:02:04.045 --> 00:02:05.825
<00:02:04.045>And <00:02:04.395>folks, <00:02:04.745>let's <00:02:05.095>stay <00:02:05.445>connected.

37
00:02:06.095 --> 00:02:09.385
<00:02:06.095>I'll <00:02:06.211>post, <00:02:06.328>um, <00:02:06.445>the <00:02:06.561>link <00:02:06.678>to <00:02:06.795>my <00:02:06.911>Twitter, <00:02:07.028>uh, <00:02:07.145>one <00:02:07.261>more <00:02:07.378>time <00:02:07.495>in,

38
00:02:09.405 --> 00:02:12.465
<00:02:09.405>uh, <00:02:09.580>live <00:02:09.755>chat <00:02:09.930>after, <00:02:10.104>after <00:02:10.280>I <00:02:10.455>complete <00:02:10.630>my <00:02:10.805>session.

39
00:02:12.965 --> 00:02:15.665
<00:02:12.965>But, <00:02:13.165>uh, <00:02:13.365>right <00:02:13.565>now <00:02:13.765>you <00:02:13.965>can, <00:02:14.165>uh, <00:02:14.365>go

40
00:02:15.925 --> 00:02:18.825
<00:02:15.925>and, <00:02:16.100>um, <00:02:16.275>start <00:02:16.450>following <00:02:16.625>me <00:02:16.800>on <00:02:16.975>web <00:02:17.150>max <00:02:17.325>review.

41
00:02:19.145 --> 00:02:23.665
<00:02:19.145>I <00:02:19.320>tweet <00:02:19.495>mainly <00:02:19.670>about <00:02:19.845>web, <00:02:20.020>web, <00:02:20.195>frontend, <00:02:20.370>cloud <00:02:20.545>technologies

42
00:02:23.925 --> 00:02:25.865
<00:02:23.925>and <00:02:24.391>progressive <00:02:24.858>web <00:02:25.325>applications.

43
00:02:27.195 --> 00:02:31.425
<00:02:27.195>Let's <00:02:27.394>go. <00:02:27.595>First, <00:02:27.795>we <00:02:27.995>start <00:02:28.195>with, <00:02:28.394>um, <00:02:28.595>brief

44
00:02:32.745 --> 00:02:36.075
<00:02:32.745>chat <00:02:33.095>about <00:02:33.445>whatever <00:02:33.795>makes <00:02:34.145>web

45
00:02:36.135 --> 00:02:37.955
<00:02:36.135>as <00:02:36.484>application <00:02:36.834>platform <00:02:37.185>et <00:02:37.535>all.

46
00:02:38.095 --> 00:02:39.155
<00:02:38.095>So <00:02:38.572>we, <00:02:39.049>um,

47
00:02:39.385 --> 00:02:41.955
<00:02:39.385>have <00:02:39.618>a <00:02:39.851>discussion <00:02:40.084>about <00:02:40.318>native <00:02:40.551>applications, <00:02:40.785>right?

48
00:02:41.975 --> 00:02:43.675
<00:02:41.975>But <00:02:42.208>let's, <00:02:42.441>uh, <00:02:42.674>do <00:02:42.908>a <00:02:43.141>step <00:02:43.375>back.

49
00:02:44.085 --> 00:02:46.715
<00:02:44.085>Let's, <00:02:44.365>um, <00:02:44.645>give <00:02:44.925>some <00:02:45.205>nice <00:02:45.485>points.

50
00:02:47.375 --> 00:02:51.375
<00:02:47.375>Um, <00:02:47.550>why, <00:02:47.725>um, <00:02:47.900>web <00:02:48.075>as <00:02:48.250>a <00:02:48.425>platform <00:02:48.600>is <00:02:48.775>a,

51
00:02:51.885 --> 00:02:54.495
<00:02:51.885>it's <00:02:52.060>a <00:02:52.234>nice <00:02:52.410>place <00:02:52.584>where <00:02:52.760>we <00:02:52.935>build <00:02:53.109>our <00:02:53.285>applications,

52
00:02:54.505 --> 00:02:56.135
<00:02:54.505>where <00:02:54.855>we <00:02:55.204>distribute <00:02:55.555>our <00:02:55.905>applications,

53
00:02:56.595 --> 00:02:59.925
<00:02:56.595>and, <00:02:56.770>um, <00:02:56.945>yeah, <00:02:57.120>where <00:02:57.295>we <00:02:57.470>use <00:02:57.645>this, <00:02:57.820>um, <00:02:57.995>applications.

54
00:03:00.755 --> 00:03:04.695
<00:03:00.755>Um, <00:03:00.910>well, <00:03:01.066>there <00:03:01.221>are <00:03:01.377>plenty <00:03:01.532>of <00:03:01.688>good <00:03:01.843>parts <00:03:01.999>of <00:03:02.155>web.

55
00:03:05.115 --> 00:03:08.975
<00:03:05.115>Um, <00:03:05.255>first <00:03:05.395>we <00:03:05.535>and <00:03:05.675>our <00:03:05.815>users, <00:03:05.955>which <00:03:06.095>is <00:03:06.235>more <00:03:06.375>important, <00:03:06.515>right?

56
00:03:09.235 --> 00:03:12.175
<00:03:09.235>Um, <00:03:09.515>have <00:03:09.795>browsers <00:03:10.075>that <00:03:10.355>are <00:03:10.635>evergreen.

57
00:03:12.325 --> 00:03:15.735
<00:03:12.325>That <00:03:12.464>means <00:03:12.605>that, <00:03:12.744>uh, <00:03:12.885>in <00:03:13.024>majority <00:03:13.165>of <00:03:13.304>scenarios <00:03:13.445>we <00:03:13.584>don't <00:03:13.725>have

58
00:03:15.735 --> 00:03:19.135
<00:03:15.735>to <00:03:16.015>care <00:03:16.295>about, <00:03:16.575>uh, <00:03:16.855>if <00:03:17.135>this

59
00:03:19.315 --> 00:03:21.455
<00:03:19.315>or <00:03:19.595>that <00:03:19.875>feature <00:03:20.155>supported <00:03:20.435>or <00:03:20.715>not.

60
00:03:21.915 --> 00:03:26.055
<00:03:21.915>Um, <00:03:22.090>we, <00:03:22.265>uh, <00:03:22.440>can <00:03:22.614>stop <00:03:22.790>worrying <00:03:22.965>about <00:03:23.140>this <00:03:23.315>right

61
00:03:26.055 --> 00:03:30.335
<00:03:26.055>after <00:03:26.288>we <00:03:26.521>properly <00:03:26.755>apply <00:03:26.988>progressive <00:03:27.221>enhancement, <00:03:27.455>um,

62
00:03:30.935 --> 00:03:34.575
<00:03:30.935>strategy <00:03:31.110>and, <00:03:31.285>uh, <00:03:31.460>feature <00:03:31.635>detection <00:03:31.810>as <00:03:31.985>a <00:03:32.160>driving <00:03:32.335>mechanism

63
00:03:34.635 --> 00:03:36.535
<00:03:34.635>of <00:03:35.101>this <00:03:35.568>strategy, <00:03:36.035>right?

64
00:03:36.595 --> 00:03:40.415
<00:03:36.595>So <00:03:36.734>we <00:03:36.875>can <00:03:37.015>always <00:03:37.155>have <00:03:37.295>core <00:03:37.435>of <00:03:37.575>our <00:03:37.715>web <00:03:37.855>application, <00:03:37.995>uh,

65
00:03:40.415 --> 00:03:41.975
<00:03:40.415>running, <00:03:40.765>uh, <00:03:41.114>on <00:03:41.465>pretty <00:03:41.815>much

66
00:03:42.795 --> 00:03:44.455
<00:03:42.795>all <00:03:43.028>the <00:03:43.261>browsers <00:03:43.495>or <00:03:43.728>at <00:03:43.961>least <00:03:44.195>majority.

67
00:03:44.995 --> 00:03:49.255
<00:03:44.995>And <00:03:45.150>then <00:03:45.306>for <00:03:45.461>some <00:03:45.617>newer <00:03:45.772>ones, <00:03:45.928>we <00:03:46.083>can <00:03:46.239>provide <00:03:46.395>this

68
00:03:49.395 --> 00:03:50.735
<00:03:49.395>or <00:03:49.998>that <00:03:50.601>enhancement.

69
00:03:50.795 --> 00:03:54.895
<00:03:50.795>And <00:03:50.950>the, <00:03:51.106>the <00:03:51.261>newer <00:03:51.417>browser, <00:03:51.572>the <00:03:51.728>better <00:03:51.883>user <00:03:52.039>experience, <00:03:52.195>um,

70
00:03:55.205 --> 00:03:59.055
<00:03:55.204>will <00:03:55.438>happen, <00:03:55.671>uh, <00:03:55.904>JavaScript <00:03:56.138>as <00:03:56.371>a <00:03:56.605>language.

71
00:03:59.645 --> 00:04:03.455
<00:03:59.645>It's, <00:03:59.800>uh, <00:03:59.956>it's <00:04:00.111>quite, <00:04:00.267>uh, <00:04:00.422>diverse <00:04:00.578>in <00:04:00.733>terms <00:04:00.889>of, <00:04:01.045>um,

72
00:04:04.405 --> 00:04:07.655
<00:04:04.405>ways <00:04:04.638>we <00:04:04.871>can, <00:04:05.105>um, <00:04:05.338>architect <00:04:05.571>our <00:04:05.805>application.

73
00:04:07.835 --> 00:04:12.375
<00:04:07.835>We <00:04:08.035>can, <00:04:08.235>uh, <00:04:08.435>apply, <00:04:08.635>let's <00:04:08.835>say <00:04:09.035>procedural <00:04:09.235>approach.

74
00:04:12.475 --> 00:04:16.055
<00:04:12.475>We <00:04:12.614>can <00:04:12.755>go <00:04:12.894>for <00:04:13.035>object <00:04:13.174>oriented, <00:04:13.315>we <00:04:13.454>can <00:04:13.595>go <00:04:13.734>for <00:04:13.875>functional.

75
00:04:16.595 --> 00:04:18.135
<00:04:16.595>All <00:04:16.872>the <00:04:17.149>possibilities <00:04:17.426>are <00:04:17.703>for <00:04:17.981>us.

76
00:04:18.475 --> 00:04:22.415
<00:04:18.475>And <00:04:18.630>maybe <00:04:18.786>this <00:04:18.941>statement <00:04:19.097>about <00:04:19.252>language <00:04:19.408>as <00:04:19.563>a <00:04:19.719>like, <00:04:19.875>um,

77
00:04:23.175 --> 00:04:25.255
<00:04:23.175>singular <00:04:23.525>is, <00:04:23.875>uh, <00:04:24.225>outdated, <00:04:24.575>right?

78
00:04:25.255 --> 00:04:27.535
<00:04:25.255>Because <00:04:25.488>now <00:04:25.721>we <00:04:25.955>have <00:04:26.188>plural <00:04:26.421>language <00:04:26.655>available

79
00:04:27.815 --> 00:04:29.135
<00:04:27.815>natively <00:04:28.409>for <00:04:29.003>web.

80
00:04:29.275 --> 00:04:32.615
<00:04:29.275>Um, <00:04:29.450>of <00:04:29.625>course, <00:04:29.799>I'm <00:04:29.974>talking <00:04:30.150>now <00:04:30.325>about <00:04:30.500>web <00:04:30.674>assembly

81
00:04:32.795 --> 00:04:34.975
<00:04:32.795>and <00:04:33.075>all <00:04:33.355>these <00:04:33.635>endless <00:04:33.915>possibilities, <00:04:34.195>uh,

82
00:04:35.255 --> 00:04:38.095
<00:04:35.255>provided <00:04:35.605>by <00:04:35.955>using <00:04:36.305>backend <00:04:36.655>language

83
00:04:38.095 --> 00:04:41.935
<00:04:38.095>or <00:04:38.270>like <00:04:38.445>normally, <00:04:38.620>um, <00:04:38.795>used <00:04:38.970>for <00:04:39.145>backend, <00:04:39.320>uh, <00:04:39.495>language

84
00:04:42.115 --> 00:04:43.455
<00:04:42.115>for <00:04:42.517>building <00:04:42.919>web <00:04:43.320>app.

85
00:04:43.795 --> 00:04:47.055
<00:04:43.795>And <00:04:43.922>of <00:04:44.049>course, <00:04:44.176>I'm <00:04:44.304>not <00:04:44.431>even <00:04:44.558>talking <00:04:44.685>about, <00:04:44.813>um, <00:04:44.940>bunch <00:04:45.067>of, <00:04:45.195>um,

86
00:04:47.055 --> 00:04:51.655
<00:04:47.055>possibilities, <00:04:47.255>language, <00:04:47.455>um, <00:04:47.655>that <00:04:47.855>can <00:04:48.055>be <00:04:48.255>transpired <00:04:48.455>to,

87
00:04:52.195 --> 00:04:55.895
<00:04:52.195>to, <00:04:52.545>to <00:04:52.895>JavaScript, <00:04:53.245>um, <00:04:53.594>where

88
00:04:56.035 --> 00:05:00.415
<00:04:56.034>to <00:04:56.174>run <00:04:56.314>our <00:04:56.455>JavaScript <00:04:56.594>code, <00:04:56.734>of <00:04:56.874>course, <00:04:57.015>in, <00:04:57.155>uh, <00:04:57.294>the <00:04:57.434>piece

89
00:05:00.435 --> 00:05:03.135
<00:05:00.435>of <00:05:00.668>the <00:05:00.901>browser, <00:05:01.135>which <00:05:01.368>is <00:05:01.601>called <00:05:01.835>JavaScript.

90
00:05:03.275 --> 00:05:04.335
<00:05:03.275>And <00:05:03.592>there <00:05:03.911>are <00:05:04.229>multiple,

91
00:05:04.675 --> 00:05:09.135
<00:05:04.675>and, <00:05:04.875>um, <00:05:05.075>all <00:05:05.275>developers <00:05:05.475>of <00:05:05.675>this <00:05:05.875>engines <00:05:06.075>are

92
00:05:10.325 --> 00:05:13.295
<00:05:10.325>putting <00:05:10.558>lots <00:05:10.791>of <00:05:11.025>efforts <00:05:11.258>into <00:05:11.491>make <00:05:11.724>them

93
00:05:13.475 --> 00:05:15.215
<00:05:13.475>as <00:05:13.941>performant <00:05:14.408>as <00:05:14.875>possible.

94
00:05:15.525 --> 00:05:18.535
<00:05:15.525>Even, <00:05:15.680>you <00:05:15.836>know, <00:05:15.991>if, <00:05:16.147>uh, <00:05:16.302>our <00:05:16.458>code <00:05:16.613>is <00:05:16.769>not <00:05:16.924>always

95
00:05:19.095 --> 00:05:21.295
<00:05:19.095>optimal <00:05:19.270>in <00:05:19.445>many <00:05:19.620>cases, <00:05:19.795>it <00:05:19.970>could <00:05:20.145>be <00:05:20.320>mitigated <00:05:20.495>just

96
00:05:21.355 --> 00:05:25.135
<00:05:21.355>by <00:05:21.482>the <00:05:21.609>fact <00:05:21.736>that, <00:05:21.864>uh, <00:05:21.991>the <00:05:22.118>engine <00:05:22.245>is <00:05:22.373>so <00:05:22.500>well <00:05:22.627>optimized <00:05:22.755>that,

97
00:05:25.355 --> 00:05:26.695
<00:05:25.355>uh, <00:05:25.656>our <00:05:25.958>users <00:05:26.259>will <00:05:26.561>not.

98
00:05:27.835 --> 00:05:31.885
<00:05:27.835>Um, <00:05:28.010>tooling, <00:05:28.185>I <00:05:28.359>already <00:05:28.534>mentioned <00:05:28.710>a <00:05:28.885>piece <00:05:29.060>of <00:05:29.234>this.

99
00:05:32.065 --> 00:05:36.525
<00:05:32.065>Uh, <00:05:32.220>for, <00:05:32.376>for <00:05:32.531>example, <00:05:32.687>when <00:05:32.842>we, <00:05:32.998>um, <00:05:33.153>transpile <00:05:33.309>other <00:05:33.465>language

100
00:05:36.785 --> 00:05:40.565
<00:05:36.784>to <00:05:36.984>the <00:05:37.184>one <00:05:37.385>understand, <00:05:37.585>understood <00:05:37.784>by <00:05:37.984>browsers <00:05:38.184>in,

101
00:05:40.785 --> 00:05:45.045
<00:05:40.784>in <00:05:40.912>background, <00:05:41.039>I, <00:05:41.166>I <00:05:41.294>mean, <00:05:41.421>we, <00:05:41.548>once <00:05:41.675>we <00:05:41.803>set <00:05:41.930>all <00:05:42.057>the <00:05:42.184>flow,

102
00:05:45.505 --> 00:05:48.405
<00:05:45.505>it <00:05:45.705>just <00:05:45.905>works <00:05:46.105>and <00:05:46.305>we <00:05:46.505>don't <00:05:46.705>care, <00:05:46.905>um,

103
00:05:48.415 --> 00:05:52.125
<00:05:48.415>about <00:05:48.615>any <00:05:48.815>other <00:05:49.015>extra <00:05:49.215>actions <00:05:49.415>level <00:05:49.615>of, <00:05:49.815>um,

104
00:05:52.755 --> 00:05:56.205
<00:05:52.755>support <00:05:52.955>from <00:05:53.155>IDs <00:05:53.355>side <00:05:53.555>the <00:05:53.755>best <00:05:53.955>in <00:05:54.155>class.

105
00:05:56.505 --> 00:06:00.885
<00:05:56.505>Uh, <00:05:56.645>this, <00:05:56.784>this <00:05:56.925>is <00:05:57.065>my, <00:05:57.205>uh, <00:05:57.344>strong <00:05:57.485>belief <00:05:57.625>for, <00:05:57.765>for <00:05:57.905>JavaScript.

106
00:06:00.905 --> 00:06:01.965
<00:06:00.905>We <00:06:01.381>have <00:06:01.859>intelligence.

107
00:06:01.985 --> 00:06:05.005
<00:06:01.985>We <00:06:02.160>have <00:06:02.335>GI <00:06:02.510>co, <00:06:02.685>uh, <00:06:02.860>GitHub <00:06:03.035>copilot <00:06:03.210>after <00:06:03.385>all.

108
00:06:05.185 --> 00:06:06.605
<00:06:05.185>But <00:06:05.440>this <00:06:05.696>is <00:06:05.951>really <00:06:06.207>cool <00:06:06.463>thing.

109
00:06:06.625 --> 00:06:08.405
<00:06:06.625>Uh, <00:06:06.905>please, <00:06:07.185>um, <00:06:07.465>check <00:06:07.745>this <00:06:08.025>out.

110
00:06:08.825 --> 00:06:11.205
<00:06:08.825>Um, <00:06:09.025>yeah, <00:06:09.224>so <00:06:09.425>we <00:06:09.625>cannot <00:06:09.825>complain <00:06:10.025>on <00:06:10.224>state

111
00:06:11.205 --> 00:06:13.445
<00:06:11.205>of <00:06:11.438>tooling <00:06:11.671>in <00:06:11.905>very <00:06:12.138>broad, <00:06:12.371>uh, <00:06:12.604>understanding.

112
00:06:13.545 --> 00:06:18.085
<00:06:13.545>Of <00:06:13.685>course. <00:06:13.825>And, <00:06:13.965>uh, <00:06:14.105>after <00:06:14.245>all <00:06:14.385>folks, <00:06:14.525>we <00:06:14.665>are <00:06:14.805>few <00:06:14.945>millions

113
00:06:18.085 --> 00:06:20.805
<00:06:18.085>or <00:06:18.260>maybe, <00:06:18.435>uh, <00:06:18.609>uh, <00:06:18.784>10 <00:06:18.960>plus <00:06:19.135>million <00:06:19.310>developers <00:06:19.484>who

114
00:06:21.495 --> 00:06:22.925
<00:06:21.495>built <00:06:22.138>on <00:06:22.782>JavaScript.

115
00:06:22.955 --> 00:06:25.485
<00:06:22.955>That <00:06:23.234>means <00:06:23.515>that <00:06:23.794>we, <00:06:24.075>um, <00:06:24.354>can

116
00:06:26.645 --> 00:06:29.215
<00:06:26.645>find <00:06:26.820>pretty <00:06:26.995>much <00:06:27.169>everything <00:06:27.344>we <00:06:27.520>can <00:06:27.695>ever <00:06:27.870>dream <00:06:28.044>about

117
00:06:29.365 --> 00:06:34.055
<00:06:29.365>framework, <00:06:29.598>welcome <00:06:29.831>library <00:06:30.065>to, <00:06:30.298>uh, <00:06:30.531>complete <00:06:30.765>some,

118
00:06:34.395 --> 00:06:38.095
<00:06:34.395>uh, <00:06:34.550>tasks <00:06:34.706>for, <00:06:34.861>for, <00:06:35.017>for <00:06:35.172>our <00:06:35.328>application, <00:06:35.483>of <00:06:35.639>course, <00:06:35.794>uh,

119
00:06:38.355 --> 00:06:42.055
<00:06:38.355>any <00:06:38.510>kind <00:06:38.666>of, <00:06:38.821>um, <00:06:38.977>QI <00:06:39.132>library <00:06:39.288>or <00:06:39.443>whatever, <00:06:39.599>or <00:06:39.755>question

120
00:06:42.075 --> 00:06:46.015
<00:06:42.075>or <00:06:42.230>answer <00:06:42.386>on <00:06:42.541>your <00:06:42.697>question <00:06:42.852>or <00:06:43.008>solving <00:06:43.163>some, <00:06:43.319>some <00:06:43.474>issue.

121
00:06:46.115 --> 00:06:48.815
<00:06:46.115>You <00:06:46.242>just <00:06:46.369>have <00:06:46.496>to <00:06:46.624>know <00:06:46.751>the <00:06:46.878>places <00:06:47.005>where <00:06:47.133>you <00:06:47.260>can <00:06:47.387>get, <00:06:47.515>um,

122
00:06:49.545 --> 00:06:51.135
<00:06:49.545>tools, <00:06:50.945>support

123
00:06:51.635 --> 00:06:54.775
<00:06:51.635>and <00:06:51.868>just <00:06:52.101>have <00:06:52.335>fun <00:06:52.568>from <00:06:52.801>building <00:06:53.034>applications

124
00:06:54.835 --> 00:06:56.255
<00:06:54.835>for <00:06:55.260>web <00:06:55.687>as <00:06:56.113>platform.

125
00:06:57.085 --> 00:07:00.255
<00:06:57.085>That <00:06:57.551>sounds <00:06:58.018>really <00:06:58.484>positive,

126
00:07:00.635 --> 00:07:03.775
<00:07:00.635>and, <00:07:00.835>uh, <00:07:01.034>there <00:07:01.235>are <00:07:01.435>lots <00:07:01.635>of <00:07:01.835>advantage, <00:07:02.034>right?

127
00:07:03.795 --> 00:07:06.495
<00:07:03.795>But <00:07:04.028>of <00:07:04.261>course, <00:07:04.495>there <00:07:04.728>are <00:07:04.961>some <00:07:05.195>disadvantage.

128
00:07:06.755 --> 00:07:09.935
<00:07:06.755>And, <00:07:06.895>um, <00:07:07.034>I <00:07:07.175>just, <00:07:07.315>uh, <00:07:07.455>want <00:07:07.594>to <00:07:07.735>list <00:07:07.875>two <00:07:08.015>of <00:07:08.155>them.

129
00:07:11.575 --> 00:07:15.415
<00:07:11.575>Historically, <00:07:11.750>web <00:07:11.925>as <00:07:12.099>a <00:07:12.275>platform <00:07:12.450>really <00:07:12.625>depends <00:07:12.800>on, <00:07:12.974>uh,

130
00:07:15.425 --> 00:07:18.655
<00:07:15.425>connection <00:07:15.705>status <00:07:15.985>and, <00:07:16.265>uh, <00:07:16.545>even, <00:07:16.825>uh,

131
00:07:18.825 --> 00:07:23.375
<00:07:18.825>after <00:07:19.025>users <00:07:19.224>open <00:07:19.425>some, <00:07:19.625>some <00:07:19.825>euro, <00:07:20.025>if <00:07:20.224>even

132
00:07:23.375 --> 00:07:27.855
<00:07:23.375>after <00:07:23.502>we <00:07:23.629>know <00:07:23.756>that, <00:07:23.884>uh, <00:07:24.011>it <00:07:24.138>might <00:07:24.265>be <00:07:24.393>in <00:07:24.520>HTP <00:07:24.647>cache, <00:07:24.775>uh,

133
00:07:27.915 --> 00:07:30.815
<00:07:27.915>for <00:07:28.115>example, <00:07:28.315>all <00:07:28.515>this <00:07:28.715>resources <00:07:28.915>they <00:07:29.115>downloaded, <00:07:29.315>um,

134
00:07:30.885 --> 00:07:32.935
<00:07:30.885>next <00:07:31.235>time <00:07:31.585>they <00:07:31.935>hit <00:07:32.284>refresh.

135
00:07:33.155 --> 00:07:34.735
<00:07:33.155>And, <00:07:33.388>uh, <00:07:33.621>if <00:07:33.854>there <00:07:34.088>is <00:07:34.321>no <00:07:34.554>connection,

136
00:07:34.765 --> 00:07:38.055
<00:07:34.765>most <00:07:34.905>likely <00:07:35.044>they <00:07:35.185>will <00:07:35.325>see <00:07:35.465>offline <00:07:35.604>dyno <00:07:35.745>or <00:07:35.885>server <00:07:36.025>not <00:07:36.164>found,

137
00:07:38.155 --> 00:07:41.095
<00:07:38.155>or <00:07:38.310>some <00:07:38.466>or <00:07:38.621>network <00:07:38.777>not <00:07:38.932>found <00:07:39.088>or <00:07:39.243>something <00:07:39.399>like <00:07:39.554>this.

138
00:07:41.435 --> 00:07:46.295
<00:07:41.435>Um, <00:07:41.562>so, <00:07:41.689>uh, <00:07:41.816>now <00:07:41.944>luckily <00:07:42.071>we <00:07:42.198>have <00:07:42.325>all <00:07:42.453>proper <00:07:42.580>tools <00:07:42.707>for <00:07:42.835>us

139
00:07:46.555 --> 00:07:50.935
<00:07:46.555>as <00:07:46.788>developers <00:07:47.021>to <00:07:47.255>mitigate <00:07:47.488>these, <00:07:47.721>uh, <00:07:47.955>consequences

140
00:07:51.075 --> 00:07:55.335
<00:07:51.075>to <00:07:51.308>really <00:07:51.541>detach <00:07:51.775>our <00:07:52.008>application <00:07:52.241>from, <00:07:52.474>um,

141
00:07:56.285 --> 00:08:00.175
<00:07:56.284>this, <00:07:56.460>um, <00:07:56.635>dependency <00:07:56.809>on, <00:07:56.984>uh, <00:07:57.159>always <00:07:57.335>being <00:07:57.510>connected <00:07:57.684>to

142
00:08:00.695 --> 00:08:02.215
<00:08:00.695>internet, <00:08:00.923>of <00:08:01.151>course, <00:08:01.378>uh, <00:08:01.607>in <00:08:01.835>that <00:08:02.063>sense,

143
00:08:02.275 --> 00:08:04.615
<00:08:02.275>I'm <00:08:02.554>talking <00:08:02.835>about <00:08:03.114>service <00:08:03.395>worker, <00:08:03.674>API,

144
00:08:04.675 --> 00:08:07.175
<00:08:04.675>and, <00:08:05.141>uh, <00:08:05.608>satellite <00:08:06.075>APIs.

145
00:08:07.475 --> 00:08:08.935
<00:08:07.475>Now, <00:08:07.803>we <00:08:08.132>definitely <00:08:08.460>can, <00:08:08.789>uh,

146
00:08:09.625 --> 00:08:13.575
<00:08:09.625>build <00:08:09.825>fully <00:08:10.025>offline <00:08:10.225>ready <00:08:10.425>offline, <00:08:10.625>first <00:08:10.825>offline, <00:08:11.025>uh,

147
00:08:13.815 --> 00:08:15.655
<00:08:13.815>friendly <00:08:14.165>applications <00:08:14.515>where <00:08:14.865>we <00:08:15.215>maintain

148
00:08:16.455 --> 00:08:19.775
<00:08:16.455>granular <00:08:16.734>control <00:08:17.015>on <00:08:17.294>every <00:08:17.575>single <00:08:17.854>resource,

149
00:08:19.905 --> 00:08:22.055
<00:08:19.905>every <00:08:20.138>single <00:08:20.371>asset <00:08:20.604>that <00:08:20.838>was <00:08:21.071>ever <00:08:21.304>downloaded.

150
00:08:22.115 --> 00:08:26.175
<00:08:22.115>So <00:08:22.270>we <00:08:22.426>have, <00:08:22.581>um, <00:08:22.737>um, <00:08:22.892>full <00:08:23.048>control <00:08:23.203>with <00:08:23.359>using <00:08:23.515>source,

151
00:08:26.175 --> 00:08:27.535
<00:08:26.175>source <00:08:26.787>api, <00:08:27.399>CAPI,

152
00:08:27.595 --> 00:08:31.775
<00:08:27.595>and, <00:08:27.795>um, <00:08:27.995>uh, <00:08:28.195>similar <00:08:28.395>APIs <00:08:28.595>from <00:08:28.795>this <00:08:28.995>family.

153
00:08:32.395 --> 00:08:36.495
<00:08:32.395>But <00:08:32.595>for <00:08:32.794>today's <00:08:32.995>session, <00:08:33.194>I <00:08:33.395>want <00:08:33.595>to, <00:08:33.794>uh,

154
00:08:36.505 --> 00:08:39.015
<00:08:36.505>raise <00:08:36.855>another, <00:08:37.205>let's <00:08:37.554>say <00:08:37.905>disadvantage.

155
00:08:39.355 --> 00:08:40.575
<00:08:39.355>Uh, <00:08:39.721>that <00:08:40.087>web <00:08:40.453>had

156
00:08:40.575 --> 00:08:44.335
<00:08:40.575>before <00:08:40.808>is, <00:08:41.041>um, <00:08:41.275>it's <00:08:41.508>another <00:08:41.741>dependency, <00:08:41.975>uh,

157
00:08:44.335 --> 00:08:47.815
<00:08:44.335>dependency <00:08:44.568>on <00:08:44.801>being <00:08:45.035>always <00:08:45.268>being <00:08:45.501>within <00:08:45.735>browser.

158
00:08:48.115 --> 00:08:51.535
<00:08:48.115>If <00:08:48.315>we <00:08:48.515>talk <00:08:48.715>about <00:08:48.915>web, <00:08:49.115>uh, <00:08:49.315>web <00:08:49.515>application,

159
00:08:51.915 --> 00:08:54.775
<00:08:51.915>and, <00:08:52.070>uh, <00:08:52.226>by <00:08:52.381>saying, <00:08:52.537>by <00:08:52.692>the <00:08:52.848>way, <00:08:53.003>web <00:08:53.159>application, <00:08:53.314>I,

160
00:08:55.040 --> 00:08:58.605
<00:08:55.040>I <00:08:55.195>mean <00:08:55.351>pretty <00:08:55.506>much <00:08:55.662>everything, <00:08:55.817>web <00:08:55.973>page, <00:08:56.128>web <00:08:56.284>website, <00:08:56.439>web,

161
00:08:58.745 --> 00:09:00.605
<00:08:58.745>uh, <00:08:58.978>project, <00:08:59.211>web <00:08:59.445>solution, <00:08:59.678>you <00:08:59.911>name <00:09:00.145>it.

162
00:09:01.035 --> 00:09:04.085
<00:09:01.035>Just <00:09:01.209>nowadays, <00:09:01.385>it's, <00:09:01.560>um, <00:09:01.735>common <00:09:01.910>to <00:09:02.084>call <00:09:02.260>every <00:09:02.435>single,

163
00:09:04.085 --> 00:09:05.205
<00:09:04.085>it's <00:09:04.421>a <00:09:04.757>web <00:09:05.093>application.

164
00:09:05.225 --> 00:09:08.165
<00:09:05.225>So <00:09:05.400>we <00:09:05.575>have <00:09:05.750>this <00:09:05.925>kind <00:09:06.100>of <00:09:06.275>app <00:09:06.450>thinking, <00:09:06.625>um,

165
00:09:08.425 --> 00:09:12.765
<00:09:08.425>and, <00:09:08.599>um, <00:09:08.775>well, <00:09:08.949>this <00:09:09.125>is <00:09:09.300>exactly <00:09:09.474>how <00:09:09.650>idea <00:09:09.824>called

166
00:09:13.365 --> 00:09:18.045
<00:09:13.365>Progressive <00:09:13.598>Web <00:09:13.831>application <00:09:14.065>started <00:09:14.298>more <00:09:14.531>than, <00:09:14.765>uh,

167
00:09:18.665 --> 00:09:20.285
<00:09:18.665>say <00:09:19.131>six <00:09:19.598>years <00:09:20.064>ago.

168
00:09:20.415 --> 00:09:24.045
<00:09:20.415>There <00:09:20.570>was <00:09:20.726>a <00:09:20.881>blog <00:09:21.037>post <00:09:21.192>from, <00:09:21.348>um, <00:09:21.503>Alex <00:09:21.659>Russell <00:09:21.814>who

169
00:09:24.725 --> 00:09:28.685
<00:09:24.725>actually <00:09:24.900>not, <00:09:25.075>didn't <00:09:25.250>invent <00:09:25.425>all <00:09:25.600>like <00:09:25.775>completely <00:09:25.950>new <00:09:26.125>APIs,

170
00:09:28.685 --> 00:09:29.965
<00:09:28.685>completely <00:09:29.261>new <00:09:29.837>specifications.

171
00:09:30.265 --> 00:09:33.645
<00:09:30.265>He <00:09:30.465>just <00:09:30.665>merged, <00:09:30.865>uh, <00:09:31.064>what <00:09:31.265>we <00:09:31.465>had <00:09:31.665>by,

172
00:09:33.865 --> 00:09:37.165
<00:09:33.865>by <00:09:34.065>those <00:09:34.265>years <00:09:34.465>together <00:09:34.665>in <00:09:34.865>one <00:09:35.065>very <00:09:35.265>strong,

173
00:09:37.375 --> 00:09:40.565
<00:09:37.375>let's <00:09:37.608>say <00:09:37.841>selling <00:09:38.075>point <00:09:38.308>called <00:09:38.541>progressive <00:09:38.775>application.

174
00:09:40.825 --> 00:09:44.405
<00:09:40.825>And <00:09:41.000>it <00:09:41.175>started <00:09:41.350>all, <00:09:41.525>all <00:09:41.700>discussions <00:09:41.875>started <00:09:42.050>like <00:09:42.225>how

175
00:09:44.465 --> 00:09:46.125
<00:09:44.465>to <00:09:44.815>get <00:09:45.165>rid <00:09:45.515>of, <00:09:45.865>um,

176
00:09:46.255 --> 00:09:50.125
<00:09:46.255>dependency <00:09:46.455>on <00:09:46.655>being <00:09:46.855>always <00:09:47.055>in <00:09:47.255>browser <00:09:47.455>context, <00:09:47.655>how

177
00:09:50.125 --> 00:09:51.525
<00:09:50.125>to <00:09:50.545>start <00:09:50.965>thinking <00:09:51.385>about

178
00:09:51.595 --> 00:09:53.485
<00:09:51.595>what <00:09:51.875>we <00:09:52.155>built <00:09:52.435>using <00:09:52.715>web <00:09:52.995>technologies.

179
00:09:53.665 --> 00:09:55.445
<00:09:53.665>That's <00:09:54.365>about <00:09:55.064>applications.

180
00:09:56.185 --> 00:10:00.015
<00:09:56.185>Um, <00:09:56.464>fast <00:09:56.744>forward <00:09:57.025>to <00:09:57.305>our <00:09:57.584>days,

181
00:10:00.355 --> 00:10:05.085
<00:10:00.355>and, <00:10:00.588>uh, <00:10:00.821>in <00:10:01.055>a <00:10:01.288>recently <00:10:01.521>released <00:10:01.755>version,

182
00:10:05.305 --> 00:10:08.685
<00:10:05.305>uh, <00:10:05.479>PW <00:10:05.655>chapter <00:10:05.829>of, <00:10:06.005>um, <00:10:06.180>web <00:10:06.354>Almanac <00:10:06.530>driven <00:10:06.704>by

183
00:10:09.245 --> 00:10:11.285
<00:10:09.245>organization <00:10:09.711>called <00:10:10.178>HPM <00:10:10.645>Archive,

184
00:10:12.065 --> 00:10:16.925
<00:10:12.065>you <00:10:12.220>will <00:10:12.376>find <00:10:12.531>following <00:10:12.687>numbers, <00:10:12.842>more <00:10:12.998>than <00:10:13.153>3% <00:10:13.309>of, <00:10:13.465>uh,

185
00:10:17.825 --> 00:10:20.685
<00:10:17.825>web <00:10:18.058>origins <00:10:18.291>web, <00:10:18.525>um, <00:10:18.758>addresses <00:10:18.991>are <00:10:19.225>controlled

186
00:10:20.685 --> 00:10:22.325
<00:10:20.685>by <00:10:21.035>service <00:10:21.385>workers <00:10:21.734>these <00:10:22.084>days.

187
00:10:22.425 --> 00:10:25.845
<00:10:22.425>And, <00:10:22.580>um, <00:10:22.736>yeah, <00:10:22.891>the <00:10:23.047>fact <00:10:23.202>that <00:10:23.358>page <00:10:23.513>is <00:10:23.669>under <00:10:23.824>control

188
00:10:25.845 --> 00:10:27.445
<00:10:25.845>of <00:10:26.311>service <00:10:26.778>worker, <00:10:27.245>um,

189
00:10:28.275 --> 00:10:32.885
<00:10:28.275>most <00:10:28.415>likely <00:10:28.555>it <00:10:28.694>has <00:10:28.834>some <00:10:28.975>nice <00:10:29.115>features <00:10:29.255>from, <00:10:29.395>uh, <00:10:29.535>PW <00:10:29.675>family,

190
00:10:32.945 --> 00:10:35.765
<00:10:32.945>either <00:10:33.225>offline <00:10:33.505>readiness <00:10:33.785>or <00:10:34.065>install <00:10:34.345>ability,

191
00:10:35.985 --> 00:10:37.485
<00:10:35.985>or <00:10:36.660>hopefully <00:10:37.335>both.

192
00:10:37.985 --> 00:10:42.245
<00:10:37.985>And <00:10:38.185>this <00:10:38.385>3% <00:10:38.585>serves <00:10:38.785>actually <00:10:38.985>almost <00:10:39.185>one <00:10:39.385>fifth

193
00:10:42.385 --> 00:10:43.645
<00:10:42.385>of <00:10:42.952>world <00:10:43.519>traffic.

194
00:10:44.065 --> 00:10:48.565
<00:10:44.065>Of <00:10:44.240>course, <00:10:44.415>here <00:10:44.590>we <00:10:44.765>say <00:10:44.940>about, <00:10:45.115>um, <00:10:45.290>particular <00:10:45.465>sample

195
00:10:48.785 --> 00:10:53.325
<00:10:48.785>of <00:10:48.925>euros, <00:10:49.064>and <00:10:49.204>I <00:10:49.344>believe <00:10:49.485>it's <00:10:49.625>around <00:10:49.765>7 <00:10:49.905>million <00:10:50.045>address <00:10:50.185>scan,

196
00:10:53.505 --> 00:10:56.845
<00:10:53.505>but <00:10:53.680>it's <00:10:53.855>quite <00:10:54.030>representative <00:10:54.205>part <00:10:54.380>of, <00:10:54.555>uh, <00:10:54.730>of <00:10:54.905>internet.

197
00:10:56.865 --> 00:11:01.325
<00:10:56.865>So <00:10:57.020>we <00:10:57.176>have, <00:10:57.331>um, <00:10:57.487>kind <00:10:57.642>of <00:10:57.798>safely <00:10:57.953>in <00:10:58.109>extrapolated <00:10:58.265>to,

198
00:11:01.745 --> 00:11:02.925
<00:11:01.745>um, <00:11:02.807>worldwide.

199
00:11:03.945 --> 00:11:05.805
<00:11:03.945>Sounds <00:11:04.411>really <00:11:04.878>interesting, <00:11:05.345>right?

200
00:11:06.145 --> 00:11:09.685
<00:11:06.145>And <00:11:06.300>if <00:11:06.456>we <00:11:06.611>dive <00:11:06.767>deeper <00:11:06.922>into <00:11:07.078>metric <00:11:07.233>about <00:11:07.389>install <00:11:07.545>ability,

201
00:11:09.745 --> 00:11:12.125
<00:11:09.745>and <00:11:09.920>this <00:11:10.095>is <00:11:10.270>our <00:11:10.445>core <00:11:10.620>topic <00:11:10.795>for <00:11:10.970>today's <00:11:11.145>session,

202
00:11:12.415 --> 00:11:15.805
<00:11:12.415>where <00:11:12.648>we <00:11:12.881>can <00:11:13.115>estimate, <00:11:13.348>uh, <00:11:13.581>round <00:11:13.814>one

203
00:11:16.545 --> 00:11:19.565
<00:11:16.545>and <00:11:16.824>half <00:11:17.104>million <00:11:17.385>addresses <00:11:17.665>as, <00:11:17.944>um,

204
00:11:20.435 --> 00:11:24.645
<00:11:20.435>installable <00:11:20.714>experience <00:11:20.994>as, <00:11:21.275>um, <00:11:21.555>web <00:11:21.834>site

205
00:11:24.715 --> 00:11:27.805
<00:11:24.715>that <00:11:24.948>you <00:11:25.181>can <00:11:25.415>install <00:11:25.648>on <00:11:25.881>your <00:11:26.115>device.

206
00:11:28.585 --> 00:11:32.685
<00:11:28.585>If <00:11:28.760>we <00:11:28.935>dive <00:11:29.110>a <00:11:29.285>bit, <00:11:29.460>um, <00:11:29.635>deeper <00:11:29.810>into <00:11:29.985>the

207
00:11:33.205 --> 00:11:36.125
<00:11:33.205>internal <00:11:33.485>comparison <00:11:33.765>of, <00:11:34.045>uh, <00:11:34.325>native <00:11:34.605>applications

208
00:11:36.265 --> 00:11:40.525
<00:11:36.265>and <00:11:36.420>web <00:11:36.576>applications, <00:11:36.731>we <00:11:36.887>can <00:11:37.042>build <00:11:37.198>this <00:11:37.353>kind <00:11:37.509>of <00:11:37.665>diagram

209
00:11:40.905 --> 00:11:42.685
<00:11:40.905>and, <00:11:41.371>um, <00:11:41.838>of <00:11:42.305>course,

210
00:11:43.025 --> 00:11:46.645
<00:11:43.025>by <00:11:43.258>nativeness <00:11:43.491>native <00:11:43.725>obligations <00:11:43.958>are <00:11:44.191>better, <00:11:44.425>right?

211
00:11:46.745 --> 00:11:49.525
<00:11:46.745>And <00:11:46.920>the, <00:11:47.095>what <00:11:47.270>do <00:11:47.445>I <00:11:47.620>mean <00:11:47.795>exactly <00:11:47.970>by <00:11:48.145>nativeness?

212
00:11:49.555 --> 00:11:52.925
<00:11:49.555>This <00:11:49.788>is <00:11:50.021>number <00:11:50.255>and <00:11:50.488>the, <00:11:50.721>say, <00:11:50.954>depth

213
00:11:53.185 --> 00:11:57.165
<00:11:53.185>or <00:11:53.385>quality <00:11:53.584>of <00:11:53.785>all <00:11:53.984>these <00:11:54.185>small <00:11:54.385>integration <00:11:54.584>points

214
00:11:57.165 --> 00:11:59.085
<00:11:57.165>between <00:11:57.631>application <00:11:58.098>and, <00:11:58.564>um,

215
00:11:59.385 --> 00:12:03.645
<00:11:59.385>and <00:11:59.618>its <00:11:59.851>surrounding, <00:12:00.085>uh, <00:12:00.318>operating <00:12:00.551>system, <00:12:00.785>uh,

216
00:12:04.285 --> 00:12:06.085
<00:12:04.285>hardware, <00:12:04.751>like <00:12:05.218>literally <00:12:05.685>everything.

217
00:12:06.355 --> 00:12:09.805
<00:12:06.355>What, <00:12:06.530>what, <00:12:06.705>uh, <00:12:06.880>uh, <00:12:07.055>what's, <00:12:07.230>um, <00:12:07.405>builds <00:12:07.580>this <00:12:07.755>environment

218
00:12:10.225 --> 00:12:14.525
<00:12:10.225>and, <00:12:10.365>uh, <00:12:10.505>in <00:12:10.645>case <00:12:10.785>of <00:12:10.925>web, <00:12:11.065>yeah, <00:12:11.205>it's, <00:12:11.345>uh, <00:12:11.485>unparalleled <00:12:11.625>reach.

219
00:12:15.625 --> 00:12:19.405
<00:12:15.625>You <00:12:15.858>cannot <00:12:16.091>compete <00:12:16.325>with, <00:12:16.558>um, <00:12:16.791>linkability <00:12:17.025>openness,

220
00:12:19.845 --> 00:12:24.365
<00:12:19.845>discoverability <00:12:20.078>of <00:12:20.311>website <00:12:20.545>with, <00:12:20.778>um, <00:12:21.011>like, <00:12:21.245>yeah,

221
00:12:26.465 --> 00:12:31.125
<00:12:26.465>if <00:12:26.698>you <00:12:26.931>use <00:12:27.165>some, <00:12:27.398>um, <00:12:27.631>application <00:12:27.865>stores

222
00:12:31.425 --> 00:12:34.845
<00:12:31.425>or <00:12:31.599>some <00:12:31.775>other <00:12:31.949>ways <00:12:32.125>to, <00:12:32.300>to <00:12:32.474>distribute <00:12:32.650>your <00:12:32.824>applications,

223
00:12:35.105 --> 00:12:37.325
<00:12:35.105>it <00:12:35.455>always <00:12:35.805>will, <00:12:36.155>um, <00:12:36.505>lose

224
00:12:38.745 --> 00:12:40.365
<00:12:38.745>web <00:12:39.095>in <00:12:39.445>by <00:12:39.795>its <00:12:40.145>reach.

225
00:12:40.745 --> 00:12:44.245
<00:12:40.745>Um, <00:12:40.920>and <00:12:41.095>yeah, <00:12:41.270>not <00:12:41.445>a <00:12:41.620>secret <00:12:41.795>that <00:12:41.970>PWA <00:12:42.145>tries

226
00:12:44.385 --> 00:12:49.325
<00:12:44.385>to <00:12:44.540>grab <00:12:44.696>Bo <00:12:44.851>best <00:12:45.007>from <00:12:45.162>these <00:12:45.318>two <00:12:45.473>worlds <00:12:45.629>best <00:12:45.785>parts

227
00:12:49.355 --> 00:12:52.925
<00:12:49.355>from <00:12:49.555>native <00:12:49.755>and <00:12:49.955>best <00:12:50.155>parts <00:12:50.355>from <00:12:50.555>web <00:12:50.755>applications.

228
00:12:53.355 --> 00:12:55.205
<00:12:53.355>Good. <00:12:53.588>Now <00:12:53.821>we <00:12:54.055>have <00:12:54.288>all <00:12:54.521>the <00:12:54.755>context.

229
00:12:55.775 --> 00:12:59.005
<00:12:55.775>Let's, <00:12:56.125>um, <00:12:56.475>list <00:12:56.824>this, <00:12:57.175>um,

230
00:13:00.225 --> 00:13:03.675
<00:13:00.225>interaction <00:13:00.380>or <00:13:00.536>like <00:13:00.691>integration <00:13:00.847>in <00:13:01.002>a <00:13:01.158>better <00:13:01.313>word, <00:13:01.469>points <00:13:01.625>of,

231
00:13:03.815 --> 00:13:07.675
<00:13:03.815>uh, <00:13:04.048>between <00:13:04.281>application <00:13:04.515>and, <00:13:04.748>uh, <00:13:04.981>its <00:13:05.215>environment,

232
00:13:07.735 --> 00:13:11.475
<00:13:07.735>and <00:13:07.935>then <00:13:08.135>just <00:13:08.335>map <00:13:08.535>to <00:13:08.735>existing <00:13:08.935>web <00:13:09.135>APIs.

233
00:13:11.615 --> 00:13:16.155
<00:13:11.615>So <00:13:11.770>you <00:13:11.926>always <00:13:12.081>keep <00:13:12.237>in <00:13:12.392>mind <00:13:12.548>what's <00:13:12.703>available, <00:13:12.859>what's <00:13:13.015>coming,

234
00:13:16.495 --> 00:13:20.355
<00:13:16.495>uh, <00:13:16.670>how <00:13:16.845>to <00:13:17.020>get <00:13:17.195>ready <00:13:17.370>for <00:13:17.545>building <00:13:17.720>cool <00:13:17.895>applications

235
00:13:20.415 --> 00:13:21.675
<00:13:20.415>or <00:13:20.641>not, <00:13:20.868>not <00:13:21.095>just <00:13:21.322>get <00:13:21.549>ready,

236
00:13:21.695 --> 00:13:26.475
<00:13:21.695>but <00:13:21.870>some <00:13:22.045>pieces <00:13:22.220>are <00:13:22.395>already <00:13:22.570>available, <00:13:22.745>so <00:13:22.920>increase <00:13:23.095>quality

237
00:13:26.655 --> 00:13:27.715
<00:13:26.655>of <00:13:26.973>your <00:13:27.291>web <00:13:27.609>apps.

238
00:13:28.295 --> 00:13:32.795
<00:13:28.295>Um, <00:13:28.469>I <00:13:28.645>grouped <00:13:28.819>all <00:13:28.995>these <00:13:29.170>points <00:13:29.344>I <00:13:29.520>found <00:13:29.694>into

239
00:13:32.975 --> 00:13:34.075
<00:13:32.975>few <00:13:33.965>categories.

240
00:13:34.845 --> 00:13:38.155
<00:13:34.845>First, <00:13:35.000>it <00:13:35.156>all <00:13:35.311>starts <00:13:35.467>with, <00:13:35.622>um, <00:13:35.778>the <00:13:35.933>way <00:13:36.089>we <00:13:36.245>install

241
00:13:38.255 --> 00:13:39.755
<00:13:38.255>and <00:13:38.930>run <00:13:39.605>application.

242
00:13:40.345 --> 00:13:43.795
<00:13:40.345>Then, <00:13:40.578>um, <00:13:40.811>application <00:13:41.045>has <00:13:41.278>some, <00:13:41.511>some, <00:13:41.745>uh,

243
00:13:43.955 --> 00:13:48.315
<00:13:43.955>let's <00:13:44.155>say <00:13:44.355>place <00:13:44.555>on, <00:13:44.755>um, <00:13:44.955>the <00:13:45.155>user <00:13:45.355>screen,

244
00:13:48.335 --> 00:13:49.755
<00:13:48.335>on <00:13:48.761>user <00:13:49.187>device <00:13:49.613>screen.

245
00:13:49.895 --> 00:13:54.035
<00:13:49.895>And, <00:13:50.050>um, <00:13:50.206>I <00:13:50.361>just <00:13:50.517>called <00:13:50.672>this <00:13:50.828>category <00:13:50.983>window, <00:13:51.139>how <00:13:51.295>exactly,

246
00:13:54.535 --> 00:13:58.635
<00:13:54.535>um, <00:13:54.709>your, <00:13:54.885>um, <00:13:55.060>application <00:13:55.235>is, <00:13:55.410>um, <00:13:55.584>let's <00:13:55.760>say <00:13:55.935>playing

247
00:13:58.665 --> 00:14:00.675
<00:13:58.665>with <00:13:59.015>the <00:13:59.365>environment <00:13:59.714>UI <00:14:00.064>wise.

248
00:14:01.305 --> 00:14:06.275
<00:14:01.305>Then <00:14:01.444>we <00:14:01.584>want <00:14:01.724>to <00:14:01.864>reach <00:14:02.005>out <00:14:02.145>to <00:14:02.285>some <00:14:02.425>features <00:14:02.564>of, <00:14:02.704>um,

249
00:14:06.425 --> 00:14:08.995
<00:14:06.425>operating <00:14:06.775>system <00:14:07.125>from <00:14:07.474>our <00:14:07.824>application.

250
00:14:08.995 --> 00:14:11.155
<00:14:08.995>This <00:14:09.228>is <00:14:09.461>what <00:14:09.695>I <00:14:09.928>call <00:14:10.161>outbound <00:14:10.395>integrations.

251
00:14:11.655 --> 00:14:16.355
<00:14:11.655>And <00:14:11.829>also <00:14:12.005>operating <00:14:12.180>system <00:14:12.355>can <00:14:12.530>also <00:14:12.704>invoke <00:14:12.880>some <00:14:13.055>features

252
00:14:16.465 --> 00:14:19.355
<00:14:16.465>from <00:14:16.665>our <00:14:16.865>application, <00:14:17.065>uh, <00:14:17.265>like <00:14:17.465>start <00:14:17.665>application, <00:14:17.865>maybe

253
00:14:19.935 --> 00:14:21.675
<00:14:19.935>use <00:14:20.401>some <00:14:20.868>extra <00:14:21.334>features.

254
00:14:21.755 --> 00:14:25.315
<00:14:21.755>This <00:14:21.955>is <00:14:22.155>what, <00:14:22.355>um, <00:14:22.555>in <00:14:22.755>inbound <00:14:22.955>integrations <00:14:23.155>group.

255
00:14:26.055 --> 00:14:29.075
<00:14:26.055>And <00:14:26.255>then <00:14:26.454>we'll <00:14:26.655>really <00:14:26.854>briefly <00:14:27.055>go <00:14:27.255>through <00:14:27.454>notifications.

256
00:14:29.185 --> 00:14:34.015
<00:14:29.185>This <00:14:29.340>is <00:14:29.496>also <00:14:29.651>very <00:14:29.807>important <00:14:29.962>part <00:14:30.118>of, <00:14:30.273>uh, <00:14:30.429>this <00:14:30.584>connection.

257
00:14:34.035 --> 00:14:36.695
<00:14:34.035>And <00:14:34.235>of <00:14:34.435>course, <00:14:34.635>here <00:14:34.834>I, <00:14:35.035>uh, <00:14:35.235>exclusively <00:14:35.435>mention

258
00:14:38.035 --> 00:14:39.335
<00:14:38.035>native <00:14:39.205>notifications.

259
00:14:39.455 --> 00:14:43.015
<00:14:39.455>I <00:14:39.555>mean, <00:14:39.655>not <00:14:39.755>the <00:14:39.855>ones <00:14:39.955>we <00:14:40.055>built <00:14:40.155>as <00:14:40.255>a <00:14:40.355>part <00:14:40.455>of <00:14:40.555>UI <00:14:40.655>of <00:14:40.755>our <00:14:40.855>app,

260
00:14:43.235 --> 00:14:46.695
<00:14:43.235>but <00:14:43.390>the <00:14:43.546>ones <00:14:43.701>exposed <00:14:43.857>by <00:14:44.012>operating <00:14:44.168>system <00:14:44.323>itself, <00:14:44.479>of <00:14:44.635>course,

261
00:14:46.995 --> 00:14:48.135
<00:14:46.995>via <00:14:47.508>our <00:14:48.021>application.

262
00:14:48.555 --> 00:14:51.340
<00:14:48.555>And, <00:14:48.729>uh, <00:14:48.905>well, <00:14:49.079>it's, <00:14:49.255>uh, <00:14:49.430>impossible <00:14:49.604>to <00:14:49.780>build <00:14:49.954>more

263
00:14:51.340 --> 00:14:54.485
<00:14:51.340>or <00:14:51.515>less <00:14:51.690>complex <00:14:51.865>application <00:14:52.040>these <00:14:52.215>days <00:14:52.390>without <00:14:52.565>having <00:14:52.740>some

264
00:14:54.535 --> 00:14:58.325
<00:14:54.535>tasks, <00:14:54.690>um, <00:14:54.846>uh, <00:14:55.001>kind <00:14:55.157>of <00:14:55.312>detached <00:14:55.468>from <00:14:55.623>the <00:14:55.779>main <00:14:55.935>thread

265
00:14:58.705 --> 00:15:00.165
<00:14:58.705>or <00:14:59.362>scheduled, <00:15:00.019>uh,

266
00:15:00.745 --> 00:15:03.325
<00:15:00.745>and <00:15:01.025>disconnected <00:15:01.305>from <00:15:01.585>general <00:15:01.865>application <00:15:02.145>lifecycle.

267
00:15:03.625 --> 00:15:06.205
<00:15:03.625>So <00:15:03.975>background <00:15:04.325>tasks, <00:15:04.675>uh, <00:15:05.025>access

268
00:15:06.205 --> 00:15:08.565
<00:15:06.205>to <00:15:06.485>hardware <00:15:06.765>is <00:15:07.045>absolutely <00:15:07.325>must <00:15:07.605>have.

269
00:15:08.945 --> 00:15:13.325
<00:15:08.945>Our <00:15:09.145>modern <00:15:09.345>devices <00:15:09.545>have <00:15:09.745>awesome <00:15:09.945>media <00:15:10.145>capabilities, <00:15:10.345>tons

270
00:15:13.345 --> 00:15:14.525
<00:15:13.345>of <00:15:13.876>different <00:15:14.406>sensors,

271
00:15:14.705 --> 00:15:18.485
<00:15:14.705>and <00:15:14.845>we <00:15:14.985>want <00:15:15.125>to <00:15:15.265>use <00:15:15.405>them <00:15:15.545>straight <00:15:15.685>from <00:15:15.825>our <00:15:15.965>application <00:15:16.105>code,

272
00:15:18.745 --> 00:15:23.325
<00:15:18.745>uh, <00:15:18.945>without <00:15:19.145>any <00:15:19.345>intermediate <00:15:19.545>layers <00:15:19.745>before <00:15:19.945>we, <00:15:20.145>or

273
00:15:23.505 --> 00:15:26.205
<00:15:23.505>before, <00:15:23.785>uh, <00:15:24.064>you <00:15:24.345>start <00:15:24.625>experimenting <00:15:24.905>with,

274
00:15:26.385 --> 00:15:27.565
<00:15:26.385>um, <00:15:26.916>what's <00:15:27.447>available.

275
00:15:28.445 --> 00:15:29.845
<00:15:28.445>I <00:15:28.865>strongly <00:15:29.285>recommend <00:15:29.705>you

276
00:15:29.845 --> 00:15:34.805
<00:15:29.845>to <00:15:29.972>turn <00:15:30.099>on <00:15:30.226>all <00:15:30.354>the <00:15:30.481>flags <00:15:30.608>you <00:15:30.735>have <00:15:30.863>in <00:15:30.990>your <00:15:31.117>browser <00:15:31.245>related

277
00:15:34.945 --> 00:15:37.765
<00:15:34.945>to <00:15:35.225>PWA, <00:15:35.505>just <00:15:35.785>filter <00:15:36.065>by <00:15:36.345>pwa,

278
00:15:38.665 --> 00:15:40.685
<00:15:38.665>and <00:15:39.015>then <00:15:39.365>turn <00:15:39.714>everything <00:15:40.064>on.

279
00:15:41.025 --> 00:15:44.805
<00:15:41.025>Um, <00:15:41.180>some <00:15:41.336>of <00:15:41.491>the <00:15:41.647>features <00:15:41.802>I <00:15:41.958>will, <00:15:42.113>um, <00:15:42.269>talk, <00:15:42.425>um,

280
00:15:45.665 --> 00:15:49.125
<00:15:45.665>on <00:15:45.820>the <00:15:45.976>next <00:15:46.131>slides <00:15:46.287>are <00:15:46.442>available <00:15:46.598>only <00:15:46.753>under <00:15:46.909>the <00:15:47.064>flag

281
00:15:49.545 --> 00:15:51.485
<00:15:49.545>or <00:15:50.011>via <00:15:50.478>trial <00:15:50.944>origin.

282
00:15:51.635 --> 00:15:55.325
<00:15:51.635>This <00:15:51.790>is <00:15:51.946>another <00:15:52.101>interesting <00:15:52.257>concept <00:15:52.412>to <00:15:52.568>give <00:15:52.723>a <00:15:52.879>try, <00:15:53.035>uh,

283
00:15:55.585 --> 00:15:56.605
<00:15:55.585>for <00:15:56.044>particular <00:15:56.503>pieces

284
00:15:56.665 --> 00:15:59.965
<00:15:56.665>of <00:15:56.865>functionality <00:15:57.064>without <00:15:57.265>asking <00:15:57.464>your <00:15:57.665>users <00:15:57.865>to <00:15:58.064>go

285
00:16:00.025 --> 00:16:01.085
<00:16:00.025>and <00:16:00.502>enable <00:16:00.979>flex.

286
00:16:01.105 --> 00:16:03.245
<00:16:01.105>Of <00:16:01.305>course, <00:16:01.505>this <00:16:01.705>approach <00:16:01.905>is <00:16:02.105>not <00:16:02.305>scalable, <00:16:02.505>right?

287
00:16:03.345 --> 00:16:06.445
<00:16:03.345>But <00:16:03.545>trial <00:16:03.745>origin <00:16:03.945>is, <00:16:04.145>uh, <00:16:04.345>I <00:16:04.545>recommend <00:16:04.745>you

288
00:16:06.445 --> 00:16:07.845
<00:16:06.445>to <00:16:06.760>learn <00:16:07.075>more <00:16:07.390>about <00:16:07.705>that.

289
00:16:08.435 --> 00:16:13.045
<00:16:08.435>Good. <00:16:08.635>Now, <00:16:08.834>let's, <00:16:09.035>uh, <00:16:09.234>do <00:16:09.435>round <00:16:09.635>trip, <00:16:09.834>uh,

290
00:16:13.635 --> 00:16:17.205
<00:16:13.635>from <00:16:13.775>first <00:16:13.915>category <00:16:14.055>to <00:16:14.194>last <00:16:14.335>category <00:16:14.475>from <00:16:14.615>the <00:16:14.755>ones <00:16:14.895>I <00:16:15.035>listed,

291
00:16:17.765 --> 00:16:19.445
<00:16:17.765>installation <00:16:18.465>and <00:16:19.165>run.

292
00:16:19.775 --> 00:16:21.805
<00:16:19.775>First <00:16:20.241>about, <00:16:20.708>um, <00:16:21.175>criteria

293
00:16:22.465 --> 00:16:27.165
<00:16:22.465>for <00:16:22.640>having <00:16:22.815>our <00:16:22.990>web <00:16:23.165>application, <00:16:23.340>web <00:16:23.515>project, <00:16:23.690>website, <00:16:23.865>uh,

294
00:16:27.305 --> 00:16:28.805
<00:16:27.305>you <00:16:27.755>name <00:16:28.204>it, <00:16:28.655>installable.

295
00:16:29.235 --> 00:16:30.645
<00:16:29.235>Currently, <00:16:29.488>there <00:16:29.742>are <00:16:29.996>two <00:16:30.250>of <00:16:30.504>them.

296
00:16:30.695 --> 00:16:32.125
<00:16:30.695>First, <00:16:30.952>you <00:16:31.209>have <00:16:31.467>to <00:16:31.724>have, <00:16:31.982>uh,

297
00:16:32.195 --> 00:16:35.285
<00:16:32.195>correctly <00:16:32.545>formatted <00:16:32.895>web <00:16:33.245>application <00:16:33.595>manifest.

298
00:16:35.665 --> 00:16:38.725
<00:16:35.665>And, <00:16:35.944>um, <00:16:36.224>this <00:16:36.505>file <00:16:36.785>will, <00:16:37.064>uh,

299
00:16:38.725 --> 00:16:40.925
<00:16:38.725>talk <00:16:39.075>about <00:16:39.425>next, <00:16:39.775>uh, <00:16:40.125>minutes.

300
00:16:41.355 --> 00:16:44.605
<00:16:41.355>Many, <00:16:41.555>many, <00:16:41.755>many <00:16:41.955>times <00:16:42.155>actually <00:16:42.355>all <00:16:42.555>main <00:16:42.755>integration

301
00:16:44.605 --> 00:16:45.725
<00:16:44.605>points <00:16:45.109>are <00:16:45.613>happening.

302
00:16:45.945 --> 00:16:50.525
<00:16:45.945>We <00:16:46.085>are <00:16:46.225>some, <00:16:46.365>um, <00:16:46.505>uh, <00:16:46.645>properties <00:16:46.785>we <00:16:46.925>have <00:16:47.065>as <00:16:47.205>a <00:16:47.345>part

303
00:16:50.525 --> 00:16:52.125
<00:16:50.525>of <00:16:50.991>web <00:16:51.458>app <00:16:51.925>manifest.

304
00:16:52.505 --> 00:16:56.565
<00:16:52.505>And <00:16:52.660>second, <00:16:52.816>we <00:16:52.971>need <00:16:53.127>to <00:16:53.282>have <00:16:53.438>service <00:16:53.593>worker, <00:16:53.749>um, <00:16:53.905>correctly,

305
00:16:56.705 --> 00:17:01.285
<00:16:56.705>uh, <00:16:56.905>uh, <00:16:57.105>created <00:16:57.305>and <00:16:57.505>with, <00:16:57.705>um, <00:16:57.905>fetch <00:16:58.105>handler.

306
00:17:01.425 --> 00:17:03.605
<00:17:01.425>So <00:17:01.775>browser <00:17:02.125>assumes <00:17:02.474>that, <00:17:02.824>uh,

307
00:17:03.745 --> 00:17:06.125
<00:17:03.745>if <00:17:03.920>you <00:17:04.095>have <00:17:04.270>fetch <00:17:04.444>handler <00:17:04.619>in <00:17:04.795>your <00:17:04.970>service <00:17:05.145>worker,

308
00:17:06.475 --> 00:17:09.845
<00:17:06.474>then <00:17:06.675>you <00:17:06.875>provide <00:17:07.074>at <00:17:07.274>least <00:17:07.474>basic <00:17:07.675>offline <00:17:07.875>experience.

309
00:17:09.945 --> 00:17:11.885
<00:17:09.944>Of <00:17:10.145>course, <00:17:10.345>this <00:17:10.544>is <00:17:10.744>kind <00:17:10.944>of <00:17:11.145>best <00:17:11.345>guess,

310
00:17:12.105 --> 00:17:15.925
<00:17:12.105>but <00:17:12.260>this <00:17:12.416>is, <00:17:12.571>uh, <00:17:12.727>how <00:17:12.882>this <00:17:13.038>criteria <00:17:13.193>is <00:17:13.349>looking <00:17:13.505>now.

311
00:17:16.425 --> 00:17:20.605
<00:17:16.425>Um, <00:17:16.625>and, <00:17:16.825>um, <00:17:17.024>here's, <00:17:17.224>uh, <00:17:17.425>example <00:17:17.625>of, <00:17:17.825>um,

312
00:17:20.745 --> 00:17:24.365
<00:17:20.744>web <00:17:20.978>app <00:17:21.211>manifest, <00:17:21.444>uh, <00:17:21.678>just <00:17:21.911>core, <00:17:22.145>uh,

313
00:17:24.365 --> 00:17:26.605
<00:17:24.365>properties <00:17:24.598>I <00:17:24.831>listed <00:17:25.065>in, <00:17:25.298>in <00:17:25.531>this <00:17:25.765>example,

314
00:17:26.705 --> 00:17:28.725
<00:17:26.704>and <00:17:27.054>obligatory <00:17:27.405>ones <00:17:27.754>are, <00:17:28.105>um,

315
00:17:28.955 --> 00:17:30.885
<00:17:28.955>even <00:17:29.155>fewer <00:17:29.355>than <00:17:29.554>you <00:17:29.754>see <00:17:29.955>on <00:17:30.155>your <00:17:30.355>screens.

316
00:17:31.145 --> 00:17:33.565
<00:17:31.145>Um, <00:17:31.378>I <00:17:31.611>don't <00:17:31.845>remember <00:17:32.078>exactly <00:17:32.311>the <00:17:32.545>specification,

317
00:17:33.565 --> 00:17:37.845
<00:17:33.565>but <00:17:33.740>it's, <00:17:33.915>um, <00:17:34.090>uh, <00:17:34.265>name <00:17:34.440>icons <00:17:34.615>and, <00:17:34.790>um, <00:17:34.965>and,

318
00:17:37.845 --> 00:17:39.765
<00:17:37.845>and <00:17:38.020>start <00:17:38.195>your, <00:17:38.370>I <00:17:38.545>believe <00:17:38.720>some, <00:17:38.895>something <00:17:39.070>like <00:17:39.245>this.

319
00:17:40.115 --> 00:17:42.245
<00:17:40.115>Here <00:17:40.465>I <00:17:40.815>listed <00:17:41.165>few <00:17:41.515>more,

320
00:17:42.295 --> 00:17:44.405
<00:17:42.295>let's <00:17:42.528>say <00:17:42.761>strongly <00:17:42.995>recommended <00:17:43.228>ones <00:17:43.461>to <00:17:43.695>have.

321
00:17:44.405 --> 00:17:48.445
<00:17:44.405>Basically <00:17:44.560>this <00:17:44.716>is <00:17:44.871>just, <00:17:45.027>uh, <00:17:45.182>meta <00:17:45.338>information <00:17:45.493>about <00:17:45.649>our <00:17:45.805>app,

322
00:17:48.445 --> 00:17:50.885
<00:17:48.445>because <00:17:48.645>if <00:17:48.845>you <00:17:49.044>call <00:17:49.245>something <00:17:49.445>application, <00:17:49.645>we <00:17:49.845>have

323
00:17:50.885 --> 00:17:53.845
<00:17:50.885>to <00:17:51.012>give <00:17:51.139>it <00:17:51.266>at <00:17:51.394>least <00:17:51.521>a <00:17:51.648>name <00:17:51.775>and <00:17:51.903>at <00:17:52.030>least <00:17:52.157>icons, <00:17:52.285>right?

324
00:17:53.845 --> 00:17:55.165
<00:17:53.845>This <00:17:54.241>is <00:17:54.637>user <00:17:55.033>experience.

325
00:17:55.225 --> 00:17:59.245
<00:17:55.225>We <00:17:55.504>all, <00:17:55.784>um, <00:17:56.064>used <00:17:56.344>to <00:17:56.625>on,

326
00:17:59.305 --> 00:18:01.045
<00:17:59.305>on <00:17:59.585>pretty <00:17:59.865>much <00:18:00.145>every, <00:18:00.425>every <00:18:00.705>device.

327
00:18:01.385 --> 00:18:05.715
<00:18:01.385>And <00:18:01.560>also <00:18:01.735>you <00:18:01.910>might <00:18:02.085>notice <00:18:02.260>that, <00:18:02.435>uh, <00:18:02.610>I, <00:18:02.785>uh,

328
00:18:06.225 --> 00:18:10.955
<00:18:06.225>gave <00:18:06.425>this <00:18:06.625>file <00:18:06.824>name <00:18:07.024>with <00:18:07.225>Extension <00:18:07.425>Web <00:18:07.625>Manifest,

329
00:18:11.535 --> 00:18:16.275
<00:18:11.535>um, <00:18:11.675>still, <00:18:11.815>I <00:18:11.955>believe <00:18:12.095>99% <00:18:12.235>of <00:18:12.375>web <00:18:12.515>app <00:18:12.655>manifest <00:18:12.795>deployed <00:18:12.935>with,

330
00:18:16.335 --> 00:18:17.755
<00:18:16.335>uh, <00:18:16.974>Jason <00:18:17.613>Extension.

331
00:18:17.935 --> 00:18:21.315
<00:18:17.935>But <00:18:18.110>the <00:18:18.284>latest <00:18:18.460>specification <00:18:18.635>says <00:18:18.810>that, <00:18:18.985>uh, <00:18:19.159>it's <00:18:19.335>good

332
00:18:21.335 --> 00:18:23.715
<00:18:21.335>to <00:18:21.568>have <00:18:21.801>web <00:18:22.035>manifest, <00:18:22.268>um, <00:18:22.501>as <00:18:22.735>extension.

333
00:18:23.775 --> 00:18:25.915
<00:18:23.775>So <00:18:23.975>of <00:18:24.175>course, <00:18:24.375>under <00:18:24.575>the <00:18:24.775>hood, <00:18:24.975>this, <00:18:25.175>uh,

334
00:18:26.075 --> 00:18:28.555
<00:18:26.075>file <00:18:26.425>is <00:18:26.775>j <00:18:27.125>formatted, <00:18:27.475>right?

335
00:18:28.735 --> 00:18:31.395
<00:18:28.735>But <00:18:28.890>to <00:18:29.046>provide <00:18:29.201>some, <00:18:29.357>some <00:18:29.512>extra <00:18:29.668>context <00:18:29.823>to <00:18:29.979>the <00:18:30.135>browser.

336
00:18:31.545 --> 00:18:34.555
<00:18:31.545>Yeah, <00:18:31.720>why <00:18:31.895>not <00:18:32.070>to <00:18:32.245>go <00:18:32.420>for <00:18:32.595>what <00:18:32.770>specification <00:18:32.945>says.

337
00:18:34.935 --> 00:18:37.835
<00:18:34.935>To <00:18:35.110>be <00:18:35.284>honest, <00:18:35.460>I <00:18:35.635>didn't <00:18:35.810>notice <00:18:35.985>any, <00:18:36.159>any <00:18:36.335>difference.

338
00:18:38.055 --> 00:18:40.635
<00:18:38.055>Uh, <00:18:38.230>but <00:18:38.405>yeah, <00:18:38.580>let's, <00:18:38.755>uh, <00:18:38.930>let's <00:18:39.105>follow <00:18:39.280>the <00:18:39.455>standards,

339
00:18:40.655 --> 00:18:44.555
<00:18:40.655>my <00:18:40.888>recommendation, <00:18:41.121>and <00:18:41.355>then <00:18:41.588>you <00:18:41.821>can, <00:18:42.055>uh,

340
00:18:44.735 --> 00:18:48.995
<00:18:44.735>or <00:18:44.909>your <00:18:45.084>users <00:18:45.260>can, <00:18:45.435>uh, <00:18:45.610>install <00:18:45.784>your <00:18:45.959>web <00:18:46.135>application.

341
00:18:48.995 --> 00:18:51.835
<00:18:48.995>So <00:18:49.228>they <00:18:49.461>just <00:18:49.695>go <00:18:49.928>to <00:18:50.161>your <00:18:50.395>website.com.

342
00:18:52.185 --> 00:18:55.315
<00:18:52.185>They <00:18:52.360>see <00:18:52.534>some <00:18:52.710>icon <00:18:52.885>appears <00:18:53.060>on <00:18:53.235>the <00:18:53.409>address <00:18:53.585>bar,

343
00:18:55.315 --> 00:18:58.235
<00:18:55.315>and <00:18:55.470>this <00:18:55.626>icon <00:18:55.781>is <00:18:55.937>very <00:18:56.092>different <00:18:56.248>on, <00:18:56.403>uh, <00:18:56.559>different <00:18:56.715>browsers.

344
00:18:58.255 --> 00:19:00.235
<00:18:58.255>And, <00:18:58.535>uh, <00:18:58.815>the <00:18:59.095>texting <00:18:59.375>around <00:18:59.655>this

345
00:19:00.235 --> 00:19:01.395
<00:19:00.235>icon <00:19:00.495>is <00:19:00.756>also <00:19:01.018>very <00:19:01.279>different.

346
00:19:01.655 --> 00:19:05.035
<00:19:01.655>So <00:19:01.782>they <00:19:01.909>will <00:19:02.036>see <00:19:02.164>dialogue <00:19:02.291>about, <00:19:02.418>uh, <00:19:02.545>do <00:19:02.673>we <00:19:02.800>want <00:19:02.927>to <00:19:03.055>install?

347
00:19:05.035 --> 00:19:08.995
<00:19:05.035>If <00:19:05.175>they <00:19:05.315>click <00:19:05.455>this, <00:19:05.595>this <00:19:05.735>icon, <00:19:05.875>then, <00:19:06.015>um, <00:19:06.155>example <00:19:06.295>from, <00:19:06.435>uh,

348
00:19:09.025 --> 00:19:11.555
<00:19:09.025>windows <00:19:09.258>10 <00:19:09.491>operating <00:19:09.725>system, <00:19:09.958>they <00:19:10.191>can, <00:19:10.425>uh,

349
00:19:12.745 --> 00:19:14.515
<00:19:12.745>fine <00:19:13.094>tune <00:19:13.445>the <00:19:13.794>application <00:19:14.145>somehow.

350
00:19:14.615 --> 00:19:17.355
<00:19:14.615>For <00:19:14.770>example, <00:19:14.926>they <00:19:15.081>can, <00:19:15.237>uh, <00:19:15.392>pin <00:19:15.548>it <00:19:15.703>to <00:19:15.859>taskbar, <00:19:16.015>to

351
00:19:17.355 --> 00:19:21.755
<00:19:17.355>to <00:19:17.495>start <00:19:17.635>menu <00:19:17.775>and <00:19:17.915>even, <00:19:18.055>uh, <00:19:18.195>run <00:19:18.335>application <00:19:18.475>on <00:19:18.615>system <00:19:18.755>start.

352
00:19:22.295 --> 00:19:23.915
<00:19:22.295>And <00:19:22.645>that's <00:19:22.995>pretty <00:19:23.345>much <00:19:23.695>it.

353
00:19:24.135 --> 00:19:27.035
<00:19:24.135>Now <00:19:24.415>you <00:19:24.695>have, <00:19:24.975>um, <00:19:25.254>installed <00:19:25.535>application,

354
00:19:27.225 --> 00:19:29.075
<00:19:27.225>hopefully <00:19:27.691>it's <00:19:28.158>offline <00:19:28.625>ready.

355
00:19:29.255 --> 00:19:30.395
<00:19:29.255>You <00:19:29.460>have <00:19:29.665>to <00:19:29.870>provide <00:19:30.075>this <00:19:30.281>support.

356
00:19:30.415 --> 00:19:32.195
<00:19:30.415>You <00:19:30.590>have <00:19:30.764>to <00:19:30.940>build <00:19:31.115>the <00:19:31.290>support <00:19:31.465>using <00:19:31.639>service <00:19:31.815>worker

357
00:19:32.695 --> 00:19:36.195
<00:19:32.695>and, <00:19:32.850>um, <00:19:33.006>it <00:19:33.161>fully <00:19:33.317>supported <00:19:33.472>from <00:19:33.628>operating <00:19:33.783>system <00:19:33.939>in <00:19:34.095>terms

358
00:19:36.195 --> 00:19:39.915
<00:19:36.195>of, <00:19:36.370>uh, <00:19:36.544>you <00:19:36.720>can <00:19:36.895>uninstall <00:19:37.070>this <00:19:37.245>using <00:19:37.419>standard <00:19:37.595>dialogue.

359
00:19:39.915 --> 00:19:42.715
<00:19:39.915>At <00:19:40.055>least <00:19:40.195>this <00:19:40.335>is <00:19:40.475>how <00:19:40.615>it <00:19:40.754>happens <00:19:40.895>on, <00:19:41.034>um, <00:19:41.175>on <00:19:41.315>Windows.

360
00:19:43.105 --> 00:19:46.875
<00:19:43.105>Furthermore, <00:19:43.260>you <00:19:43.416>can, <00:19:43.571>uh, <00:19:43.727>fine <00:19:43.882>tune <00:19:44.038>some, <00:19:44.193>uh, <00:19:44.349>some <00:19:44.505>settings

361
00:19:46.975 --> 00:19:48.355
<00:19:46.975>of <00:19:47.596>this <00:19:48.217>application.

362
00:19:48.975 --> 00:19:53.435
<00:19:48.975>Um, <00:19:49.149>next, <00:19:49.324>uh, <00:19:49.500>part <00:19:49.675>here <00:19:49.850>is, <00:19:50.024>uh, <00:19:50.199>the <00:19:50.375>fact

363
00:19:53.435 --> 00:19:56.515
<00:19:53.435>that <00:19:53.635>you <00:19:53.835>can <00:19:54.034>provide <00:19:54.235>some <00:19:54.435>shortcuts <00:19:54.635>to <00:19:54.835>run,

364
00:19:56.775 --> 00:19:59.315
<00:19:56.775>to <00:19:56.975>start <00:19:57.175>your <00:19:57.375>application <00:19:57.575>in <00:19:57.775>a <00:19:57.975>specific <00:19:58.175>way.

365
00:19:59.725 --> 00:20:03.835
<00:19:59.725>Again, <00:19:59.880>we <00:20:00.036>refer <00:20:00.191>back <00:20:00.347>to <00:20:00.502>our <00:20:00.658>web <00:20:00.813>app <00:20:00.969>manifest <00:20:01.125>site.

366
00:20:03.855 --> 00:20:07.475
<00:20:03.855>Um, <00:20:03.982>the, <00:20:04.109>the <00:20:04.236>file <00:20:04.364>you <00:20:04.491>see <00:20:04.618>under <00:20:04.745>name <00:20:04.873>site <00:20:05.000>web <00:20:05.127>manifest <00:20:05.255>in,

367
00:20:07.475 --> 00:20:10.595
<00:20:07.475>in <00:20:07.630>my <00:20:07.786>example, <00:20:07.941>this <00:20:08.097>is <00:20:08.252>just, <00:20:08.408>uh, <00:20:08.563>just <00:20:08.719>example, <00:20:08.875>name

368
00:20:11.015 --> 00:20:14.195
<00:20:11.015>and, <00:20:11.215>uh, <00:20:11.415>using <00:20:11.615>property <00:20:11.815>called <00:20:12.015>shortcuts <00:20:12.215>you <00:20:12.415>provide

369
00:20:14.935 --> 00:20:16.595
<00:20:14.935>in <00:20:15.401>other, <00:20:15.868>um, <00:20:16.335>icon.

370
00:20:16.595 --> 00:20:18.195
<00:20:16.595>It, <00:20:16.828>it, <00:20:17.061>it <00:20:17.295>might <00:20:17.528>be <00:20:17.761>same <00:20:17.995>or,

371
00:20:18.195 --> 00:20:20.835
<00:20:18.195>or <00:20:18.370>different, <00:20:18.544>maybe <00:20:18.720>different, <00:20:18.895>uh, <00:20:19.070>is, <00:20:19.245>um, <00:20:19.419>is <00:20:19.595>better.

372
00:20:21.335 --> 00:20:25.235
<00:20:21.335>Um, <00:20:21.490>you <00:20:21.646>provide <00:20:21.801>name <00:20:21.957>for <00:20:22.112>this <00:20:22.268>particular <00:20:22.423>menu <00:20:22.579>item, <00:20:22.735>how

373
00:20:25.235 --> 00:20:29.315
<00:20:25.235>to <00:20:25.375>start <00:20:25.514>and <00:20:25.655>exact <00:20:25.794>action <00:20:25.935>in <00:20:26.074>form <00:20:26.215>of <00:20:26.354>your, <00:20:26.495>your, <00:20:26.635>uh,

374
00:20:29.315 --> 00:20:31.115
<00:20:29.315>application <00:20:29.665>will, <00:20:30.015>uh, <00:20:30.365>will <00:20:30.715>have.

375
00:20:31.135 --> 00:20:34.675
<00:20:31.135>And <00:20:31.290>then <00:20:31.446>on <00:20:31.601>the <00:20:31.757>right <00:20:31.912>click, <00:20:32.068>like, <00:20:32.223>uh, <00:20:32.379>native <00:20:32.535>applications,

376
00:20:34.815 --> 00:20:37.355
<00:20:34.815>you <00:20:35.048>will <00:20:35.281>see <00:20:35.515>this <00:20:35.748>list <00:20:35.981>of <00:20:36.215>shortcuts.

377
00:20:37.535 --> 00:20:41.795
<00:20:37.535>And, <00:20:37.690>um, <00:20:37.846>yeah, <00:20:38.001>you <00:20:38.157>can, <00:20:38.312>um, <00:20:38.468>uh, <00:20:38.623>um, <00:20:38.779>give <00:20:38.935>possibility

378
00:20:41.795 --> 00:20:44.755
<00:20:41.795>to <00:20:41.970>your <00:20:42.145>users, <00:20:42.320>start <00:20:42.495>your <00:20:42.670>application <00:20:42.845>in <00:20:43.020>some <00:20:43.195>particular,

379
00:20:45.175 --> 00:20:48.165
<00:20:45.175>um, <00:20:45.455>state <00:20:45.735>or, <00:20:46.014>or, <00:20:46.294>or <00:20:46.575>section,

380
00:20:48.345 --> 00:20:52.365
<00:20:48.345>or <00:20:48.545>you <00:20:48.745>name <00:20:48.945>it, <00:20:49.145>just, <00:20:49.345>uh, <00:20:49.545>not, <00:20:49.745>not

381
00:20:52.625 --> 00:20:54.645
<00:20:52.625>as <00:20:53.325>a <00:20:54.025>homepage.

382
00:20:55.345 --> 00:20:57.125
<00:20:55.345>Um, <00:20:55.695>and <00:20:56.045>then <00:20:56.395>launch <00:20:56.745>mode.

383
00:20:57.385 --> 00:21:00.205
<00:20:57.385>If <00:20:57.665>we <00:20:57.945>talk <00:20:58.225>about <00:20:58.504>application, <00:20:58.785>right,

384
00:21:00.625 --> 00:21:02.765
<00:21:00.625>we <00:21:01.091>somehow <00:21:01.558>launch <00:21:02.025>it

385
00:21:02.905 --> 00:21:05.325
<00:21:02.905>and <00:21:03.185>there <00:21:03.465>are <00:21:03.745>multiple <00:21:04.024>options <00:21:04.305>available.

386
00:21:05.785 --> 00:21:10.765
<00:21:05.785>For <00:21:05.960>example, <00:21:06.135>um, <00:21:06.310>we <00:21:06.485>can <00:21:06.660>think <00:21:06.835>about <00:21:07.010>user <00:21:07.185>experience

387
00:21:11.305 --> 00:21:14.815
<00:21:11.305>as, <00:21:11.585>um, <00:21:11.865>one <00:21:12.145>window <00:21:12.425>application, <00:21:12.705>right?

388
00:21:14.875 --> 00:21:17.615
<00:21:14.875>And <00:21:15.075>we <00:21:15.275>don't <00:21:15.475>want <00:21:15.675>to <00:21:15.875>have <00:21:16.075>multiple <00:21:16.275>instances

389
00:21:17.795 --> 00:21:20.535
<00:21:17.795>of <00:21:18.028>our <00:21:18.261>application <00:21:18.495>open <00:21:18.728>on <00:21:18.961>the <00:21:19.195>screen,

390
00:21:20.675 --> 00:21:22.015
<00:21:20.675>on <00:21:20.876>the <00:21:21.077>device <00:21:21.278>at <00:21:21.479>the <00:21:21.680>same <00:21:21.881>time.

391
00:21:22.435 --> 00:21:25.575
<00:21:22.435>So <00:21:22.610>we <00:21:22.784>can <00:21:22.960>say <00:21:23.135>that, <00:21:23.310>uh, <00:21:23.485>when <00:21:23.659>time <00:21:23.835>comes

392
00:21:25.715 --> 00:21:27.535
<00:21:25.715>to <00:21:26.181>open <00:21:26.648>our <00:21:27.115>application,

393
00:21:27.595 --> 00:21:30.655
<00:21:27.595>and <00:21:27.770>we'll <00:21:27.945>dedicate <00:21:28.120>the <00:21:28.295>separate <00:21:28.470>slides <00:21:28.645>to <00:21:28.820>different <00:21:28.995>ways

394
00:21:30.755 --> 00:21:31.815
<00:21:30.755>to <00:21:31.232>open <00:21:31.709>this.

395
00:21:32.435 --> 00:21:37.015
<00:21:32.435>We <00:21:32.590>direct <00:21:32.746>people, <00:21:32.901>uh, <00:21:33.057>users <00:21:33.212>to <00:21:33.368>the <00:21:33.523>instance <00:21:33.679>if, <00:21:33.835>uh,

396
00:21:37.035 --> 00:21:40.135
<00:21:37.035>the <00:21:37.210>existing <00:21:37.385>instance, <00:21:37.560>if, <00:21:37.735>uh, <00:21:37.910>if <00:21:38.085>it's <00:21:38.260>there, <00:21:38.435>right?

397
00:21:40.515 --> 00:21:44.255
<00:21:40.515>Um, <00:21:40.690>and <00:21:40.865>or <00:21:41.040>we <00:21:41.215>can <00:21:41.390>open <00:21:41.565>completely <00:21:41.740>new <00:21:41.915>one.

398
00:21:44.355 --> 00:21:46.335
<00:21:44.355>Uh, <00:21:44.635>that <00:21:44.915>really <00:21:45.195>depends <00:21:45.475>on, <00:21:45.755>uh,

399
00:21:46.395 --> 00:21:50.855
<00:21:46.395>how <00:21:46.550>we <00:21:46.706>architect <00:21:46.861>application, <00:21:47.017>how <00:21:47.172>we <00:21:47.328>build <00:21:47.483>a <00:21:47.639>user <00:21:47.795>interface.

400
00:21:51.435 --> 00:21:55.095
<00:21:51.435>And, <00:21:51.635>uh, <00:21:51.835>if <00:21:52.034>we <00:21:52.235>redirect <00:21:52.435>to <00:21:52.635>existing <00:21:52.835>instance,

401
00:21:55.275 --> 00:21:59.335
<00:21:55.275>we <00:21:55.475>have <00:21:55.675>a <00:21:55.875>chance <00:21:56.075>to <00:21:56.275>either <00:21:56.475>navigate <00:21:56.675>immediately

402
00:21:59.475 --> 00:22:02.175
<00:21:59.475>to <00:21:59.708>the <00:21:59.941>Euro <00:22:00.175>that <00:22:00.408>was, <00:22:00.641>uh, <00:22:00.875>requested

403
00:22:02.595 --> 00:22:04.495
<00:22:02.595>or, <00:22:03.061>um, <00:22:03.528>postpone <00:22:03.995>it

404
00:22:04.715 --> 00:22:07.735
<00:22:04.715>and, <00:22:04.870>uh, <00:22:05.026>decide <00:22:05.181>ourselves <00:22:05.337>in <00:22:05.492>the <00:22:05.648>code <00:22:05.803>what <00:22:05.959>to <00:22:06.115>do,

405
00:22:07.875 --> 00:22:12.815
<00:22:07.875>do <00:22:08.015>maybe <00:22:08.155>we <00:22:08.295>want <00:22:08.435>to <00:22:08.575>launch <00:22:08.715>not, <00:22:08.855>uh, <00:22:08.995>uh, <00:22:09.135>like <00:22:09.275>again,

406
00:22:12.845 --> 00:22:14.335
<00:22:12.845>home <00:22:13.180>screen, <00:22:13.515>but <00:22:13.850>something <00:22:14.186>else.

407
00:22:14.435 --> 00:22:19.095
<00:22:14.435>And <00:22:14.575>we <00:22:14.715>have <00:22:14.855>corresponding <00:22:14.995>API <00:22:15.135>in <00:22:15.274>our <00:22:15.415>JavaScript <00:22:15.554>to <00:22:15.695>get <00:22:15.835>this,

408
00:22:19.235 --> 00:22:22.615
<00:22:19.235>uh, <00:22:19.435>parameters <00:22:19.635>that <00:22:19.834>were <00:22:20.034>used <00:22:20.235>during <00:22:20.435>the <00:22:20.635>launch

409
00:22:23.235 --> 00:22:24.415
<00:22:23.235>that's <00:22:23.765>super <00:22:24.297>flexible.

410
00:22:24.445 --> 00:22:27.015
<00:22:24.445>That <00:22:24.678>provides <00:22:24.911>all <00:22:25.145>possibilities <00:22:25.378>for <00:22:25.611>us <00:22:25.845>to

411
00:22:27.555 --> 00:22:31.375
<00:22:27.555>launch <00:22:27.755>applications <00:22:27.955>in <00:22:28.155>multiple <00:22:28.355>ways <00:22:28.555>now, <00:22:28.755>about, <00:22:28.955>uh,

412
00:22:32.235 --> 00:22:36.095
<00:22:32.235>how <00:22:32.409>exactly <00:22:32.584>application <00:22:32.760>might <00:22:32.935>look <00:22:33.110>in <00:22:33.284>the <00:22:33.459>environment <00:22:33.635>of,

413
00:22:36.195 --> 00:22:38.455
<00:22:36.195>uh, <00:22:36.475>operating <00:22:36.754>system, <00:22:37.034>like <00:22:37.314>UI <00:22:37.595>wise.

414
00:22:39.075 --> 00:22:43.535
<00:22:39.075>Um, <00:22:39.250>we <00:22:39.425>have <00:22:39.600>a <00:22:39.775>property <00:22:39.950>called <00:22:40.125>display <00:22:40.300>in, <00:22:40.475>uh,

415
00:22:43.875 --> 00:22:45.055
<00:22:43.875>web <00:22:44.406>app <00:22:44.937>manifest,

416
00:22:45.355 --> 00:22:48.175
<00:22:45.355>and <00:22:45.530>we <00:22:45.705>have <00:22:45.880>property <00:22:46.055>called <00:22:46.230>Display <00:22:46.405>Override, <00:22:46.580>which <00:22:46.755>is

417
00:22:48.235 --> 00:22:52.975
<00:22:48.235>for <00:22:48.409>newer <00:22:48.584>browsers <00:22:48.760>that, <00:22:48.935>um, <00:22:49.110>support <00:22:49.284>some <00:22:49.459>extra <00:22:49.635>properties,

418
00:22:53.235 --> 00:22:56.775
<00:22:53.235>uh, <00:22:53.409>extra, <00:22:53.584>um, <00:22:53.760>options <00:22:53.935>in, <00:22:54.110>uh, <00:22:54.284>in <00:22:54.459>that <00:22:54.635>sense.

419
00:22:57.195 --> 00:23:00.415
<00:22:57.195>Um, <00:22:57.475>maybe, <00:22:57.754>uh, <00:22:58.034>for, <00:22:58.314>for <00:22:58.595>majority

420
00:23:00.415 --> 00:23:03.095
<00:23:00.415>of <00:23:00.615>the <00:23:00.815>application <00:23:01.014>properties, <00:23:01.215>standalone <00:23:01.415>is <00:23:01.615>good <00:23:01.815>enough,

421
00:23:03.115 --> 00:23:06.135
<00:23:03.115>but <00:23:03.270>we <00:23:03.426>also <00:23:03.581>can <00:23:03.737>start <00:23:03.892>application <00:23:04.048>in <00:23:04.203>the <00:23:04.359>full <00:23:04.515>screen.

422
00:23:06.435 --> 00:23:10.495
<00:23:06.435>We <00:23:06.575>also <00:23:06.715>can, <00:23:06.855>um, <00:23:06.995>start <00:23:07.135>with <00:23:07.274>a <00:23:07.415>minimal <00:23:07.554>ui, <00:23:07.695>for <00:23:07.835>example,

423
00:23:10.725 --> 00:23:13.975
<00:23:10.725>back <00:23:10.880>button, <00:23:11.036>which <00:23:11.191>will <00:23:11.347>be <00:23:11.502>native <00:23:11.658>from, <00:23:11.813>from <00:23:11.969>the <00:23:12.125>browser.

424
00:23:14.195 --> 00:23:17.615
<00:23:14.195>Not <00:23:14.335>part <00:23:14.475>of <00:23:14.615>our <00:23:14.754>EI <00:23:14.895>might <00:23:15.034>work <00:23:15.175>good <00:23:15.314>for <00:23:15.455>some, <00:23:15.595>uh,

425
00:23:17.615 --> 00:23:18.895
<00:23:17.615>legacy <00:23:18.767>scenarios.

426
00:23:19.395 --> 00:23:23.975
<00:23:19.395>Um, <00:23:19.535>and, <00:23:19.675>uh, <00:23:19.815>for <00:23:19.955>example, <00:23:20.095>if <00:23:20.235>we <00:23:20.375>go <00:23:20.514>for <00:23:20.655>the, <00:23:20.795>uh,

427
00:23:24.375 --> 00:23:27.855
<00:23:24.375>recently <00:23:24.655>available <00:23:24.935>option <00:23:25.215>called, <00:23:25.495>um, <00:23:25.775>um,

428
00:23:27.855 --> 00:23:31.135
<00:23:27.855>window <00:23:28.030>control <00:23:28.205>early, <00:23:28.380>we <00:23:28.555>can <00:23:28.730>even <00:23:28.905>put <00:23:29.080>some <00:23:29.255>pieces

429
00:23:31.275 --> 00:23:33.335
<00:23:31.275>of <00:23:31.555>our <00:23:31.835>UI <00:23:32.115>into <00:23:32.395>Title <00:23:32.675>Bar.

430
00:23:33.705 --> 00:23:37.615
<00:23:33.705>Isn't <00:23:33.860>that <00:23:34.016>cool? <00:23:34.171>We <00:23:34.327>can <00:23:34.482>now <00:23:34.638>utilize <00:23:34.793>100% <00:23:34.949>of, <00:23:35.105>um,

431
00:23:37.685 --> 00:23:40.055
<00:23:37.685>visible <00:23:37.965>part <00:23:38.245>of, <00:23:38.524>um, <00:23:38.804>the <00:23:39.085>application

432
00:23:40.235 --> 00:23:42.255
<00:23:40.235>of <00:23:40.514>the <00:23:40.794>window <00:23:41.074>for <00:23:41.354>our <00:23:41.635>application.

433
00:23:42.675 --> 00:23:45.965
<00:23:42.675>And, <00:23:42.815>uh, <00:23:42.955>of <00:23:43.095>course <00:23:43.235>it's <00:23:43.375>a <00:23:43.514>bit <00:23:43.655>more <00:23:43.794>challenging <00:23:43.935>UI <00:23:44.075>wise,

434
00:23:45.985 --> 00:23:48.445
<00:23:45.985>but <00:23:46.218>we <00:23:46.451>have <00:23:46.685>all <00:23:46.918>properties <00:23:47.151>as <00:23:47.385>developers,

435
00:23:48.445 --> 00:23:51.445
<00:23:48.445>both <00:23:48.645>from <00:23:48.845>my <00:23:49.044>CSS <00:23:49.245>side <00:23:49.445>and <00:23:49.645>JavaScript <00:23:49.845>side.

436
00:23:51.445 --> 00:23:56.085
<00:23:51.445>So <00:23:51.600>we <00:23:51.756>can <00:23:51.911>position, <00:23:52.067>uh, <00:23:52.222>precisely <00:23:52.378>all <00:23:52.533>these, <00:23:52.689>um, <00:23:52.845>elements.

437
00:23:56.145 --> 00:23:58.845
<00:23:56.145>It <00:23:56.345>could <00:23:56.545>be <00:23:56.745>buttons, <00:23:56.945>icons, <00:23:57.145>texts, <00:23:57.345>whatever, <00:23:57.545>uh,

438
00:23:59.025 --> 00:24:00.365
<00:23:59.025>on <00:23:59.427>the <00:23:59.829>title <00:24:00.231>bar.

439
00:24:00.595 --> 00:24:04.085
<00:24:00.595>Then <00:24:00.750>next <00:24:00.906>option <00:24:01.061>status <00:24:01.217>bar. <00:24:01.372>We <00:24:01.528>can <00:24:01.683>just <00:24:01.839>disable <00:24:01.995>this.

440
00:24:04.145 --> 00:24:07.205
<00:24:04.145>So <00:24:04.378>nothing <00:24:04.611>to <00:24:04.845>explore, <00:24:05.078>uh, <00:24:05.311>explain <00:24:05.545>here.

441
00:24:07.265 --> 00:24:10.485
<00:24:07.265>So <00:24:07.440>maybe <00:24:07.615>for <00:24:07.790>native <00:24:07.965>apps, <00:24:08.140>it <00:24:08.315>looks <00:24:08.490>more, <00:24:08.665>uh,

442
00:24:11.185 --> 00:24:14.325
<00:24:11.185>native <00:24:11.325>when <00:24:11.465>there <00:24:11.605>is <00:24:11.745>no <00:24:11.885>any <00:24:12.024>kind <00:24:12.165>of, <00:24:12.304>um, <00:24:12.445>status <00:24:12.585>bar

443
00:24:14.705 --> 00:24:16.125
<00:24:14.705>and <00:24:15.344>tab <00:24:15.983>experience.

444
00:24:16.125 --> 00:24:19.085
<00:24:16.125>This <00:24:16.358>is <00:24:16.591>a <00:24:16.825>bit, <00:24:17.058>uh, <00:24:17.291>challenging <00:24:17.525>one.

445
00:24:19.265 --> 00:24:23.925
<00:24:19.265>So, <00:24:19.420>uh, <00:24:19.576>technically <00:24:19.731>this <00:24:19.887>is <00:24:20.042>just, <00:24:20.198>uh, <00:24:20.353>another <00:24:20.509>option <00:24:20.665>for

446
00:24:24.475 --> 00:24:25.645
<00:24:24.475>display, <00:24:25.528>uh,

447
00:24:25.945 --> 00:24:30.885
<00:24:25.945>and, <00:24:26.072>uh, <00:24:26.199>there <00:24:26.326>is <00:24:26.454>a <00:24:26.581>separate <00:24:26.708>checkbox <00:24:26.835>for <00:24:26.963>users <00:24:27.090>to <00:24:27.217>have <00:24:27.345>it

448
00:24:30.885 --> 00:24:32.045
<00:24:30.885>as <00:24:31.233>a <00:24:31.581>tab <00:24:31.929>experience.

449
00:24:32.465 --> 00:24:36.085
<00:24:32.465>Um, <00:24:32.605>but <00:24:32.745>my <00:24:32.885>experience <00:24:33.024>show <00:24:33.165>that <00:24:33.304>this <00:24:33.445>is <00:24:33.584>not, <00:24:33.725>let's <00:24:33.865>say,

450
00:24:36.085 --> 00:24:39.285
<00:24:36.085>completely <00:24:36.240>ready <00:24:36.396>and <00:24:36.551>the <00:24:36.707>modern <00:24:36.862>browsers <00:24:37.018>yet, <00:24:37.173>uh, <00:24:37.329>at <00:24:37.485>least,

451
00:24:39.385 --> 00:24:42.205
<00:24:39.385>uh, <00:24:39.618>this <00:24:39.851>is <00:24:40.085>a <00:24:40.318>somehow <00:24:40.551>strange <00:24:40.785>position.

452
00:24:42.265 --> 00:24:45.605
<00:24:42.265>So <00:24:42.405>you <00:24:42.545>see <00:24:42.685>this <00:24:42.825>as <00:24:42.965>a <00:24:43.105>bit, <00:24:43.245>uh, <00:24:43.385>broken <00:24:43.525>ui, <00:24:43.665>uh,

453
00:24:45.625 --> 00:24:47.045
<00:24:45.625>but <00:24:45.944>the <00:24:46.264>idea <00:24:46.583>is <00:24:46.903>beautiful.

454
00:24:47.385 --> 00:24:51.965
<00:24:47.385>Uh, <00:24:47.525>we <00:24:47.665>love <00:24:47.805>to <00:24:47.945>build <00:24:48.085>our <00:24:48.225>applications <00:24:48.365>in <00:24:48.504>very <00:24:48.645>broad <00:24:48.785>sense,

455
00:24:52.265 --> 00:24:54.925
<00:24:52.265>uh, <00:24:52.405>with, <00:24:52.545>uh, <00:24:52.685>some <00:24:52.825>tabs <00:24:52.965>as <00:24:53.105>a <00:24:53.245>part <00:24:53.385>of <00:24:53.525>ui, <00:24:53.665>right?

456
00:24:54.985 --> 00:24:57.525
<00:24:54.985>And <00:24:55.159>what <00:24:55.334>do <00:24:55.510>we <00:24:55.685>normally <00:24:55.860>do <00:24:56.034>as <00:24:56.209>web <00:24:56.385>developers?

457
00:24:57.945 --> 00:25:01.925
<00:24:57.945>We <00:24:58.100>either <00:24:58.256>use <00:24:58.411>some <00:24:58.567>UI <00:24:58.722>library <00:24:58.878>with, <00:24:59.033>uh, <00:24:59.189>these <00:24:59.345>tab

458
00:25:02.065 --> 00:25:05.965
<00:25:02.065>or <00:25:02.298>recreate <00:25:02.531>them <00:25:02.765>themselves <00:25:02.998>using <00:25:03.231>CSS <00:25:03.465>JavaScript.

459
00:25:06.265 --> 00:25:08.285
<00:25:06.265>So <00:25:06.615>why <00:25:06.965>to <00:25:07.315>invent <00:25:07.665>this?

460
00:25:08.385 --> 00:25:10.165
<00:25:08.385>Um, <00:25:08.851>very, <00:25:09.318>very <00:25:09.785>useful,

461
00:25:10.195 --> 00:25:14.245
<00:25:10.195>very <00:25:10.335>often <00:25:10.475>used <00:25:10.615>UI <00:25:10.754>element <00:25:10.895>if <00:25:11.034>we <00:25:11.175>have <00:25:11.314>this <00:25:11.455>built <00:25:11.595>in,

462
00:25:14.245 --> 00:25:15.485
<00:25:14.245>into <00:25:14.617>the <00:25:14.988>browsers, <00:25:15.360>right?

463
00:25:15.665 --> 00:25:19.365
<00:25:15.665>So <00:25:15.805>here <00:25:15.945>is, <00:25:16.085>um, <00:25:16.225>the <00:25:16.365>main <00:25:16.504>point <00:25:16.645>of, <00:25:16.784>um, <00:25:16.925>tabs, <00:25:17.065>um,

464
00:25:19.675 --> 00:25:21.125
<00:25:19.675>display <00:25:20.327>is <00:25:20.980>to

465
00:25:22.015 --> 00:25:25.085
<00:25:22.015>build <00:25:22.295>our <00:25:22.575>UI <00:25:22.855>using <00:25:23.135>native <00:25:23.415>tabs.

466
00:25:25.425 --> 00:25:26.485
<00:25:25.425>That's, <00:25:25.743>that's <00:25:26.061>really <00:25:26.379>cool.

467
00:25:26.485 --> 00:25:30.005
<00:25:26.485>So <00:25:26.640>let's <00:25:26.796>wait, <00:25:26.951>uh, <00:25:27.107>for <00:25:27.262>the <00:25:27.418>stable <00:25:27.573>version <00:25:27.729>of <00:25:27.885>this

468
00:25:30.605 --> 00:25:33.765
<00:25:30.605>outbound <00:25:30.780>integrations, <00:25:30.955>when <00:25:31.130>we <00:25:31.305>want <00:25:31.480>to <00:25:31.655>use <00:25:31.830>some <00:25:32.005>pieces

469
00:25:33.785 --> 00:25:36.525
<00:25:33.785>of <00:25:34.065>operating <00:25:34.345>system <00:25:34.625>from <00:25:34.905>our <00:25:35.185>app.

470
00:25:36.975 --> 00:25:39.845
<00:25:36.975>First <00:25:37.175>and <00:25:37.375>foremost, <00:25:37.574>we <00:25:37.774>have <00:25:37.975>web <00:25:38.175>share <00:25:38.375>API.

471
00:25:39.915 --> 00:25:41.485
<00:25:39.915>This <00:25:40.264>is <00:25:40.615>quite <00:25:40.965>mature <00:25:41.315>one.

472
00:25:41.635 --> 00:25:43.565
<00:25:41.635>It's, <00:25:41.835>uh, <00:25:42.035>for <00:25:42.235>a <00:25:42.435>few <00:25:42.635>years <00:25:42.835>in, <00:25:43.035>uh,

473
00:25:43.565 --> 00:25:45.565
<00:25:43.565>production <00:25:43.915>in <00:25:44.265>all <00:25:44.615>the <00:25:44.965>browsers,

474
00:25:46.285 --> 00:25:50.785
<00:25:46.285>and <00:25:46.485>it's <00:25:46.685>just <00:25:46.885>about, <00:25:47.085>um, <00:25:47.285>invoking <00:25:47.485>native <00:25:47.685>share

475
00:25:51.425 --> 00:25:53.585
<00:25:51.425>dialogue, <00:25:51.658>share <00:25:51.891>share <00:25:52.125>to <00:25:52.358>Twitter <00:25:52.591>or <00:25:52.825>Facebook

476
00:25:53.585 --> 00:25:56.785
<00:25:53.585>or <00:25:53.785>whatever <00:25:53.985>social <00:25:54.185>media <00:25:54.385>providers <00:25:54.585>installed <00:25:54.785>on <00:25:54.985>this

477
00:25:56.785 --> 00:25:58.745
<00:25:56.785>particular <00:25:57.251>device <00:25:57.718>or <00:25:58.185>outlook.

478
00:25:58.895 --> 00:26:02.985
<00:25:58.895>Yeah, <00:25:59.050>the, <00:25:59.206>the <00:25:59.361>list <00:25:59.517>of <00:25:59.672>target <00:25:59.828>applications <00:25:59.983>is, <00:26:00.139>uh, <00:26:00.295>different

479
00:26:03.085 --> 00:26:05.145
<00:26:03.085>for, <00:26:03.318>for <00:26:03.551>every <00:26:03.785>device, <00:26:04.018>for <00:26:04.251>every <00:26:04.485>users,

480
00:26:05.245 --> 00:26:06.345
<00:26:05.245>and <00:26:05.574>we <00:26:05.905>can, <00:26:06.235>uh,

481
00:26:06.405 --> 00:26:08.505
<00:26:06.405>add <00:26:06.638>our <00:26:06.871>application <00:26:07.105>into <00:26:07.338>this <00:26:07.571>list <00:26:07.805>ourselves.

482
00:26:08.565 --> 00:26:11.545
<00:26:08.565>But <00:26:08.720>wait <00:26:08.876>a <00:26:09.031>bit. <00:26:09.187>It's <00:26:09.342>on <00:26:09.498>the, <00:26:09.653>um, <00:26:09.809>next <00:26:09.965>section.

483
00:26:12.165 --> 00:26:14.345
<00:26:12.165>And, <00:26:12.445>uh, <00:26:12.725>our <00:26:13.004>goal <00:26:13.284>here <00:26:13.565>is

484
00:26:14.345 --> 00:26:16.185
<00:26:14.345>to <00:26:14.625>just <00:26:14.905>invoke <00:26:15.185>this <00:26:15.465>native <00:26:15.745>dialogue.

485
00:26:16.185 --> 00:26:17.265
<00:26:16.185>We <00:26:16.379>don't <00:26:16.573>care <00:26:16.768>how <00:26:16.962>that <00:26:17.157>looks.

486
00:26:17.325 --> 00:26:19.505
<00:26:17.325>It <00:26:17.558>looks <00:26:17.791>differently <00:26:18.025>on <00:26:18.258>different <00:26:18.491>operating <00:26:18.725>systems,

487
00:26:19.615 --> 00:26:21.345
<00:26:19.615>obviously, <00:26:19.895>because <00:26:20.175>we <00:26:20.455>are <00:26:20.735>talking <00:26:21.015>about

488
00:26:21.365 --> 00:26:23.505
<00:26:21.365>native, <00:26:21.831>uh, <00:26:22.298>experience, <00:26:22.765>right?

489
00:26:23.845 --> 00:26:27.625
<00:26:23.845>And <00:26:23.985>then <00:26:24.125>we <00:26:24.265>get <00:26:24.405>status, <00:26:24.545>was <00:26:24.685>this <00:26:24.825>sharing <00:26:24.965>successful <00:26:25.105>or <00:26:25.245>not?

490
00:26:28.175 --> 00:26:31.305
<00:26:28.175>Same <00:26:28.455>idea <00:26:28.735>for, <00:26:29.014>uh, <00:26:29.294>contact <00:26:29.575>picker,

491
00:26:31.505 --> 00:26:33.265
<00:26:31.505>a <00:26:31.855>p <00:26:32.205>straight <00:26:32.555>from <00:26:32.905>JavaScript.

492
00:26:33.485 --> 00:26:35.745
<00:26:33.485>We <00:26:33.951>invoke <00:26:34.418>native <00:26:34.885>dialogue

493
00:26:35.845 --> 00:26:39.265
<00:26:35.845>to <00:26:36.000>pick <00:26:36.156>the <00:26:36.311>contacts <00:26:36.467>from <00:26:36.622>address <00:26:36.778>book, <00:26:36.933>which <00:26:37.089>is, <00:26:37.245>uh,

494
00:26:39.285 --> 00:26:40.465
<00:26:39.285>on <00:26:39.639>this <00:26:39.993>particular <00:26:40.347>device.

495
00:26:40.525 --> 00:26:43.405
<00:26:40.525>And <00:26:40.680>again, <00:26:40.836>all <00:26:40.991>these <00:26:41.147>concepts <00:26:41.302>are <00:26:41.458>very <00:26:41.613>different <00:26:41.769>from, <00:26:41.925>um,

496
00:26:43.785 --> 00:26:45.325
<00:26:43.785>for, <00:26:44.131>for <00:26:44.478>different <00:26:44.824>operating <00:26:45.171>systems.

497
00:26:45.745 --> 00:26:49.085
<00:26:45.745>But, <00:26:45.919>uh, <00:26:46.094>as <00:26:46.270>a <00:26:46.445>result, <00:26:46.620>we <00:26:46.794>just <00:26:46.969>get, <00:26:47.145>uh,

498
00:26:49.365 --> 00:26:51.285
<00:26:49.365>contacts <00:26:49.715>in <00:26:50.065>our <00:26:50.415>JavaScript <00:26:50.765>code,

499
00:26:51.385 --> 00:26:53.285
<00:26:51.385>and <00:26:51.540>then <00:26:51.696>we <00:26:51.851>can <00:26:52.007>do <00:26:52.162>whatever <00:26:52.318>we <00:26:52.473>want <00:26:52.629>with <00:26:52.785>them.

500
00:26:53.905 --> 00:26:58.525
<00:26:53.905>Um, <00:26:54.080>really <00:26:54.254>mind <00:26:54.430>blowing <00:26:54.605>idea <00:26:54.780>to <00:26:54.955>get <00:26:55.129>full <00:26:55.305>access,

501
00:26:58.705 --> 00:27:02.605
<00:26:58.705>or <00:26:58.832>not, <00:26:58.959>not <00:26:59.086>full, <00:26:59.214>but <00:26:59.341>at <00:26:59.468>least <00:26:59.595>some <00:26:59.723>access <00:26:59.850>to <00:26:59.977>operating, <00:27:00.105>uh,

502
00:27:02.865 --> 00:27:06.005
<00:27:02.865>to <00:27:03.065>file <00:27:03.265>systems <00:27:03.465>straight <00:27:03.665>from <00:27:03.865>our <00:27:04.065>JavaScript <00:27:04.265>code.

503
00:27:06.025 --> 00:27:08.925
<00:27:06.025>And <00:27:06.180>this <00:27:06.336>is <00:27:06.491>not, <00:27:06.647>uh, <00:27:06.802>like <00:27:06.958>future, <00:27:07.113>this <00:27:07.269>is <00:27:07.425>reality.

504
00:27:09.225 --> 00:27:11.685
<00:27:09.225>Uh, <00:27:09.399>wish <00:27:09.574>to <00:27:09.750>check <00:27:09.925>it. <00:27:10.100>Just <00:27:10.274>go <00:27:10.449>to <00:27:10.625>vs.

505
00:27:11.685 --> 00:27:13.005
<00:27:11.685>Code <00:27:12.279>dev, <00:27:12.873>uh,

506
00:27:13.105 --> 00:27:15.685
<00:27:13.105>and <00:27:13.280>you'll <00:27:13.455>see <00:27:13.630>vs <00:27:13.805>code <00:27:13.980>running <00:27:14.155>in <00:27:14.330>your <00:27:14.505>browser.

507
00:27:15.735 --> 00:27:17.445
<00:27:15.735>There <00:27:16.014>is <00:27:16.294>a <00:27:16.574>button <00:27:16.854>open <00:27:17.135>folder,

508
00:27:17.785 --> 00:27:22.245
<00:27:17.785>and, <00:27:17.940>um, <00:27:18.096>of <00:27:18.251>course <00:27:18.407>there <00:27:18.562>will <00:27:18.718>be <00:27:18.873>extra <00:27:19.029>permission <00:27:19.185>request,

509
00:27:22.625 --> 00:27:26.005
<00:27:22.625>but <00:27:22.825>after <00:27:23.025>all, <00:27:23.225>JavaScript, <00:27:23.425>uh, <00:27:23.625>that <00:27:23.825>drives <00:27:24.025>vs.

510
00:27:26.005 --> 00:27:30.245
<00:27:26.005>Code <00:27:26.160>will <00:27:26.316>get <00:27:26.471>access <00:27:26.627>to <00:27:26.782>file <00:27:26.938>system <00:27:27.093>on <00:27:27.249>your <00:27:27.405>device.

511
00:27:30.505 --> 00:27:33.725
<00:27:30.505>So <00:27:30.705>it's <00:27:30.905>both, <00:27:31.105>uh, <00:27:31.305>read <00:27:31.505>and <00:27:31.705>write <00:27:31.905>access.

512
00:27:33.745 --> 00:27:34.925
<00:27:33.745>That's <00:27:34.275>really <00:27:34.807>amazing.

513
00:27:36.835 --> 00:27:39.685
<00:27:36.835>Next <00:27:37.301>part, <00:27:37.768>inbound <00:27:38.235>integrations,

514
00:27:40.425 --> 00:27:43.645
<00:27:40.425>how <00:27:40.705>our <00:27:40.985>application <00:27:41.264>can <00:27:41.544>be, <00:27:41.825>um,

515
00:27:45.015 --> 00:27:49.825
<00:27:45.015>started <00:27:45.215>invoked, <00:27:45.415>somehow <00:27:45.615>reached <00:27:45.815>out <00:27:46.015>from <00:27:46.215>the <00:27:46.415>side

516
00:27:49.885 --> 00:27:51.585
<00:27:49.885>of, <00:27:50.351>um, <00:27:50.818>operating <00:27:51.285>system.

517
00:27:52.045 --> 00:27:55.465
<00:27:52.045>Uh, <00:27:52.245>first, <00:27:52.445>let's, <00:27:52.645>uh, <00:27:52.845>talk <00:27:53.045>about <00:27:53.245>protocol <00:27:53.445>handlers.

518
00:27:55.885 --> 00:27:57.625
<00:27:55.885>Yes, <00:27:56.165>folks. <00:27:56.445>Now <00:27:56.725>we <00:27:57.004>can <00:27:57.285>go

519
00:27:57.685 --> 00:28:02.225
<00:27:57.685>and <00:27:57.885>register <00:27:58.085>our <00:27:58.284>very <00:27:58.485>own <00:27:58.685>very <00:27:58.885>custom <00:27:59.085>protocol,

520
00:28:02.235 --> 00:28:05.305
<00:28:02.235>which <00:28:02.409>when, <00:28:02.584>uh, <00:28:02.760>we <00:28:02.935>can <00:28:03.110>give, <00:28:03.284>um, <00:28:03.459>any <00:28:03.635>name

521
00:28:05.325 --> 00:28:08.905
<00:28:05.325>for <00:28:05.465>in <00:28:05.605>my <00:28:05.745>sample <00:28:05.885>I <00:28:06.025>called <00:28:06.165>my <00:28:06.305>protocol <00:28:06.445>web <00:28:06.585>plus <00:28:06.725>BPM.

522
00:28:08.905 --> 00:28:13.145
<00:28:08.905>This <00:28:09.032>is <00:28:09.159>a <00:28:09.286>sample <00:28:09.414>for <00:28:09.541>my, <00:28:09.668>um, <00:28:09.795>pet <00:28:09.923>project <00:28:10.050>called <00:28:10.177>BPM <00:28:10.305>Techno.

523
00:28:13.485 --> 00:28:17.105
<00:28:13.485>And <00:28:13.640>now <00:28:13.796>if <00:28:13.951>I <00:28:14.107>type <00:28:14.262>in <00:28:14.418>the <00:28:14.573>browser, <00:28:14.729>not <00:28:14.885>HPS,

524
00:28:17.105 --> 00:28:19.705
<00:28:17.105>but <00:28:17.338>web <00:28:17.571>plus <00:28:17.805>bpm, <00:28:18.038>colon <00:28:18.271>slash <00:28:18.505>slash

525
00:28:20.045 --> 00:28:23.585
<00:28:20.045>and, <00:28:20.220>um, <00:28:20.395>some, <00:28:20.570>some <00:28:20.745>parameters, <00:28:20.920>my <00:28:21.095>application <00:28:21.270>will <00:28:21.445>start.

526
00:28:23.885 --> 00:28:26.465
<00:28:23.885>And <00:28:24.040>so <00:28:24.196>this <00:28:24.351>will <00:28:24.507>not <00:28:24.662>show <00:28:24.818>some, <00:28:24.973>some, <00:28:25.129>some <00:28:25.285>errors,

527
00:28:26.525 --> 00:28:29.665
<00:28:26.525>but <00:28:26.725>once <00:28:26.925>I <00:28:27.125>register <00:28:27.325>this <00:28:27.525>protocol <00:28:27.725>in <00:28:27.925>web

528
00:28:29.685 --> 00:28:31.145
<00:28:29.685>app <00:28:30.013>manifest, <00:28:30.341>it <00:28:30.670>just <00:28:30.999>works.

529
00:28:32.285 --> 00:28:35.625
<00:28:32.285>Two <00:28:32.565>next <00:28:32.845>concepts <00:28:33.125>are <00:28:33.405>quite, <00:28:33.685>um,

530
00:28:36.835 --> 00:28:39.385
<00:28:36.835>quite <00:28:37.010>similar, <00:28:37.185>uh, <00:28:37.360>and <00:28:37.535>different <00:28:37.710>at <00:28:37.885>the <00:28:38.060>same <00:28:38.235>time.

531
00:28:40.275 --> 00:28:42.225
<00:28:40.275>Let's <00:28:40.555>start <00:28:40.835>from <00:28:41.115>a <00:28:41.395>declarative <00:28:41.675>link.

532
00:28:42.415 --> 00:28:46.745
<00:28:42.415>Capturing <00:28:42.615>this <00:28:42.815>part <00:28:43.014>of <00:28:43.215>web <00:28:43.415>app <00:28:43.615>manifest <00:28:43.815>says,

533
00:28:47.285 --> 00:28:51.585
<00:28:47.285>um, <00:28:47.635>how <00:28:47.985>to <00:28:48.335>open <00:28:48.685>links

534
00:28:51.655 --> 00:28:55.065
<00:28:51.655>that <00:28:51.888>were <00:28:52.121>captured <00:28:52.355>by, <00:28:52.588>um, <00:28:52.821>our <00:28:53.055>application.

535
00:28:55.325 --> 00:28:59.025
<00:28:55.325>So <00:28:55.558>it's <00:28:55.791>quite <00:28:56.025>similar <00:28:56.258>to <00:28:56.491>Launch <00:28:56.725>Handler.

536
00:28:59.285 --> 00:29:02.985
<00:28:59.285>It <00:28:59.412>also <00:28:59.539>answers <00:28:59.666>the <00:28:59.794>question <00:28:59.921>if <00:29:00.048>we <00:29:00.175>open <00:29:00.303>in, <00:29:00.430>in <00:29:00.557>new <00:29:00.685>window

537
00:29:03.205 --> 00:29:04.625
<00:29:03.205>or <00:29:03.844>existing <00:29:04.483>one.

538
00:29:05.085 --> 00:29:09.665
<00:29:05.085>But, <00:29:05.260>um, <00:29:05.435>this <00:29:05.610>one, <00:29:05.785>it, <00:29:05.960>um, <00:29:06.135>answers <00:29:06.310>questions <00:29:06.485>when

539
00:29:09.765 --> 00:29:11.265
<00:29:09.765>to <00:29:10.215>capture <00:29:10.665>the <00:29:11.115>links.

540
00:29:11.605 --> 00:29:15.905
<00:29:11.605>And, <00:29:11.760>um, <00:29:11.916>this <00:29:12.071>is <00:29:12.227>a <00:29:12.382>bit, <00:29:12.538>uh, <00:29:12.693>sophisticated <00:29:12.849>concept, <00:29:13.005>uh,

541
00:29:15.905 --> 00:29:20.025
<00:29:15.905>because <00:29:16.060>there <00:29:16.216>are <00:29:16.371>multiple <00:29:16.527>options, <00:29:16.682>uh, <00:29:16.838>to <00:29:16.993>capture <00:29:17.149>the <00:29:17.305>link,

542
00:29:20.285 --> 00:29:25.185
<00:29:20.285>uh, <00:29:20.392>to, <00:29:20.500>uh, <00:29:20.608>use <00:29:20.715>this <00:29:20.823>link, <00:29:20.931>not <00:29:21.038>as <00:29:21.146>just <00:29:21.254>a, <00:29:21.361>uh, <00:29:21.469>no <00:29:21.577>next, <00:29:21.685>um,

543
00:29:25.325 --> 00:29:29.385
<00:29:25.325>tab <00:29:25.480>in <00:29:25.636>the <00:29:25.791>browser, <00:29:25.947>but <00:29:26.102>instead <00:29:26.258>of <00:29:26.413>launch <00:29:26.569>our <00:29:26.725>application,

544
00:29:29.725 --> 00:29:34.505
<00:29:29.725>um, <00:29:29.865>and, <00:29:30.004>uh, <00:29:30.145>in, <00:29:30.284>uh, <00:29:30.425>again, <00:29:30.564>in <00:29:30.705>our <00:29:30.844>web <00:29:30.985>app <00:29:31.125>manifest,

545
00:29:34.765 --> 00:29:39.265
<00:29:34.765>we <00:29:34.920>can, <00:29:35.076>uh, <00:29:35.231>list <00:29:35.387>some, <00:29:35.542>uh, <00:29:35.698>some <00:29:35.853>origins <00:29:36.009>that, <00:29:36.165>uh,

546
00:29:39.395 --> 00:29:41.565
<00:29:39.395>where <00:29:39.675>we <00:29:39.955>will <00:29:40.235>capture <00:29:40.514>links <00:29:40.795>from.

547
00:29:41.985 --> 00:29:44.485
<00:29:41.985>And, <00:29:42.334>um, <00:29:42.685>it's <00:29:43.034>really <00:29:43.385>amazing

548
00:29:44.555 --> 00:29:48.845
<00:29:44.555>that <00:29:44.671>it <00:29:44.788>could <00:29:44.905>be <00:29:45.021>not <00:29:45.138>only <00:29:45.255>our <00:29:45.371>own <00:29:45.488>origin, <00:29:45.605>the <00:29:45.721>the <00:29:45.838>scope <00:29:45.955>of,

549
00:29:48.865 --> 00:29:51.405
<00:29:48.865>um, <00:29:49.020>web <00:29:49.176>application, <00:29:49.331>which <00:29:49.487>we <00:29:49.642>provide <00:29:49.798>in <00:29:49.953>web <00:29:50.109>app <00:29:50.265>manifest,

550
00:29:51.425 --> 00:29:54.005
<00:29:51.425>but <00:29:51.705>also <00:29:51.985>some <00:29:52.264>third <00:29:52.544>party <00:29:52.825>ones.

551
00:29:54.105 --> 00:29:57.565
<00:29:54.105>And <00:29:54.245>that <00:29:54.385>may, <00:29:54.525>uh, <00:29:54.665>that <00:29:54.805>opens <00:29:54.945>doors <00:29:55.085>to <00:29:55.225>building, <00:29:55.365>for <00:29:55.505>example,

552
00:29:57.915 --> 00:30:02.285
<00:29:57.915>partner, <00:29:58.148>um, <00:29:58.381>integrations <00:29:58.615>for, <00:29:58.848>for <00:29:59.081>our <00:29:59.315>app,

553
00:30:02.625 --> 00:30:05.045
<00:30:02.625>of <00:30:02.858>course, <00:30:03.091>since, <00:30:03.325>uh, <00:30:03.558>this <00:30:03.791>is <00:30:04.025>about,

554
00:30:05.145 --> 00:30:07.925
<00:30:05.145>um, <00:30:05.495>security <00:30:05.845>and <00:30:06.195>then <00:30:06.545>privacy.

555
00:30:08.545 --> 00:30:13.085
<00:30:08.545>Um, <00:30:08.720>these, <00:30:08.895>uh, <00:30:09.070>origins, <00:30:09.245>which <00:30:09.420>we <00:30:09.595>ask <00:30:09.770>capture <00:30:09.945>links

556
00:30:13.085 --> 00:30:16.525
<00:30:13.085>to <00:30:13.318>our <00:30:13.551>application <00:30:13.785>should <00:30:14.018>deploy <00:30:14.251>special, <00:30:14.485>uh,

557
00:30:16.795 --> 00:30:18.605
<00:30:16.795>file <00:30:17.261>special <00:30:17.728>like <00:30:18.195>explanation

558
00:30:18.605 --> 00:30:22.885
<00:30:18.605>and <00:30:18.760>special <00:30:18.916>confirmation <00:30:19.071>that <00:30:19.227>yes, <00:30:19.382>uh, <00:30:19.538>even <00:30:19.693>if <00:30:19.849>user <00:30:20.005>types,

559
00:30:23.225 --> 00:30:25.365
<00:30:23.225>um, <00:30:23.504>in <00:30:23.784>the <00:30:24.064>address <00:30:24.344>bar, <00:30:24.625>um,

560
00:30:25.665 --> 00:30:29.885
<00:30:25.665>or <00:30:25.792>click, <00:30:25.919>uh, <00:30:26.046>the <00:30:26.174>link <00:30:26.301>in, <00:30:26.428>um, <00:30:26.555>one, <00:30:26.683>uh, <00:30:26.810>one <00:30:26.937>of, <00:30:27.065>uh,

561
00:30:29.885 --> 00:30:32.485
<00:30:29.885>installed <00:30:30.118>application <00:30:30.351>with, <00:30:30.585>um, <00:30:30.818>this <00:30:31.051>partner <00:30:31.285>Euro.

562
00:30:32.815 --> 00:30:37.225
<00:30:32.815>Still <00:30:33.165>our, <00:30:33.515>um, <00:30:33.865>PW <00:30:34.215>should,

563
00:30:37.225 --> 00:30:39.505
<00:30:37.225>should <00:30:37.458>open <00:30:37.691>instead <00:30:37.925>of <00:30:38.158>just <00:30:38.391>going <00:30:38.625>to,

564
00:30:39.525 --> 00:30:40.705
<00:30:39.525>to <00:30:39.737>that <00:30:39.949>euro <00:30:40.162>in <00:30:40.374>the <00:30:40.587>browser.

565
00:30:41.455 --> 00:30:44.705
<00:30:41.455>This, <00:30:41.629>um, <00:30:41.804>yeah, <00:30:41.980>maybe <00:30:42.155>this <00:30:42.330>is <00:30:42.504>a <00:30:42.679>bit <00:30:42.855>sophisticated.

566
00:30:44.925 --> 00:30:49.105
<00:30:44.925>Um, <00:30:45.080>and <00:30:45.236>furthermore, <00:30:45.391>this <00:30:45.547>API <00:30:45.702>is <00:30:45.858>now <00:30:46.013>under <00:30:46.169>active, <00:30:46.325>uh,

567
00:30:49.195 --> 00:30:50.705
<00:30:49.195>let's <00:30:49.874>say <00:30:50.553>refactoring.

568
00:30:50.965 --> 00:30:53.025
<00:30:50.965>Um, <00:30:51.198>so <00:30:51.431>let's, <00:30:51.665>um, <00:30:51.898>let's <00:30:52.131>stop <00:30:52.365>here

569
00:30:53.205 --> 00:30:55.625
<00:30:53.205>and <00:30:53.379>I <00:30:53.554>will <00:30:53.730>keep <00:30:53.905>you <00:30:54.080>posted <00:30:54.254>what <00:30:54.429>happens <00:30:54.605>next,

570
00:30:55.625 --> 00:30:58.705
<00:30:55.625>because <00:30:55.905>this <00:30:56.185>might <00:30:56.465>be <00:30:56.745>slightly <00:30:57.025>simplified

571
00:30:58.925 --> 00:31:00.985
<00:30:58.925>and, <00:30:59.391>um, <00:30:59.858>yeah, <00:31:00.325>uh,

572
00:31:02.005 --> 00:31:04.465
<00:31:02.005>bit <00:31:02.238>more <00:31:02.471>focused <00:31:02.705>on <00:31:02.938>real <00:31:03.171>use <00:31:03.405>cases.

573
00:31:05.045 --> 00:31:09.305
<00:31:05.045>Um, <00:31:05.200>going <00:31:05.356>back <00:31:05.511>to <00:31:05.667>application <00:31:05.822>system, <00:31:05.978>now, <00:31:06.133>we <00:31:06.289>can <00:31:06.445>register

574
00:31:10.245 --> 00:31:12.865
<00:31:10.245>our <00:31:10.445>PWA, <00:31:10.645>our <00:31:10.844>web <00:31:11.044>application <00:31:11.245>as <00:31:11.445>a <00:31:11.645>handler

575
00:31:12.885 --> 00:31:15.665
<00:31:12.885>for <00:31:13.165>particular <00:31:13.445>type <00:31:13.725>of <00:31:14.004>file <00:31:14.285>extensions.

576
00:31:16.215 --> 00:31:19.945
<00:31:16.215>Just <00:31:16.389>amazing. <00:31:16.564>You <00:31:16.740>double <00:31:16.915>click <00:31:17.090>on, <00:31:17.264>uh, <00:31:17.439>something <00:31:17.615>mp3

577
00:31:20.165 --> 00:31:22.585
<00:31:20.165>and <00:31:20.514>not <00:31:20.865>native <00:31:21.215>application <00:31:21.565>opens,

578
00:31:22.805 --> 00:31:25.265
<00:31:22.805>but <00:31:23.038>our <00:31:23.271>web <00:31:23.505>application, <00:31:23.738>the <00:31:23.971>ones <00:31:24.205>that

579
00:31:25.865 --> 00:31:27.665
<00:31:25.865>register <00:31:26.331>this <00:31:26.798>file <00:31:27.265>handler.

580
00:31:28.565 --> 00:31:33.185
<00:31:28.565>And, <00:31:28.692>um, <00:31:28.819>of <00:31:28.946>course <00:31:29.074>we <00:31:29.201>have <00:31:29.328>access <00:31:29.455>to <00:31:29.583>all <00:31:29.710>this, <00:31:29.837>um, <00:31:29.965>um,

581
00:31:33.675 --> 00:31:38.105
<00:31:33.675>array <00:31:33.815>of, <00:31:33.955>um, <00:31:34.095>of, <00:31:34.235>of <00:31:34.375>files <00:31:34.514>that <00:31:34.655>were, <00:31:34.794>um, <00:31:34.935>like <00:31:35.075>invoked

582
00:31:38.105 --> 00:31:39.585
<00:31:38.105>to <00:31:38.549>start <00:31:38.993>our <00:31:39.437>application.

583
00:31:40.005 --> 00:31:42.225
<00:31:40.005>And <00:31:40.238>I <00:31:40.471>already <00:31:40.705>mentioned <00:31:40.938>about <00:31:41.171>share <00:31:41.405>target.

584
00:31:42.565 --> 00:31:46.465
<00:31:42.565>So <00:31:42.720>share <00:31:42.876>target <00:31:43.031>API <00:31:43.187>is, <00:31:43.342>uh, <00:31:43.498>complimentary <00:31:43.653>to <00:31:43.809>share <00:31:43.965>API.

585
00:31:46.465 --> 00:31:50.465
<00:31:46.465>This <00:31:46.605>is <00:31:46.745>the <00:31:46.885>way <00:31:47.024>we <00:31:47.165>register <00:31:47.304>our <00:31:47.445>application <00:31:47.584>as <00:31:47.725>a <00:31:47.865>target

586
00:31:50.685 --> 00:31:52.825
<00:31:50.685>for <00:31:51.034>this <00:31:51.385>native <00:31:51.735>sharing <00:31:52.085>dialogue.

587
00:31:52.825 --> 00:31:56.865
<00:31:52.825>Just <00:31:53.000>imagine, <00:31:53.175>um, <00:31:53.350>people <00:31:53.525>click <00:31:53.700>share <00:31:53.875>from <00:31:54.050>any <00:31:54.225>application

588
00:31:56.965 --> 00:31:59.425
<00:31:56.965>and <00:31:57.198>they <00:31:57.431>see <00:31:57.665>a <00:31:57.898>native <00:31:58.131>sharing <00:31:58.365>dialogue,

589
00:31:59.425 --> 00:32:02.585
<00:31:59.425>and <00:31:59.625>there <00:31:59.825>are <00:32:00.024>Twitter, <00:32:00.225>Facebook, <00:32:00.425>and <00:32:00.625>EO <00:32:00.825>PWA.

590
00:32:02.645 --> 00:32:03.705
<00:32:02.645>That's, <00:32:02.963>that's <00:32:03.281>really <00:32:03.599>amazing.

591
00:32:03.965 --> 00:32:06.025
<00:32:03.965>And <00:32:04.165>of <00:32:04.365>course, <00:32:04.564>uh, <00:32:04.764>in <00:32:04.965>your <00:32:05.165>app, <00:32:05.365>you

592
00:32:06.655 --> 00:32:09.625
<00:32:06.655>receive <00:32:06.888>all <00:32:07.121>the <00:32:07.355>parameters <00:32:07.588>you, <00:32:07.821>um, <00:32:08.055>got

593
00:32:09.635 --> 00:32:12.665
<00:32:09.635>after <00:32:09.868>someone <00:32:10.101>shared <00:32:10.335>something <00:32:10.568>with <00:32:10.801>your <00:32:11.035>obligation,

594
00:32:12.845 --> 00:32:16.065
<00:32:12.845>so <00:32:12.961>then <00:32:13.078>you <00:32:13.195>decide <00:32:13.311>what <00:32:13.428>to <00:32:13.545>do, <00:32:13.661>what <00:32:13.778>to <00:32:13.895>do <00:32:14.011>with <00:32:14.128>this <00:32:14.245>euro

595
00:32:16.165 --> 00:32:18.865
<00:32:16.165>and <00:32:16.631>description, <00:32:17.098>um, <00:32:17.565>notifications.

596
00:32:19.935 --> 00:32:23.185
<00:32:19.935>Well, <00:32:20.075>they <00:32:20.215>are <00:32:20.355>with <00:32:20.495>us <00:32:20.635>for, <00:32:20.774>uh, <00:32:20.915>quite <00:32:21.054>a <00:32:21.195>few <00:32:21.335>years.

597
00:32:23.445 --> 00:32:26.865
<00:32:23.445>I'm <00:32:23.620>talking <00:32:23.794>about <00:32:23.970>web <00:32:24.145>push <00:32:24.320>API <00:32:24.495>specifically, <00:32:24.669>so <00:32:24.845>nothing

598
00:32:27.045 --> 00:32:30.385
<00:32:27.045>to <00:32:27.278>really <00:32:27.511>add <00:32:27.745>here <00:32:27.978>except <00:32:28.211>the <00:32:28.445>fact

599
00:32:30.495 --> 00:32:34.505
<00:32:30.495>that <00:32:30.635>hopefully <00:32:30.774>soon <00:32:30.915>we <00:32:31.054>will <00:32:31.195>get <00:32:31.334>web <00:32:31.475>push <00:32:31.614>API <00:32:31.754>available <00:32:31.895>in,

600
00:32:34.565 --> 00:32:38.665
<00:32:34.565>uh, <00:32:34.765>um, <00:32:34.965>apple <00:32:35.165>devices, <00:32:35.365>in <00:32:35.565>iPhones <00:32:35.765>and <00:32:35.965>iPads.

601
00:32:38.665 --> 00:32:41.965
<00:32:38.665>There <00:32:38.820>are <00:32:38.976>some <00:32:39.131>positive <00:32:39.287>signals <00:32:39.442>showing <00:32:39.598>that, <00:32:39.753>um, <00:32:39.909>the, <00:32:40.065>the,

602
00:32:41.965 --> 00:32:44.245
<00:32:41.965>the <00:32:42.165>work <00:32:42.365>is <00:32:42.564>going <00:32:42.764>on <00:32:42.965>on <00:32:43.165>that <00:32:43.365>topic.

603
00:32:44.825 --> 00:32:47.525
<00:32:44.825>Um, <00:32:45.058>Beijing, <00:32:45.291>another <00:32:45.525>interesting <00:32:45.758>concept <00:32:45.991>of, <00:32:46.225>uh,

604
00:32:47.525 --> 00:32:51.485
<00:32:47.525>making <00:32:47.700>your <00:32:47.875>application <00:32:48.050>looking <00:32:48.225>more <00:32:48.400>native <00:32:48.575>in <00:32:48.750>a <00:32:48.925>system.

605
00:32:51.945 --> 00:32:54.605
<00:32:51.945>Uh, <00:32:52.178>it's, <00:32:52.411>um, <00:32:52.645>about <00:32:52.878>just <00:32:53.111>providing <00:32:53.345>some,

606
00:32:54.675 --> 00:32:56.885
<00:32:54.675>some <00:32:55.024>page <00:32:55.375>over <00:32:55.725>application <00:32:56.075>icon.

607
00:32:56.935 --> 00:32:58.205
<00:32:56.935>Again, <00:32:57.220>not <00:32:57.506>a <00:32:57.792>new <00:32:58.078>concept.

608
00:32:58.435 --> 00:33:01.525
<00:32:58.435>It's <00:32:58.610>very <00:32:58.784>popular <00:32:58.960>among <00:32:59.135>native <00:32:59.310>applications <00:32:59.485>when <00:32:59.659>we <00:32:59.835>have,

609
00:33:01.705 --> 00:33:04.165
<00:33:01.705>for <00:33:01.938>example, <00:33:02.171>a <00:33:02.405>number <00:33:02.638>of <00:33:02.871>unread <00:33:03.105>messages

610
00:33:04.705 --> 00:33:07.725
<00:33:04.705>and, <00:33:04.905>um, <00:33:05.105>a <00:33:05.304>bit <00:33:05.504>more <00:33:05.705>future <00:33:05.905>looking <00:33:06.105>concept

611
00:33:08.085 --> 00:33:09.365
<00:33:08.085>notification <00:33:09.237>triggers.

612
00:33:09.565 --> 00:33:12.405
<00:33:09.565>API <00:33:09.765>now <00:33:09.965>is <00:33:10.165>also <00:33:10.365>under, <00:33:10.565>let's <00:33:10.765>say, <00:33:10.965>refactor.

613
00:33:12.705 --> 00:33:14.605
<00:33:12.705>That's <00:33:12.985>the <00:33:13.264>way <00:33:13.544>for <00:33:13.824>us <00:33:14.105>to

614
00:33:15.125 --> 00:33:16.605
<00:33:15.125>schedule <00:33:15.458>notifications <00:33:15.791>in <00:33:16.124>the <00:33:16.457>future.

615
00:33:16.905 --> 00:33:19.765
<00:33:16.905>So <00:33:17.105>the <00:33:17.305>main <00:33:17.504>difference <00:33:17.705>from, <00:33:17.905>um, <00:33:18.105>web <00:33:18.305>notification,

616
00:33:19.945 --> 00:33:21.645
<00:33:19.945>web <00:33:20.225>push <00:33:20.504>notifications <00:33:20.784>is <00:33:21.064>the <00:33:21.345>fact

617
00:33:21.645 --> 00:33:23.605
<00:33:21.645>that <00:33:21.845>we <00:33:22.045>don't <00:33:22.245>need <00:33:22.445>any <00:33:22.645>kind <00:33:22.845>of <00:33:23.045>backend.

618
00:33:23.705 --> 00:33:26.645
<00:33:23.705>We <00:33:23.938>just <00:33:24.171>schedule <00:33:24.405>to <00:33:24.638>show <00:33:24.871>particular <00:33:25.105>notification.

619
00:33:26.705 --> 00:33:29.445
<00:33:26.705>Of <00:33:26.845>course, <00:33:26.985>here, <00:33:27.125>I <00:33:27.264>talk <00:33:27.405>about <00:33:27.544>native <00:33:27.685>ones <00:33:27.824>in <00:33:27.965>the <00:33:28.105>future,

620
00:33:29.585 --> 00:33:33.365
<00:33:29.585>and, <00:33:29.740>um, <00:33:29.896>at <00:33:30.051>this <00:33:30.207>time <00:33:30.362>point, <00:33:30.518>applic, <00:33:30.673>your <00:33:30.829>application <00:33:30.985>can,

621
00:33:33.505 --> 00:33:37.085
<00:33:33.505>uh, <00:33:33.680>be <00:33:33.855>like, <00:33:34.030>not, <00:33:34.205>not <00:33:34.380>in <00:33:34.555>the <00:33:34.730>foreground, <00:33:34.905>uh,

622
00:33:37.085 --> 00:33:38.845
<00:33:37.085>there <00:33:37.260>is <00:33:37.435>no <00:33:37.610>need <00:33:37.785>to <00:33:37.960>run <00:33:38.135>it <00:33:38.310>at <00:33:38.485>all,

623
00:33:39.025 --> 00:33:43.165
<00:33:39.025>but <00:33:39.200>once <00:33:39.375>scheduled, <00:33:39.550>the, <00:33:39.725>um, <00:33:39.900>education <00:33:40.075>will <00:33:40.250>be <00:33:40.425>shown.

624
00:33:43.745 --> 00:33:46.725
<00:33:43.745>Um, <00:33:44.024>super <00:33:44.304>briefly <00:33:44.584>about <00:33:44.864>background <00:33:45.145>tasks.

625
00:33:47.135 --> 00:33:49.925
<00:33:47.135>Again, <00:33:47.415>not, <00:33:47.695>uh, <00:33:47.975>very <00:33:48.254>new <00:33:48.535>APIs,

626
00:33:49.925 --> 00:33:52.485
<00:33:49.925>but, <00:33:50.080>uh, <00:33:50.236>it's <00:33:50.391>good <00:33:50.547>idea <00:33:50.702>that <00:33:50.858>they <00:33:51.013>are <00:33:51.169>evolving <00:33:51.325>here.

627
00:33:52.645 --> 00:33:57.285
<00:33:52.645>I <00:33:52.772>just <00:33:52.899>want <00:33:53.026>to <00:33:53.154>emphasize, <00:33:53.281>um, <00:33:53.408>very <00:33:53.535>cool <00:33:53.663>part <00:33:53.790>of <00:33:53.917>dev <00:33:54.045>tools

628
00:33:57.455 --> 00:33:58.525
<00:33:57.455>where <00:33:57.776>you <00:33:58.097>can <00:33:58.418>go

629
00:33:58.745 --> 00:34:03.445
<00:33:58.745>and <00:33:58.945>record <00:33:59.145>the <00:33:59.344>events <00:33:59.544>that <00:33:59.745>invoke <00:33:59.945>background <00:34:00.145>part

630
00:34:03.465 --> 00:34:06.685
<00:34:03.465>of <00:34:03.620>your <00:34:03.776>code, <00:34:03.931>because <00:34:04.087>it's <00:34:04.242>a <00:34:04.398>bit <00:34:04.553>challenging <00:34:04.709>to <00:34:04.865>debug

631
00:34:06.685 --> 00:34:08.085
<00:34:06.685>and <00:34:07.105>test <00:34:07.525>since, <00:34:07.945>um,

632
00:34:08.085 --> 00:34:11.805
<00:34:08.085>these <00:34:08.284>events <00:34:08.485>can <00:34:08.685>come <00:34:08.885>in <00:34:09.085>quite <00:34:09.284>unpredictable <00:34:09.485>way.

633
00:34:11.985 --> 00:34:14.325
<00:34:11.985>Um, <00:34:12.218>after <00:34:12.451>all, <00:34:12.685>this <00:34:12.918>is <00:34:13.151>background <00:34:13.385>tasks.

634
00:34:15.105 --> 00:34:17.725
<00:34:15.105>Um, <00:34:15.338>I <00:34:15.571>cannot <00:34:15.804>complain <00:34:16.038>about <00:34:16.271>current <00:34:16.505>state

635
00:34:17.725 --> 00:34:20.045
<00:34:17.725>of <00:34:18.191>accessing <00:34:18.658>hardware <00:34:19.125>capabilities.

636
00:34:20.715 --> 00:34:24.165
<00:34:20.715>Tons <00:34:20.915>of <00:34:21.115>different <00:34:21.315>APIs <00:34:21.515>for <00:34:21.715>pretty <00:34:21.915>much <00:34:22.115>every

637
00:34:25.125 --> 00:34:26.525
<00:34:25.125>hardware <00:34:25.440>feature <00:34:25.755>you <00:34:26.070>can <00:34:26.385>imagine.

638
00:34:26.945 --> 00:34:30.885
<00:34:26.945>So <00:34:27.085>the <00:34:27.225>question <00:34:27.365>could <00:34:27.505>be <00:34:27.645>where <00:34:27.785>to <00:34:27.925>follow <00:34:28.065>all <00:34:28.205>this, <00:34:28.345>uh,

639
00:34:30.885 --> 00:34:32.925
<00:34:30.885>latest <00:34:31.235>and, <00:34:31.585>uh, <00:34:31.935>greatest <00:34:32.285>updates.

640
00:34:33.745 --> 00:34:35.765
<00:34:33.745>Answer <00:34:34.025>is, <00:34:34.304>uh, <00:34:34.585>is <00:34:34.864>quite <00:34:35.145>simple.

641
00:34:36.055 --> 00:34:40.045
<00:34:36.054>There <00:34:36.182>is <00:34:36.309>a <00:34:36.436>project <00:34:36.564>called <00:34:36.691>fugu. <00:34:36.818>I <00:34:36.945>bet <00:34:37.073>you <00:34:37.200>heard <00:34:37.327>about <00:34:37.455>this.

642
00:34:40.155 --> 00:34:42.765
<00:34:40.155>It's, <00:34:40.282>uh, <00:34:40.409>with <00:34:40.536>us <00:34:40.664>for <00:34:40.791>a <00:34:40.918>few <00:34:41.045>years, <00:34:41.173>quite <00:34:41.300>a <00:34:41.427>few <00:34:41.555>years.

643
00:34:43.585 --> 00:34:44.765
<00:34:43.585>You <00:34:43.797>can <00:34:44.009>just, <00:34:44.222>uh, <00:34:44.434>go <00:34:44.647>there

644
00:34:44.985 --> 00:34:49.565
<00:34:44.985>and, <00:34:45.218>uh, <00:34:45.451>you <00:34:45.685>filter <00:34:45.918>all <00:34:46.151>upcoming <00:34:46.385>APIs,

645
00:34:49.825 --> 00:34:51.605
<00:34:49.824>um, <00:34:50.524>by <00:34:51.225>PWA.

646
00:34:51.665 --> 00:34:54.205
<00:34:51.665>And, <00:34:51.864>um, <00:34:52.065>yeah, <00:34:52.264>you'll <00:34:52.465>see <00:34:52.665>pretty <00:34:52.864>much <00:34:53.065>everything

647
00:34:54.205 --> 00:34:55.365
<00:34:54.205>what <00:34:54.726>I <00:34:55.248>introduced.

648
00:34:55.505 --> 00:34:58.925
<00:34:55.505>And, <00:34:55.660>uh, <00:34:55.816>definitely <00:34:55.971>there <00:34:56.127>are <00:34:56.282>some <00:34:56.438>new <00:34:56.593>things <00:34:56.749>are <00:34:56.905>coming

649
00:34:59.425 --> 00:35:03.925
<00:34:59.425>for <00:34:59.625>better <00:34:59.825>integration <00:35:00.025>application <00:35:00.225>and, <00:35:00.425>uh, <00:35:00.625>operating <00:35:00.825>system

650
00:35:03.985 --> 00:35:05.205
<00:35:03.985>and <00:35:05.083>hardware.

651
00:35:05.625 --> 00:35:10.445
<00:35:05.625>Uh, <00:35:05.800>couple <00:35:05.975>more <00:35:06.150>useful <00:35:06.325>links <00:35:06.500>for <00:35:06.675>you, <00:35:06.850>um, <00:35:07.025>different,

652
00:35:10.625 --> 00:35:12.325
<00:35:10.625>um, <00:35:12.025>incubators.

653
00:35:12.625 --> 00:35:15.685
<00:35:12.625>And, <00:35:12.800>uh, <00:35:12.975>also <00:35:13.150>in <00:35:13.325>description <00:35:13.500>of <00:35:13.675>origin <00:35:13.850>trial <00:35:14.025>concept,

654
00:35:15.925 --> 00:35:20.565
<00:35:15.925>I <00:35:16.080>mentioned <00:35:16.236>this <00:35:16.391>is <00:35:16.547>a <00:35:16.702>super <00:35:16.858>useful <00:35:17.013>way <00:35:17.169>for, <00:35:17.325>um,

655
00:35:21.025 --> 00:35:25.885
<00:35:21.025>uh, <00:35:21.165>trying <00:35:21.305>out <00:35:21.445>all <00:35:21.585>these <00:35:21.725>new <00:35:21.865>capabilities, <00:35:22.005>um, <00:35:22.145>for, <00:35:22.285>um, <00:35:22.425>um,

656
00:35:26.075 --> 00:35:28.325
<00:35:26.075>broader <00:35:26.355>audience, <00:35:26.634>not <00:35:26.915>only <00:35:27.194>for <00:35:27.475>you

657
00:35:28.325 --> 00:35:29.485
<00:35:28.325>and <00:35:28.586>your <00:35:28.846>team <00:35:29.108>as <00:35:29.369>developers,

658
00:35:29.785 --> 00:35:32.925
<00:35:29.785>but <00:35:29.940>you <00:35:30.096>can, <00:35:30.251>uh, <00:35:30.407>ask, <00:35:30.562>uh, <00:35:30.718>pretty <00:35:30.873>much <00:35:31.029>everyone <00:35:31.185>to,

659
00:35:33.105 --> 00:35:36.125
<00:35:33.105>to <00:35:33.245>test <00:35:33.385>it, <00:35:33.525>uh, <00:35:33.665>in <00:35:33.805>how, <00:35:33.945>how <00:35:34.085>that <00:35:34.225>works <00:35:34.365>for, <00:35:34.505>uh,

660
00:35:36.225 --> 00:35:38.245
<00:35:36.225>for <00:35:36.458>their <00:35:36.691>browser, <00:35:36.924>for <00:35:37.158>their <00:35:37.391>operating <00:35:37.625>system.

661
00:35:39.155 --> 00:35:41.085
<00:35:39.155>Okay, <00:35:39.505>so <00:35:39.855>let's <00:35:40.205>just, <00:35:40.555>uh,

662
00:35:41.675 --> 00:35:44.645
<00:35:41.675>list <00:35:41.955>these <00:35:42.235>categories <00:35:42.515>one <00:35:42.795>more <00:35:43.075>time.

663
00:35:45.595 --> 00:35:48.965
<00:35:45.595>This <00:35:45.794>is, <00:35:45.995>um, <00:35:46.194>everything <00:35:46.395>I <00:35:46.595>gathered <00:35:46.794>for <00:35:46.995>you

664
00:35:49.545 --> 00:35:53.525
<00:35:49.545>and <00:35:49.700>are <00:35:49.856>there <00:35:50.011>yet <00:35:50.167>you <00:35:50.322>folks <00:35:50.478>give, <00:35:50.633>uh, <00:35:50.789>this <00:35:50.945>answer.

665
00:35:53.865 --> 00:35:58.845
<00:35:53.865>So <00:35:54.004>I <00:35:54.145>don't <00:35:54.285>know. <00:35:54.424>For <00:35:54.564>me, <00:35:54.705>we <00:35:54.845>definitely <00:35:54.984>are <00:35:55.125>very <00:35:55.265>close

666
00:35:58.985 --> 00:36:01.965
<00:35:58.985>to <00:35:59.101>the <00:35:59.218>parity <00:35:59.335>of <00:35:59.451>what <00:35:59.568>web <00:35:59.685>can <00:35:59.801>do <00:35:59.918>and <00:36:00.035>what <00:36:00.151>native <00:36:00.268>can <00:36:00.385>do.

667
00:36:02.425 --> 00:36:03.445
<00:36:02.425>In <00:36:02.884>some <00:36:03.343>points,

668
00:36:04.025 --> 00:36:06.925
<00:36:04.025>web <00:36:04.258>applications <00:36:04.491>are <00:36:04.725>better <00:36:04.958>than <00:36:05.191>native <00:36:05.425>ones.

669
00:36:07.345 --> 00:36:09.885
<00:36:07.345>In <00:36:07.484>some <00:36:07.625>points, <00:36:07.765>of <00:36:07.904>course, <00:36:08.044>we <00:36:08.185>are <00:36:08.325>lagging <00:36:08.464>a <00:36:08.605>bit <00:36:08.745>behind,

670
00:36:11.095 --> 00:36:14.595
<00:36:11.095>but, <00:36:11.270>uh, <00:36:11.444>yes, <00:36:11.620>uh, <00:36:11.794>it's, <00:36:11.970>uh, <00:36:12.145>an <00:36:12.319>individual <00:36:12.495>answer

671
00:36:14.615 --> 00:36:16.875
<00:36:14.615>for <00:36:14.895>every <00:36:15.174>developer <00:36:15.455>and <00:36:15.734>every <00:36:16.015>team.

672
00:36:17.625 --> 00:36:21.635
<00:36:17.625>Last <00:36:17.780>question <00:36:17.936>I <00:36:18.091>want <00:36:18.247>to <00:36:18.402>give <00:36:18.558>answer <00:36:18.713>on <00:36:18.869>is <00:36:19.025>where

673
00:36:21.695 --> 00:36:23.955
<00:36:21.695>to <00:36:21.975>host <00:36:22.255>your <00:36:22.535>native <00:36:22.815>web <00:36:23.095>application,

674
00:36:23.985 --> 00:36:25.635
<00:36:23.985>your <00:36:24.451>progressive <00:36:24.918>web <00:36:25.385>application,

675
00:36:26.175 --> 00:36:28.915
<00:36:26.175>or <00:36:26.408>maybe <00:36:26.641>just, <00:36:26.875>uh, <00:36:27.108>classic <00:36:27.341>web <00:36:27.575>application

676
00:36:29.015 --> 00:36:33.155
<00:36:29.015>so <00:36:29.142>far <00:36:29.269>here <00:36:29.396>I <00:36:29.524>recommend <00:36:29.651>you <00:36:29.778>to <00:36:29.905>have <00:36:30.033>a <00:36:30.160>look <00:36:30.287>at, <00:36:30.415>um,

677
00:36:33.945 --> 00:36:37.155
<00:36:33.945>service <00:36:34.120>from <00:36:34.295>Azure <00:36:34.470>Cloud <00:36:34.645>called <00:36:34.820>Azure <00:36:34.995>Static <00:36:35.170>Web <00:36:35.345>Apps.

678
00:36:37.385 --> 00:36:39.035
<00:36:37.385>It's <00:36:37.618>very <00:36:37.851>simple <00:36:38.085>to <00:36:38.318>start <00:36:38.551>with <00:36:38.785>this.

679
00:36:39.175 --> 00:36:41.155
<00:36:39.175>You <00:36:39.455>just <00:36:39.735>point <00:36:40.015>to <00:36:40.295>GitHub <00:36:40.575>repo,

680
00:36:41.375 --> 00:36:45.295
<00:36:41.375>and, <00:36:41.515>uh, <00:36:41.655>in <00:36:41.795>a <00:36:41.935>few <00:36:42.075>seconds <00:36:42.215>you'll <00:36:42.355>see <00:36:42.495>your <00:36:42.635>application <00:36:42.775>hosted

681
00:36:45.315 --> 00:36:48.255
<00:36:45.315>and, <00:36:45.515>uh, <00:36:45.715>distributed <00:36:45.915>over <00:36:46.115>multiple <00:36:46.315>data <00:36:46.515>centers, <00:36:46.715>uh,

682
00:36:48.325 --> 00:36:50.375
<00:36:48.325>data <00:36:48.605>centers <00:36:48.884>on, <00:36:49.165>uh, <00:36:49.444>our <00:36:49.725>planet.

683
00:36:50.755 --> 00:36:54.095
<00:36:50.755>And, <00:36:50.910>uh, <00:36:51.066>there <00:36:51.221>is <00:36:51.377>a <00:36:51.532>very <00:36:51.688>nice, <00:36:51.843>generous, <00:36:51.999>free <00:36:52.155>tier,

684
00:36:54.315 --> 00:36:57.495
<00:36:54.315>so <00:36:54.455>you <00:36:54.595>do <00:36:54.735>not <00:36:54.875>spend <00:36:55.015>any <00:36:55.155>dollars <00:36:55.295>on, <00:36:55.435>uh, <00:36:55.575>on <00:36:55.715>hosting.

685
00:36:57.955 --> 00:36:59.175
<00:36:57.955>So <00:36:58.174>just <00:36:58.394>go <00:36:58.613>to <00:36:58.833>this <00:36:59.053>euro

686
00:36:59.315 --> 00:37:01.455
<00:36:59.315>or <00:36:59.595>scan <00:36:59.875>this, <00:37:00.155>um, <00:37:00.435>QR <00:37:00.715>code

687
00:37:01.485 --> 00:37:03.895
<00:37:01.485>with <00:37:01.718>your <00:37:01.951>device <00:37:02.185>right <00:37:02.418>here, <00:37:02.651>right <00:37:02.885>now.

688
00:37:04.835 --> 00:37:07.415
<00:37:04.835>On <00:37:05.010>that, <00:37:05.185>I <00:37:05.360>want <00:37:05.535>to <00:37:05.710>say <00:37:05.885>thank <00:37:06.060>you <00:37:06.235>much.

689
00:37:07.435 --> 00:37:09.815
<00:37:07.435>Thanks <00:37:07.715>for, <00:37:07.995>uh, <00:37:08.275>staying <00:37:08.555>with <00:37:08.835>me,

690
00:37:10.235 --> 00:37:15.015
<00:37:10.235>and, <00:37:10.362>uh, <00:37:10.489>I <00:37:10.616>am <00:37:10.744>going <00:37:10.871>to <00:37:10.998>check <00:37:11.125>if <00:37:11.253>there <00:37:11.380>are <00:37:11.507>some <00:37:11.635>questions

691
00:37:15.555 --> 00:37:17.535
<00:37:15.555>in <00:37:15.754>the <00:37:15.955>chat <00:37:16.154>and <00:37:16.355>q <00:37:16.555>and <00:37:16.754>a <00:37:16.955>section.

692
00:37:23.725 --> 00:37:26.695
<00:37:23.725>Okay, <00:37:24.424>our <00:37:25.125>hub,

693
00:37:30.625 --> 00:37:34.445
<00:37:30.625>uh, <00:37:30.825>okay, <00:37:31.025>lots <00:37:31.225>of, <00:37:31.425>uh, <00:37:31.625>hellos <00:37:31.825>in, <00:37:32.025>uh,

694
00:37:35.195 --> 00:37:36.925
<00:37:35.195>live <00:37:35.475>chat, <00:37:35.755>the <00:37:36.035>local <00:37:36.315>Hello <00:37:36.595>folks.

695
00:37:38.505 --> 00:37:40.605
<00:37:38.505>And, <00:37:38.705>uh, <00:37:38.905>now <00:37:39.105>I <00:37:39.305>open <00:37:39.505>q <00:37:39.705>and <00:37:39.905>a.

696
00:37:41.595 --> 00:37:42.805
<00:37:41.595>Yeah, <00:37:41.812>there <00:37:42.030>are <00:37:42.248>a <00:37:42.466>few <00:37:42.683>questions.

697
00:37:43.715 --> 00:37:47.215
<00:37:43.715>Let <00:37:43.948>me, <00:37:44.181>let <00:37:44.415>me <00:37:44.648>briefly <00:37:44.881>go <00:37:45.115>through,

698
00:37:50.665 --> 00:37:54.525
<00:37:50.665>uh, <00:37:50.805>no <00:37:50.945>speaks <00:37:51.085>about <00:37:51.225>h <00:37:51.365>hp <00:37:51.505>protocol <00:37:51.645>that <00:37:51.785>is <00:37:51.925>second <00:37:52.065>edition.

699
00:37:55.065 --> 00:37:57.325
<00:37:55.065>Am <00:37:55.298>I <00:37:55.531>wrong? <00:37:55.765>Uh, <00:37:55.998>question <00:37:56.231>from, <00:37:56.465>uh,

700
00:37:57.765 --> 00:38:00.005
<00:37:57.765>ML <00:37:57.964>you <00:37:58.165>are <00:37:58.365>absolutely <00:37:58.565>right, <00:37:58.765>m <00:37:58.964>and <00:37:59.165>l.

701
00:38:00.265 --> 00:38:04.805
<00:38:00.265>Uh, <00:38:00.420>i, <00:38:00.576>I <00:38:00.731>am <00:38:00.887>I <00:38:01.042>a <00:38:01.198>bit <00:38:01.353>simplified <00:38:01.509>the <00:38:01.665>criteria,

702
00:38:05.215 --> 00:38:09.205
<00:38:05.215>maybe <00:38:05.390>because, <00:38:05.565>uh, <00:38:05.740>for <00:38:05.915>me, <00:38:06.090>HPS <00:38:06.265>is <00:38:06.440>not, <00:38:06.615>uh,

703
00:38:09.555 --> 00:38:10.845
<00:38:09.555>something <00:38:09.942>nice <00:38:10.328>to <00:38:10.716>have,

704
00:38:10.985 --> 00:38:13.765
<00:38:10.985>but, <00:38:11.160>uh, <00:38:11.335>really <00:38:11.510>close <00:38:11.685>to <00:38:11.860>must <00:38:12.035>have <00:38:12.210>these <00:38:12.385>days.

705
00:38:14.205 --> 00:38:15.485
<00:38:14.205>I <00:38:14.493>personally <00:38:14.781>wanna <00:38:15.069>open, <00:38:15.357>um,

706
00:38:15.605 --> 00:38:18.005
<00:38:15.605>a <00:38:15.838>website <00:38:16.071>which <00:38:16.305>is <00:38:16.538>not <00:38:16.771>under <00:38:17.005>HPS.

707
00:38:18.405 --> 00:38:21.245
<00:38:18.405>I <00:38:18.532>tend <00:38:18.659>to <00:38:18.786>just <00:38:18.914>close <00:38:19.041>this <00:38:19.168>tab <00:38:19.295>because <00:38:19.423>I <00:38:19.550>do <00:38:19.677>not <00:38:19.805>trust,

708
00:38:21.505 --> 00:38:22.845
<00:38:21.505>and <00:38:21.806>yeah, <00:38:22.108>you're <00:38:22.409>absolutely <00:38:22.711>right.

709
00:38:23.225 --> 00:38:26.365
<00:38:23.225>Uh, <00:38:23.458>we <00:38:23.691>can <00:38:23.924>call <00:38:24.158>our <00:38:24.391>application <00:38:24.625>progressive

710
00:38:26.365 --> 00:38:30.805
<00:38:26.365>or <00:38:26.540>native, <00:38:26.714>um, <00:38:26.890>only <00:38:27.064>if <00:38:27.240>it's <00:38:27.415>served <00:38:27.589>under <00:38:27.765>HCPS.

711
00:38:31.085 --> 00:38:35.165
<00:38:31.085>I <00:38:31.225>hope <00:38:31.365>that, <00:38:31.505>uh, <00:38:31.645>it's, <00:38:31.785>um, <00:38:31.925>it's <00:38:32.065>the <00:38:32.205>case <00:38:32.345>in, <00:38:32.485>uh,

712
00:38:35.425 --> 00:38:36.565
<00:38:35.425>all <00:38:35.938>your <00:38:36.451>scenarios.

713
00:38:38.125 --> 00:38:40.775
<00:38:38.125>Then, <00:38:38.475>uh, <00:38:38.825>next, <00:38:39.175>uh, <00:38:39.525>question

714
00:38:41.355 --> 00:38:44.495
<00:38:41.355>or <00:38:41.495>it's <00:38:41.635>more, <00:38:41.775>more <00:38:41.915>like <00:38:42.055>comment, <00:38:42.195>is <00:38:42.335>it <00:38:42.475>a <00:38:42.615>good <00:38:42.755>idea

715
00:38:44.595 --> 00:38:47.415
<00:38:44.595>to <00:38:44.770>have <00:38:44.944>one <00:38:45.120>code <00:38:45.294>base <00:38:45.470>for, <00:38:45.645>for <00:38:45.819>code <00:38:45.995>base,

716
00:38:47.435 --> 00:38:49.495
<00:38:47.435>for <00:38:47.715>web <00:38:47.995>application <00:38:48.275>and <00:38:48.555>native <00:38:48.835>application?

717
00:38:49.715 --> 00:38:52.855
<00:38:49.715>It <00:38:49.842>looks <00:38:49.969>to <00:38:50.096>a <00:38:50.224>separate <00:38:50.351>code <00:38:50.478>base <00:38:50.605>might <00:38:50.733>be <00:38:50.860>a <00:38:50.987>better <00:38:51.115>idea.

718
00:38:53.325 --> 00:38:55.215
<00:38:53.325>Well, <00:38:53.558>this <00:38:53.791>is <00:38:54.024>a <00:38:54.258>very <00:38:54.491>good <00:38:54.725>question,

719
00:38:55.235 --> 00:38:57.015
<00:38:55.235>and <00:38:55.515>this <00:38:55.795>is, <00:38:56.075>um, <00:38:56.355>open <00:38:56.635>question.

720
00:38:57.275 --> 00:39:01.215
<00:38:57.275>Uh, <00:38:57.475>we <00:38:57.675>can <00:38:57.875>definitely <00:38:58.075>dedicate <00:38:58.275>a <00:38:58.475>separate <00:38:58.675>session

721
00:39:01.275 --> 00:39:04.015
<00:39:01.275>or <00:39:01.508>multiple <00:39:01.741>session <00:39:01.975>to, <00:39:02.208>to <00:39:02.441>discuss <00:39:02.675>this.

722
00:39:04.315 --> 00:39:07.335
<00:39:04.315>Um, <00:39:04.470>there <00:39:04.626>are <00:39:04.781>no <00:39:04.937>definitely <00:39:05.092>no <00:39:05.248>one <00:39:05.403>size <00:39:05.559>fits <00:39:05.715>all,

723
00:39:07.915 --> 00:39:12.565
<00:39:07.915>but <00:39:08.070>I'd <00:39:08.226>say <00:39:08.381>that, <00:39:08.537>uh, <00:39:08.692>from <00:39:08.848>my <00:39:09.003>experience <00:39:09.159>for <00:39:09.315>many,

724
00:39:12.875 --> 00:39:17.045
<00:39:12.875>many, <00:39:13.015>many <00:39:13.155>kinds <00:39:13.295>of <00:39:13.435>the <00:39:13.575>application, <00:39:13.715>a <00:39:13.855>unified <00:39:13.995>code <00:39:14.135>base <00:39:14.275>is,

725
00:39:17.065 --> 00:39:19.165
<00:39:17.065>um, <00:39:17.345>is, <00:39:17.625>is <00:39:17.905>the <00:39:18.185>best <00:39:18.465>solution.

726
00:39:19.555 --> 00:39:24.275
<00:39:19.555>Just, <00:39:19.694>um, <00:39:19.835>yeah, <00:39:19.975>I, <00:39:20.115>I, <00:39:20.254>i, <00:39:20.395>it's, <00:39:20.535>um, <00:39:20.674>it's <00:39:20.815>about, <00:39:20.955>uh,

727
00:39:24.275 --> 00:39:27.195
<00:39:24.275>saving <00:39:24.430>on, <00:39:24.586>on, <00:39:24.741>on <00:39:24.897>everything, <00:39:25.052>on, <00:39:25.208>uh, <00:39:25.363>speed <00:39:25.519>of <00:39:25.675>development,

728
00:39:27.195 --> 00:39:30.755
<00:39:27.195>on <00:39:27.335>cost <00:39:27.475>of, <00:39:27.615>uh, <00:39:27.755>development, <00:39:27.895>but <00:39:28.035>on <00:39:28.175>cost <00:39:28.315>of, <00:39:28.455>uh, <00:39:28.595>support.

729
00:39:31.295 --> 00:39:33.995
<00:39:31.295>So <00:39:31.470>why <00:39:31.645>not <00:39:31.820>to <00:39:31.995>check <00:39:32.170>that, <00:39:32.345>um, <00:39:32.520>that <00:39:32.695>all.

730
00:39:35.375 --> 00:39:38.155
<00:39:35.375>Uh, <00:39:35.608>next <00:39:35.841>question <00:39:36.075>is <00:39:36.308>from, <00:39:36.541>uh, <00:39:36.775>Nick,

731
00:39:38.295 --> 00:39:41.115
<00:39:38.295>how <00:39:38.495>would <00:39:38.695>you <00:39:38.895>deploy <00:39:39.095>PWA <00:39:39.295>for <00:39:39.495>iPhone <00:39:39.695>users?

732
00:39:41.305 --> 00:39:42.915
<00:39:41.305>Push <00:39:41.654>API <00:39:42.004>is <00:39:42.355>not <00:39:42.705>supported

733
00:39:42.935 --> 00:39:45.795
<00:39:42.935>and <00:39:43.134>not <00:39:43.335>able <00:39:43.535>to <00:39:43.735>install, <00:39:43.935>install <00:39:44.134>via <00:39:44.335>mobiles.

734
00:39:45.855 --> 00:39:50.675
<00:39:45.855>Um, <00:39:46.010>safari <00:39:46.166>Chrome, <00:39:46.321>um, <00:39:46.477>you <00:39:46.632>are <00:39:46.788>only <00:39:46.943>partially, <00:39:47.099>right <00:39:47.255>Nick,

735
00:39:50.855 --> 00:39:52.795
<00:39:50.855>uh, <00:39:51.205>because <00:39:51.555>you <00:39:51.905>are <00:39:52.255>able

736
00:39:52.815 --> 00:39:55.595
<00:39:52.815>to <00:39:53.048>install <00:39:53.281>your <00:39:53.515>progressive <00:39:53.748>application <00:39:53.981>on <00:39:54.215>Safari,

737
00:39:55.775 --> 00:40:00.515
<00:39:55.775>on <00:39:55.950>iPhone, <00:39:56.125>it's, <00:39:56.300>um, <00:39:56.475>a <00:39:56.650>bit <00:39:56.825>hidden, <00:39:57.000>uh, <00:39:57.175>feature.

738
00:40:00.795 --> 00:40:03.235
<00:40:00.795>I <00:40:00.935>don't <00:40:01.075>know <00:40:01.215>why. <00:40:01.355>So <00:40:01.495>you'll <00:40:01.635>not <00:40:01.775>see, <00:40:01.915>let's <00:40:02.055>say <00:40:02.195>any,

739
00:40:03.495 --> 00:40:08.195
<00:40:03.495>any <00:40:03.634>prominent <00:40:03.775>things, <00:40:03.915>but <00:40:04.055>if, <00:40:04.194>uh, <00:40:04.335>you <00:40:04.475>click, <00:40:04.615>um, <00:40:04.755>this, <00:40:04.895>uh,

740
00:40:08.315 --> 00:40:10.875
<00:40:08.315>item <00:40:08.490>can, <00:40:08.665>I, <00:40:08.840>I <00:40:09.015>believe <00:40:09.190>it's, <00:40:09.365>uh, <00:40:09.540>share <00:40:09.715>or,

741
00:40:10.895 --> 00:40:14.355
<00:40:10.895>or <00:40:11.095>something, <00:40:11.295>you'll <00:40:11.495>find <00:40:11.695>menu <00:40:11.895>item <00:40:12.095>called <00:40:12.295>add

742
00:40:14.455 --> 00:40:15.475
<00:40:14.455>to <00:40:14.913>home <00:40:15.373>screen.

743
00:40:16.095 --> 00:40:17.955
<00:40:16.095>And <00:40:16.375>if <00:40:16.654>your <00:40:16.935>application <00:40:17.214>is, <00:40:17.495>uh,

744
00:40:18.075 --> 00:40:20.515
<00:40:18.075>PW <00:40:18.308>contains <00:40:18.541>service <00:40:18.774>worker <00:40:19.008>web, <00:40:19.241>uh, <00:40:19.475>manifest,

745
00:40:20.545 --> 00:40:23.275
<00:40:20.545>this <00:40:20.700>will <00:40:20.856>be <00:40:21.011>not <00:40:21.167>just <00:40:21.322>shortcut <00:40:21.478>on <00:40:21.633>the <00:40:21.789>home <00:40:21.945>screen.

746
00:40:23.345 --> 00:40:26.835
<00:40:23.345>This <00:40:23.520>will <00:40:23.694>be <00:40:23.870>actually <00:40:24.044>like <00:40:24.220>installed <00:40:24.395>application <00:40:24.569>with, <00:40:24.745>uh,

747
00:40:27.095 --> 00:40:30.515
<00:40:27.095>all <00:40:27.250>assets <00:40:27.406>prec, <00:40:27.561>of <00:40:27.717>course, <00:40:27.872>if <00:40:28.028>you <00:40:28.183>roll <00:40:28.339>correspondent <00:40:28.495>code,

748
00:40:30.855 --> 00:40:34.555
<00:40:30.855>uh, <00:40:31.030>so <00:40:31.205>then <00:40:31.380>you <00:40:31.555>can <00:40:31.730>safely <00:40:31.905>go <00:40:32.080>on <00:40:32.255>offline

749
00:40:34.655 --> 00:40:36.955
<00:40:34.655>and <00:40:34.830>check <00:40:35.005>if <00:40:35.180>the <00:40:35.355>application <00:40:35.530>works, <00:40:35.705>and <00:40:35.880>it <00:40:36.055>should.

750
00:40:37.175 --> 00:40:39.515
<00:40:37.175>And <00:40:37.375>I <00:40:37.575>already <00:40:37.775>mentioned <00:40:37.975>that, <00:40:38.175>um, <00:40:38.375>that, <00:40:38.575>um,

751
00:40:40.265 --> 00:40:43.235
<00:40:40.265>push <00:40:40.440>API <00:40:40.615>is <00:40:40.790>not <00:40:40.964>supported <00:40:41.140>yet, <00:40:41.315>but <00:40:41.490>it's <00:40:41.665>coming.

752
00:40:43.555 --> 00:40:46.115
<00:40:43.555>I, <00:40:43.754>I <00:40:43.955>hope <00:40:44.154>it's, <00:40:44.355>um, <00:40:44.555>it's <00:40:44.754>coming, <00:40:44.955>uh,

753
00:40:46.135 --> 00:40:50.275
<00:40:46.135>at <00:40:46.290>at <00:40:46.446>least <00:40:46.601>there <00:40:46.757>are <00:40:46.912>some, <00:40:47.068>uh, <00:40:47.223>very <00:40:47.379>relevant <00:40:47.535>commits

754
00:40:50.295 --> 00:40:51.875
<00:40:50.295>to <00:40:50.995>web <00:40:51.695>kit.

755
00:40:53.665 --> 00:40:57.765
<00:40:53.665>And <00:40:53.820>I <00:40:53.976>go <00:40:54.131>for <00:40:54.287>the <00:40:54.442>next <00:40:54.598>question, <00:40:54.753>uh, <00:40:54.909>from <00:40:55.065>Adnan,

756
00:40:59.245 --> 00:41:00.405
<00:40:59.245>PWA <00:40:59.593>seem <00:40:59.941>like, <00:41:00.289>uh,

757
00:41:00.405 --> 00:41:02.805
<00:41:00.405>they're <00:41:00.638>closing <00:41:00.871>the <00:41:01.105>gap <00:41:01.338>on <00:41:01.571>native <00:41:01.805>application.

758
00:41:02.945 --> 00:41:06.805
<00:41:02.945>Yes, <00:41:03.085>exactly. <00:41:03.225>What <00:41:03.365>do <00:41:03.505>you <00:41:03.645>think <00:41:03.785>are <00:41:03.925>the <00:41:04.065>biggest <00:41:04.205>hurdles <00:41:04.345>CW

759
00:41:06.805 --> 00:41:10.005
<00:41:06.805>company <00:41:06.980>has <00:41:07.154>to <00:41:07.330>overcome <00:41:07.504>to <00:41:07.680>become <00:41:07.855>the <00:41:08.029>main <00:41:08.205>way

760
00:41:10.105 --> 00:41:11.645
<00:41:10.105>of <00:41:10.798>developing <00:41:11.491>applications?

761
00:41:12.505 --> 00:41:15.085
<00:41:12.505>The <00:41:12.680>main, <00:41:12.855>uh, <00:41:13.030>the <00:41:13.205>main <00:41:13.380>issue, <00:41:13.555>the <00:41:13.730>main <00:41:13.905>problem

762
00:41:15.185 --> 00:41:18.525
<00:41:15.185>of <00:41:15.384>progressive <00:41:15.585>applications <00:41:15.785>is <00:41:15.985>the <00:41:16.185>fact <00:41:16.384>that, <00:41:16.585>uh,

763
00:41:20.385 --> 00:41:23.325
<00:41:20.385>um, <00:41:20.665>let's <00:41:20.945>say <00:41:21.225>b <00:41:21.505>do <00:41:21.785>not

764
00:41:24.235 --> 00:41:25.485
<00:41:24.235>explore <00:41:24.797>them <00:41:25.360>enough.

765
00:41:25.845 --> 00:41:29.285
<00:41:25.845>I <00:41:26.000>mean, <00:41:26.156>I <00:41:26.311>run <00:41:26.467>multiple <00:41:26.622>sessions <00:41:26.778>on, <00:41:26.933>uh, <00:41:27.089>all <00:41:27.245>kinds

766
00:41:29.285 --> 00:41:30.605
<00:41:29.285>of <00:41:29.681>progressive <00:41:30.077>web <00:41:30.473>applications.

767
00:41:30.905 --> 00:41:33.725
<00:41:30.905>Um, <00:41:31.080>there <00:41:31.255>are <00:41:31.430>many <00:41:31.605>folks <00:41:31.780>who <00:41:31.955>present <00:41:32.130>about <00:41:32.305>ps,

768
00:41:33.865 --> 00:41:38.605
<00:41:33.865>but <00:41:34.020>still, <00:41:34.176>um, <00:41:34.331>many <00:41:34.487>developers, <00:41:34.642>um, <00:41:34.798>didn't <00:41:34.953>even <00:41:35.109>try, <00:41:35.265>uh,

769
00:41:38.705 --> 00:41:40.605
<00:41:38.705>and <00:41:38.985>many <00:41:39.265>businesses <00:41:39.545>didn't, <00:41:39.825>didn't <00:41:40.105>even

770
00:41:41.125 --> 00:41:42.565
<00:41:41.125>consider <00:41:41.449>this <00:41:41.773>as <00:41:42.097>an <00:41:42.421>option.

771
00:41:42.785 --> 00:41:44.925
<00:41:42.785>So, <00:41:43.018>um, <00:41:43.251>the <00:41:43.484>problem <00:41:43.718>is <00:41:43.951>not <00:41:44.185>technical.

772
00:41:44.945 --> 00:41:48.165
<00:41:44.945>The <00:41:45.120>problem <00:41:45.295>is, <00:41:45.470>um, <00:41:45.645>about, <00:41:45.820>let's <00:41:45.995>say <00:41:46.170>proper, <00:41:46.345>uh,

773
00:41:48.165 --> 00:41:50.565
<00:41:48.165>information <00:41:48.631>about, <00:41:49.098>uh, <00:41:49.565>PWAs.

774
00:41:51.905 --> 00:41:55.165
<00:41:51.905>And <00:41:52.138>the <00:41:52.371>last <00:41:52.605>one <00:41:52.838>from, <00:41:53.071>uh, <00:41:53.305>Alexander,

775
00:41:55.905 --> 00:41:59.645
<00:41:55.905>how <00:41:56.045>possible <00:41:56.185>easy <00:41:56.325>is <00:41:56.465>it <00:41:56.605>to <00:41:56.745>distribute <00:41:56.885>a <00:41:57.025>WA <00:41:57.165>via <00:41:57.305>Android

776
00:41:59.825 --> 00:42:03.085
<00:41:59.825>and <00:42:00.058>IO <00:42:00.291>application <00:42:00.524>stores <00:42:00.758>other <00:42:00.991>known <00:42:01.225>limitations.

777
00:42:03.135 --> 00:42:05.285
<00:42:03.135>There <00:42:03.335>should <00:42:03.535>be <00:42:03.735>some <00:42:03.935>from <00:42:04.135>Apple <00:42:04.335>side, <00:42:04.535>right?

778
00:42:06.135 --> 00:42:07.165
<00:42:06.135>There <00:42:06.444>are, <00:42:06.753>there <00:42:07.062>are,

779
00:42:07.305 --> 00:42:10.605
<00:42:07.305>and <00:42:07.654>uh, <00:42:08.004>I'd <00:42:08.355>say <00:42:08.705>that

780
00:42:11.165 --> 00:42:14.365
<00:42:11.165>distributing <00:42:11.445>your <00:42:11.725>PW <00:42:12.005>to <00:42:12.285>Google <00:42:12.565>Play

781
00:42:14.665 --> 00:42:19.325
<00:42:14.665>and <00:42:14.805>to <00:42:14.945>Microsoft <00:42:15.085>Store <00:42:15.225>is <00:42:15.365>a <00:42:15.505>question <00:42:15.645>of <00:42:15.785>couple <00:42:15.925>of <00:42:16.065>clicks

782
00:42:19.465 --> 00:42:22.445
<00:42:19.465>of <00:42:19.815>registering <00:42:20.165>corresponding <00:42:20.515>developer <00:42:20.865>accounts,

783
00:42:22.495 --> 00:42:25.045
<00:42:22.495>which <00:42:22.670>are <00:42:22.845>free, <00:42:23.020>uh, <00:42:23.194>for <00:42:23.370>Google <00:42:23.545>and <00:42:23.720>the <00:42:23.895>Microsoft,

784
00:42:25.505 --> 00:42:29.765
<00:42:25.505>and, <00:42:25.680>um, <00:42:25.855>yeah, <00:42:26.030>like <00:42:26.205>submitting <00:42:26.380>some, <00:42:26.555>um, <00:42:26.730>some <00:42:26.905>forms.

785
00:42:30.145 --> 00:42:33.205
<00:42:30.145>You <00:42:30.345>don't <00:42:30.545>have <00:42:30.745>to <00:42:30.945>be <00:42:31.145>neither <00:42:31.345>Android <00:42:31.545>developer

786
00:42:33.505 --> 00:42:36.005
<00:42:33.505>nor <00:42:33.971>Windows <00:42:34.438>native <00:42:34.905>developer.

787
00:42:36.155 --> 00:42:37.405
<00:42:36.155>This <00:42:36.380>is <00:42:36.605>what <00:42:36.830>happened <00:42:37.055>with <00:42:37.280>me.

788
00:42:37.745 --> 00:42:40.285
<00:42:37.745>Um, <00:42:37.978>I'm <00:42:38.211>web <00:42:38.444>developer, <00:42:38.678>web <00:42:38.911>web <00:42:39.145>developer,

789
00:42:40.285 --> 00:42:42.445
<00:42:40.285>but <00:42:40.518>I <00:42:40.751>have <00:42:40.984>my <00:42:41.218>application <00:42:41.451>this, <00:42:41.685>um,

790
00:42:43.405 --> 00:42:46.885
<00:42:43.405>BPM <00:42:43.580>techno <00:42:43.755>I <00:42:43.930>already <00:42:44.105>mentioned <00:42:44.280>both <00:42:44.455>in <00:42:44.630>Google <00:42:44.805>Play

791
00:42:47.185 --> 00:42:48.325
<00:42:47.185>and <00:42:47.698>Microsoft <00:42:48.211>Store,

792
00:42:48.545 --> 00:42:50.605
<00:42:48.545>and <00:42:48.778>I <00:42:49.011>used <00:42:49.245>tool <00:42:49.478>called <00:42:49.711>PWA <00:42:49.945>Builder

793
00:42:50.795 --> 00:42:55.445
<00:42:50.795>that <00:42:50.935>created <00:42:51.075>all <00:42:51.215>assets <00:42:51.355>I <00:42:51.495>deployed, <00:42:51.635>uh, <00:42:51.775>for, <00:42:51.915>for <00:42:52.055>me, <00:42:52.195>um,

794
00:42:55.635 --> 00:42:58.605
<00:42:55.635>I'll <00:42:55.762>give <00:42:55.889>a <00:42:56.016>link <00:42:56.144>into, <00:42:56.271>um, <00:42:56.398>live <00:42:56.525>chat <00:42:56.653>right <00:42:56.780>after <00:42:56.907>I <00:42:57.035>complete.

795
00:42:58.625 --> 00:43:01.485
<00:42:58.625>Uh, <00:42:58.800>I, <00:42:58.975>I, <00:42:59.150>I, <00:42:59.325>I <00:42:59.500>complete <00:42:59.675>our <00:42:59.850>dialogue, <00:43:00.025>um,

796
00:43:02.625 --> 00:43:04.685
<00:43:02.625>and <00:43:03.091>about <00:43:03.558>I, <00:43:04.025>yes,

797
00:43:04.685 --> 00:43:06.765
<00:43:04.685>it's <00:43:04.860>a <00:43:05.035>bit <00:43:05.210>more <00:43:05.384>challenging <00:43:05.560>starting <00:43:05.735>from <00:43:05.910>the <00:43:06.085>fact

798
00:43:06.765 --> 00:43:09.685
<00:43:06.765>that <00:43:06.940>you <00:43:07.115>have <00:43:07.290>to <00:43:07.464>have, <00:43:07.640>uh, <00:43:07.815>paid <00:43:07.990>developer <00:43:08.165>subscription,

799
00:43:09.685 --> 00:43:13.005
<00:43:09.685>which <00:43:09.884>is, <00:43:10.085>uh, <00:43:10.285>I <00:43:10.485>believe <00:43:10.685>$99 <00:43:10.884>per <00:43:11.085>year,

800
00:43:13.465 --> 00:43:17.285
<00:43:13.465>but <00:43:13.620>same <00:43:13.776>tool, <00:43:13.931>same <00:43:14.087>PW <00:43:14.242>builder.com, <00:43:14.398>by <00:43:14.553>the <00:43:14.709>way, <00:43:14.865>created

801
00:43:17.305 --> 00:43:21.165
<00:43:17.305>by <00:43:17.444>Michael <00:43:17.585>Riggs <00:43:17.725>from <00:43:17.865>Microsoft <00:43:18.004>just <00:43:18.145>a <00:43:18.285>couple <00:43:18.424>of <00:43:18.565>weeks <00:43:18.705>ago.

802
00:43:21.545 --> 00:43:25.125
<00:43:21.545>Uh, <00:43:21.825>got <00:43:22.105>support <00:43:22.385>from, <00:43:22.665>for, <00:43:22.945>uh,

803
00:43:25.145 --> 00:43:27.045
<00:43:25.145>for <00:43:25.378>App <00:43:25.611>Store, <00:43:25.845>for <00:43:26.078>Apple <00:43:26.311>App <00:43:26.545>Store.

804
00:43:27.145 --> 00:43:28.645
<00:43:27.145>Uh, <00:43:27.415>and <00:43:27.685>idea <00:43:27.955>is <00:43:28.225>the <00:43:28.495>same.

805
00:43:28.825 --> 00:43:31.325
<00:43:28.825>You <00:43:29.058>just <00:43:29.291>submit <00:43:29.524>link <00:43:29.758>to <00:43:29.991>your <00:43:30.225>application,

806
00:43:31.325 --> 00:43:34.165
<00:43:31.325>literally <00:43:31.791>HPS <00:43:32.258>my <00:43:32.725>website.com,

807
00:43:34.465 --> 00:43:38.885
<00:43:34.465>and <00:43:34.620>you <00:43:34.776>download <00:43:34.931>ready <00:43:35.087>to <00:43:35.242>deploy <00:43:35.398>assets <00:43:35.553>to <00:43:35.709>particular <00:43:35.865>store.

808
00:43:39.035 --> 00:43:40.525
<00:43:39.035>That, <00:43:39.370>that's <00:43:39.705>just <00:43:40.040>amazing. <00:43:40.376>Okay.

809
00:43:40.745 --> 00:43:45.685
<00:43:40.745>Um, <00:43:40.978>about, <00:43:41.211>about <00:43:41.444>limitations, <00:43:41.678>um, <00:43:41.911>well, <00:43:42.145>everything,

810
00:43:45.685 --> 00:43:49.565
<00:43:45.685>what <00:43:45.860>web <00:43:46.035>can <00:43:46.210>do <00:43:46.384>your <00:43:46.560>application, <00:43:46.735>um, <00:43:46.910>can <00:43:47.085>do.

811
00:43:49.715 --> 00:43:52.285
<00:43:49.715>It's, <00:43:49.890>uh, <00:43:50.065>for <00:43:50.240>example, <00:43:50.415>again, <00:43:50.590>back <00:43:50.765>to <00:43:50.940>back, <00:43:51.115>back

812
00:43:52.285 --> 00:43:56.605
<00:43:52.285>to <00:43:52.424>my <00:43:52.565>example, <00:43:52.705>um, <00:43:52.845>uh, <00:43:52.984>it's <00:43:53.125>a <00:43:53.265>application <00:43:53.404>that <00:43:53.545>measures, <00:43:53.685>um,

813
00:43:56.845 --> 00:43:59.565
<00:43:56.845>BPMO <00:43:57.078>of, <00:43:57.311>um, <00:43:57.544>the <00:43:57.778>live <00:43:58.011>audio <00:43:58.245>stream.

814
00:43:59.745 --> 00:44:02.325
<00:43:59.745>So <00:43:59.978>I <00:44:00.211>use <00:44:00.444>microphone <00:44:00.678>of <00:44:00.911>the <00:44:01.145>device,

815
00:44:02.485 --> 00:44:04.165
<00:44:02.485>I <00:44:02.718>use <00:44:02.951>it <00:44:03.185>straight <00:44:03.418>from <00:44:03.651>JavaScript <00:44:03.885>code.

816
00:44:04.545 --> 00:44:07.805
<00:44:04.545>Um, <00:44:04.685>and, <00:44:04.825>uh, <00:44:04.965>it <00:44:05.105>works <00:44:05.245>perfectly <00:44:05.385>well <00:44:05.525>both <00:44:05.665>on <00:44:05.805>Android, <00:44:05.945>on

817
00:44:07.905 --> 00:44:09.005
<00:44:07.905>and <00:44:08.235>on <00:44:08.565>Microsoft <00:44:08.895>store.

818
00:44:11.425 --> 00:44:14.445
<00:44:11.425>Uh, <00:44:11.775>let <00:44:12.125>me <00:44:12.475>check, <00:44:12.825>yes,

819
00:44:14.765 --> 00:44:17.845
<00:44:14.765>I <00:44:14.964>believe <00:44:15.165>these <00:44:15.365>were <00:44:15.565>all <00:44:15.765>questions <00:44:15.964>from <00:44:16.165>you.

820
00:44:18.325 --> 00:44:20.685
<00:44:18.325>I <00:44:18.605>answered <00:44:18.884>everything <00:44:19.165>as <00:44:19.444>I <00:44:19.725>promised.

821
00:44:20.805 --> 00:44:25.445
<00:44:20.805>I <00:44:20.921>will <00:44:21.038>post <00:44:21.154>a <00:44:21.271>few <00:44:21.388>links <00:44:21.504>to <00:44:21.621>live <00:44:21.738>chat <00:44:21.855>window <00:44:21.971>of <00:44:22.088>this <00:44:22.205>session,

822
00:44:25.545 --> 00:44:28.645
<00:44:25.545>so <00:44:25.700>stay <00:44:25.856>tuned <00:44:26.011>here <00:44:26.167>for, <00:44:26.322>um, <00:44:26.478>a <00:44:26.633>few <00:44:26.789>extra <00:44:26.945>minutes.

823
00:44:29.225 --> 00:44:33.965
<00:44:29.225>And <00:44:29.365>on <00:44:29.505>that, <00:44:29.645>thank <00:44:29.785>you <00:44:29.924>very <00:44:30.065>much. <00:44:30.205>Nice <00:44:30.345>questions. <00:44:30.485>Nice <00:44:30.625>uh.