Thu, 26 Jun 2014 16:02:52 +0200
Correct mistyped spelling of Cordova (rather than Coordova.)
1 WEBVTT
3 NOTE Validate on http://quuz.org/webvtt/
4 NOTE http://developer.mozilla.org/en-US/docs/HTML/WebVTT/
6 denny01
7 00:00:22.750 --> 00:00:25.500 align:middle position:50%
8 <v Denny Dude>Hi. I'm here to introduce <b>Procom</b>,</v>
10 denny02
11 00:00:25.500 --> 00:00:28.000 align:middle position:50%
12 <v Denny Dude>the <i>new</i> protected communications platform.</v>
14 denny03
15 00:00:28.000 --> 00:00:32.500 align:middle position:50%
16 <v Denny Dude>I'm a user myself, and with me is <b>Cally Code</b> the developer.</v>
18 denny04
19 00:00:32.500 --> 00:00:36.500 align:middle position:50%
20 <v Denny Dude>First off, <b>Procom</b> is a project composed of <i>several applications</i></v>
22 denny05
23 00:00:36.500 --> 00:00:39.500 align:middle position:50%
24 <v Denny Dude>that share logic yielding <i>protected communication.</i></v>
26 denny06
27 00:00:39.500 --> 00:00:42.000 align:middle position:50%
28 <v Denny Dude>Let's consider the possibilities.</v>
30 boss01
31 00:00:42.000 --> 00:00:47.500 align:middle position:50%
32 <v Anna Boss>Just <i>what are</i> the possibilities? What kind of use cases does <b>Procom</b> serve?</v>
34 denny07
35 00:00:47.500 --> 00:00:50.500 align:middle position:50%
36 <v Denny Dude>Well, it includes sending instant messages, chatting...</v>
38 denny08
39 00:00:50.500 --> 00:00:54.000 align:middle position:50%
40 <v Denny Dude>voice calls, video streaming, and more.</v>
42 secretary01
43 00:00:57.500 --> 00:00:59.000 align:middle position:50%
44 <v Waldo Secretary>Oh my! I'm so bored...</v>
46 secretary02
47 00:00:59.000 --> 00:01:02.500 align:middle position:50%
48 <v Waldo Secretary>Waiting for customers to call on this <i>old fashioned</i> phone.</v>
50 secretary03
51 00:01:02.500 --> 00:01:04.250 align:middle position:50%
52 <v Waldo Secretary>They can't reach us over the <b>Internet</b>,</v>
54 secretary04
55 00:01:04.250 --> 00:01:08.000 align:middle position:50%
56 <v Waldo Secretary>because smartphone apps don't support <b>WebRTC</b> yet.</v>
58 cally01
59 00:01:10.250 --> 00:01:14.500 align:middle position:50%
60 <v Cally Code>Sheesh, what's this guy blabbing about, I'm Cally Code the developer.</v>
62 cally02
63 00:01:14.500 --> 00:01:20.000 align:middle position:50%
64 <v Cally Code>and I'm here to engineer the <b>Procom
65 platform</b> and the first round of applications.</v>
67 cally03
68 00:01:20.000 --> 00:01:23.750 align:middle position:50%
69 <v Cally Code>I'll implement the platform while designing text, voice,</v>
71 cally04
72 00:01:23.750 --> 00:01:27.000 align:middle position:50%
73 <v Cally Code>and video based clients across <b>several platforms.</b></v>
75 boss02
76 00:01:27.500 --> 00:01:30.000 align:middle position:50%
77 <v Anna Boss>Wait a minute Cally, I'm the <b>boss</b>.</v>
79 boss03
80 00:01:30.000 --> 00:01:34.500 align:middle position:50%
81 <v Anna Boss>How are you going to avoid the pitfalls of <i>cross platform</i> development, Cally?</v>
83 cally05
84 00:01:35.000 --> 00:01:39.000 align:middle position:50%
85 <v Cally Code>I'll start with a <b>NodeJS</b> project and <b>Socket.IO.</b></v>
87 cally06
88 00:01:39.000 --> 00:01:42.000 align:middle position:50%
89 <v Cally Code>Then I'll write a <i>RTCPeerConnection()</i> backend...</v>
91 cally07a
92 00:01:42.000 --> 00:01:45.000 align:middle position:50%
93 <v Cally Code>and have clients call <i>getUserMedia()</i>.</v>
95 cally07b
96 00:01:45.000 --> 00:01:47.000 align:middle position:50%
97 <v Cally Code>Once I've created <i>data channels</i></v>
99 cally08
100 00:01:47.000 --> 00:01:51.750 align:middle position:50%
101 <v Cally Code>and taken care of <b>NAT traversal</b> the <b>WebRTC</b> components are finished.</v>
103 denny09
104 00:01:52.000 --> 00:01:56.000 align:middle position:50%
105 <v Denny Dude>Okay, it's clear that <b>Procom</b> is <i>WebRTC-centric</i>...</v>
107 denny10
108 00:01:56.000 --> 00:02:00.750 align:middle position:50%
109 <v Denny Dude>but what about the leading mobile
110 platforms that lack a proper <i>web runtime</i>?</v>
112 denny11
113 00:02:00.750 --> 00:02:03.500 align:middle position:50%
114 <v Denny Dude>How will you bootstrap web applications on <i>those</i>?</v>
116 cally09
117 00:02:04.000 --> 00:02:07.000 align:middle position:50%
118 <v Cally Code>We'll <u>re</u>-use the same logic across platforms</v>
120 cally10a
121 00:02:07.000 --> 00:02:09.000 align:middle position:50%
122 <v Cally Code>even those lacking <i>web runtimes</i></v>
124 cally10b
125 00:02:09.000 --> 00:02:12.750 align:middle position:50%
126 <v Cally Code>by rendering a web view via <b>Cordova</b> or <b>Phonegap</b>.</v>
128 cally11a
129 00:02:13.250 --> 00:02:16.000 align:middle position:50%
130 <v Cally Code>By leveraging the plug in nature of <b>Cordova</b>,</v>
132 cally11b
133 00:02:16.000 --> 00:02:19.000 align:middle position:50%
134 <v Cally Code>we can abstract and provide features requiring...</v>
136 cally11c
137 00:02:19.000 --> 00:02:23.000 align:middle position:50%
138 <v Cally Code>sensors like <i>accelerometers</i> and <i>proximity</i> sensors.</v>
140 boss04a
141 00:02:23.000 --> 00:02:26.000 align:middle position:50%
142 <v Anna Boss>That certainly helps. How will we test <b>Procom</b></v>
144 boss04b
145 00:02:26.000 --> 00:02:28.750 align:middle position:50%
146 <v Anna Boss>to verify that it meets requirements?</v>
148 cally12a
149 00:02:28.750 --> 00:02:33.000 align:middle position:50%
150 <v Cally Code>We'll employ the <b>QUnit</b> testing framework
151 and have a tiered support model...</v>
153 cally12b
154 00:02:33.000 --> 00:02:37.500 align:middle position:50%
155 <v Cally Code>just like <b>jQuery</b> does in order
156 to target a dozen platforms.</v>
158 denny12
159 00:02:38.000 --> 00:02:43.000 align:middle position:50%
160 <v Denny Dude>Wow, a dozen platforms. Ubiquity! Ubiquity, ubiquity!</v>
162 boss05
163 00:02:44.000 --> 00:02:48.500 align:middle position:50%
164 <v Anna Boss>Cally, how will we package <b>Procom</b> for distribution on so many platforms?</v>
166 cally13a
167 00:02:49.000 --> 00:02:54.000 align:middle position:50%
168 <v Cally Code>Boss, we think its best to deploy <i>WGT web widgets</i>.</v>
170 cally13b
171 00:02:54.000 --> 00:02:59.500 align:middle position:50%
172 <v Cally Code>Some platforms can work with them directly and we'll
173 automate a repackaging system for the others.</v>
175 secretary05
176 00:03:00.500 --> 00:03:06.000 align:middle position:50%
177 <v Waldo Secretary>It seems this would free us all from the <i>vendor</i>
178 <i>lock-in</i> that many providers so cynically enforce.</v>
180 denny13a
181 00:03:06.500 --> 00:03:07.500 align:middle position:50%
182 <v Denny Dude>Why yes!</v>
184 denny13b
185 00:03:07.500 --> 00:03:10.500 align:middle position:50%
186 <v Denny Dude><i>WGT widgets</i> should fit our design nicely</v>
188 denny13c
189 00:03:10.500 --> 00:03:12.750 align:middle position:50%
190 <v Denny Dude>but do you think that we could extend deployment...</v>
192 denny13d
193 00:03:12.750 --> 00:03:16.250 align:middle position:50%
194 <v Denny Dude>to embed our packages in browsers and other web applications?</v>
196 cally14
197 00:03:17.000 --> 00:03:21.500 align:middle position:50%
198 <v Cally Code>Yes, that's one reason for sticking to <i>web standards</i> in the first place.</v>
200 boss06
201 00:03:22.500 --> 00:03:26.000 align:middle position:50%
202 <v Anna Boss>What about <i>cryptography</i>? Do standard web interfaces exist for that?</v>
204 cally15a
205 00:03:27.000 --> 00:03:28.000 align:middle position:50%
206 <v Cally Code>Well Boss.</v>
208 cally15b
209 00:03:28.000 --> 00:03:32.000 align:middle position:50%
210 <v Cally Code>The <b>W3C</b> has produced the <b>Web Cryptography API</b> standard...</v>
212 cally15c
213 00:03:32.000 --> 00:03:34.000 align:middle position:50%
214 <v Cally Code>...but it's not stable yet.</v>
216 cally15d
217 00:03:34.000 --> 00:03:36.500 align:middle position:50%
218 <v Cally Code>Until it matures we have good alternatives</v>
220 cally15e
221 00:03:36.500 --> 00:03:39.500 align:middle position:50%
222 <v Cally Code>like the <b>Stanford</b> JavaScript crypto library.</v>
224 cally15f
225 00:03:39.500 --> 00:03:44.750 align:middle position:50%
226 <v Cally Code>Or implement selectively using <i>native</i>
227 <i>interfaces</i> and plug in via <b>Cordova</b>.</v>
229 denny14
230 00:03:45.250 --> 00:03:51.500 align:middle position:50%
231 <v Denny Dude>Oh good! The latter would allow us to optionally tap
232 into <i>hardware crypto processors</i> if they prove secure.</v>
234 cally16
235 00:03:52.000 --> 00:03:57.750 align:middle position:50%
236 <v Cally Code>That's right. Like the <i>Intel</i> and <i>AMD</i> implementations, namely <b>AES-NI</b>.</v>
238 boss07a
239 00:03:58.500 --> 00:04:00.500 align:middle position:50%
240 <v Anna Boss>Cally, how about the <i>server components</i>?</v>
242 boss07b
243 00:04:01.000 --> 00:04:05.500 align:middle position:50%
244 <v Anna Boss>Won't they suffer from typical security problems once put in the <i>cloud</i>?</v>
246 cally17a
247 00:04:06.000 --> 00:04:10.000 align:middle position:50%
248 <v Cally Code>Well we'll learned from the mistakes of <i>so many</i> service providers.</v>
250 cally17b
251 00:04:10.250 --> 00:04:21.750 align:middle position:50%
252 <v Cally Code><b>Procom</b> will not store keys, anonymize user identities with <b>Tor</b>,
253 and will encrypt all channels via <b>TLS</b> and <b>SRTP</b>, or <b>DTLS</b> and <b>ZRTP</b>.</v>
255 cally17c
256 00:04:22.000 --> 00:04:26.750 align:middle position:50%
257 <v Cally Code>The <b>Procom</b> seed service will even employ a <i>dead man's switch</i> by default.</v>
259 boss08a
260 00:04:27.250 --> 00:04:28.750 align:middle position:50%
261 <v Anna Boss>Wow, that's a handful.</v>
263 boss08b
264 00:04:29.250 --> 00:04:34.250 align:middle position:50%
265 <v Anna Boss>I guess another factor is the open nature of the
266 design and freedom to <i>self host</i> the platform.</v>
268 denny15a
269 00:04:37.750 --> 00:04:39.000 align:middle position:50%
270 <v Denny Dude>I've lost track.</v>
272 denny15b
273 00:04:39.250 --> 00:04:47.500 align:middle position:50%
274 <v Denny Dude>How does <b>Procom</b>'s focus on web interfaces, open source, standards,
275 and data encryption relate to the <i>future</i> of communication?</v>
277 cally18a
278 00:04:48.250 --> 00:04:54.750 align:middle position:50%
279 <v Cally Code>These aspects help <b>Procom</b> benefit users with
280 ubiquity, freedom, and security all at once.</v>
282 cally18b
283 00:04:55.000 --> 00:04:58.500 align:middle position:50%
284 <v Cally Code>That's what makes <b>Procom</b> unique among rivals.</v>
286 boss09a
287 00:04:59.250 --> 00:05:00.250 align:middle position:50%
288 <v Anna Boss>Sounds great!</v>
290 boss09b
291 00:05:00.500 --> 00:05:03.750 align:middle position:50%
292 <v Anna Boss>Get to work you two while I spread the word about <b>Procom</b>.</v>
294 crowd01
295 00:05:04.500 --> 00:05:10.500 align:middle position:50%
296 <v Audience>Cheer!</v>