1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/videos/procompromcaps-en.vtt Sun Jan 19 20:39:54 2014 +0100 1.3 @@ -0,0 +1,296 @@ 1.4 +WEBVTT 1.5 + 1.6 +NOTE Validate on http://quuz.org/webvtt/ 1.7 +NOTE http://developer.mozilla.org/en-US/docs/HTML/WebVTT/ 1.8 + 1.9 +denny01 1.10 +00:00:22.750 --> 00:00:25.500 align:middle position:50% 1.11 +<v Denny Dude>Hi. I'm here to introduce <b>Procom</b>,</v> 1.12 + 1.13 +denny02 1.14 +00:00:25.500 --> 00:00:28.000 align:middle position:50% 1.15 +<v Denny Dude>the <i>new</i> protected communications platform.</v> 1.16 + 1.17 +denny03 1.18 +00:00:28.000 --> 00:00:32.500 align:middle position:50% 1.19 +<v Denny Dude>I'm a user myself, and with me is <b>Cally Code</b> the developer.</v> 1.20 + 1.21 +denny04 1.22 +00:00:32.500 --> 00:00:36.500 align:middle position:50% 1.23 +<v Denny Dude>First off, <b>Procom</b> is a project composed of <i>several applications</i></v> 1.24 + 1.25 +denny05 1.26 +00:00:36.500 --> 00:00:39.500 align:middle position:50% 1.27 +<v Denny Dude>that share logic yielding <i>protected communication.</i></v> 1.28 + 1.29 +denny06 1.30 +00:00:39.500 --> 00:00:42.000 align:middle position:50% 1.31 +<v Denny Dude>Let's consider the possibilities.</v> 1.32 + 1.33 +boss01 1.34 +00:00:42.000 --> 00:00:47.500 align:middle position:50% 1.35 +<v Anna Boss>Just <i>what are</i> the possibilities? What kind of use cases does <b>Procom</b> serve?</v> 1.36 + 1.37 +denny07 1.38 +00:00:47.500 --> 00:00:50.500 align:middle position:50% 1.39 +<v Denny Dude>Well, it includes sending instant messages, chatting...</v> 1.40 + 1.41 +denny08 1.42 +00:00:50.500 --> 00:00:54.000 align:middle position:50% 1.43 +<v Denny Dude>voice calls, video streaming, and more.</v> 1.44 + 1.45 +secretary01 1.46 +00:00:57.500 --> 00:00:59.000 align:middle position:50% 1.47 +<v Waldo Secretary>Oh my! I'm so bored...</v> 1.48 + 1.49 +secretary02 1.50 +00:00:59.000 --> 00:01:02.500 align:middle position:50% 1.51 +<v Waldo Secretary>Waiting for customers to call on this <i>old fashioned</i> phone.</v> 1.52 + 1.53 +secretary03 1.54 +00:01:02.500 --> 00:01:04.250 align:middle position:50% 1.55 +<v Waldo Secretary>They can't reach us over the <b>Internet</b>,</v> 1.56 + 1.57 +secretary04 1.58 +00:01:04.250 --> 00:01:08.000 align:middle position:50% 1.59 +<v Waldo Secretary>because smartphone apps don't support <b>WebRTC</b> yet.</v> 1.60 + 1.61 +cally01 1.62 +00:01:10.250 --> 00:01:14.500 align:middle position:50% 1.63 +<v Cally Code>Sheesh, what's this guy blabbing about, I'm Cally Code the developer.</v> 1.64 + 1.65 +cally02 1.66 +00:01:14.500 --> 00:01:20.000 align:middle position:50% 1.67 +<v Cally Code>and I'm here to engineer the <b>Procom 1.68 +platform</b> and the first round of applications.</v> 1.69 + 1.70 +cally03 1.71 +00:01:20.000 --> 00:01:23.750 align:middle position:50% 1.72 +<v Cally Code>I'll implement the platform while designing text, voice,</v> 1.73 + 1.74 +cally04 1.75 +00:01:23.750 --> 00:01:27.000 align:middle position:50% 1.76 +<v Cally Code>and video based clients across <b>several platforms.</b></v> 1.77 + 1.78 +boss02 1.79 +00:01:27.500 --> 00:01:30.000 align:middle position:50% 1.80 +<v Anna Boss>Wait a minute Cally, I'm the <b>boss</b>.</v> 1.81 + 1.82 +boss03 1.83 +00:01:30.000 --> 00:01:34.500 align:middle position:50% 1.84 +<v Anna Boss>How are you going to avoid the pitfalls of <i>cross platform</i> development, Cally?</v> 1.85 + 1.86 +cally05 1.87 +00:01:35.000 --> 00:01:39.000 align:middle position:50% 1.88 +<v Cally Code>I'll start with a <b>NodeJS</b> project and <b>Socket.IO.</b></v> 1.89 + 1.90 +cally06 1.91 +00:01:39.000 --> 00:01:42.000 align:middle position:50% 1.92 +<v Cally Code>Then I'll write a <i>RTCPeerConnection()</i> backend...</v> 1.93 + 1.94 +cally07a 1.95 +00:01:42.000 --> 00:01:45.000 align:middle position:50% 1.96 +<v Cally Code>and have clients call <i>getUserMedia()</i>.</v> 1.97 + 1.98 +cally07b 1.99 +00:01:45.000 --> 00:01:47.000 align:middle position:50% 1.100 +<v Cally Code>Once I've created <i>data channels</i></v> 1.101 + 1.102 +cally08 1.103 +00:01:47.000 --> 00:01:51.750 align:middle position:50% 1.104 +<v Cally Code>and taken care of <b>NAT traversal</b> the <b>WebRTC</b> components are finished.</v> 1.105 + 1.106 +denny09 1.107 +00:01:52.000 --> 00:01:56.000 align:middle position:50% 1.108 +<v Denny Dude>Okay, it's clear that <b>Procom</b> is <i>WebRTC-centric</i>...</v> 1.109 + 1.110 +denny10 1.111 +00:01:56.000 --> 00:02:00.750 align:middle position:50% 1.112 +<v Denny Dude>but what about the leading mobile 1.113 +platforms that lack a proper <i>web runtime</i>?</v> 1.114 + 1.115 +denny11 1.116 +00:02:00.750 --> 00:02:03.500 align:middle position:50% 1.117 +<v Denny Dude>How will you bootstrap web applications on <i>those</i>?</v> 1.118 + 1.119 +cally09 1.120 +00:02:04.000 --> 00:02:07.000 align:middle position:50% 1.121 +<v Cally Code>We'll <u>re</u>-use the same logic across platforms</v> 1.122 + 1.123 +cally10a 1.124 +00:02:07.000 --> 00:02:09.000 align:middle position:50% 1.125 +<v Cally Code>even those lacking <i>web runtimes</i></v> 1.126 + 1.127 +cally10b 1.128 +00:02:09.000 --> 00:02:12.750 align:middle position:50% 1.129 +<v Cally Code>by rendering a web view via <b>Coordova</b> or <b>Phonegap</b>.</v> 1.130 + 1.131 +cally11a 1.132 +00:02:13.250 --> 00:02:16.000 align:middle position:50% 1.133 +<v Cally Code>By leveraging the plug in nature of <b>Coordova</b>,</v> 1.134 + 1.135 +cally11b 1.136 +00:02:16.000 --> 00:02:19.000 align:middle position:50% 1.137 +<v Cally Code>we can abstract and provide features requiring...</v> 1.138 + 1.139 +cally11c 1.140 +00:02:19.000 --> 00:02:23.000 align:middle position:50% 1.141 +<v Cally Code>sensors like <i>accelerometers</i> and <i>proximity</i> sensors.</v> 1.142 + 1.143 +boss04a 1.144 +00:02:23.000 --> 00:02:26.000 align:middle position:50% 1.145 +<v Anna Boss>That certainly helps. How will we test <b>Procom</b></v> 1.146 + 1.147 +boss04b 1.148 +00:02:26.000 --> 00:02:28.750 align:middle position:50% 1.149 +<v Anna Boss>to verify that it meets requirements?</v> 1.150 + 1.151 +cally12a 1.152 +00:02:28.750 --> 00:02:33.000 align:middle position:50% 1.153 +<v Cally Code>We'll employ the <b>QUnit</b> testing framework 1.154 +and have a tiered support model...</v> 1.155 + 1.156 +cally12b 1.157 +00:02:33.000 --> 00:02:37.500 align:middle position:50% 1.158 +<v Cally Code>just like <b>jQuery</b> does in order 1.159 +to target a dozen platforms.</v> 1.160 + 1.161 +denny12 1.162 +00:02:38.000 --> 00:02:43.000 align:middle position:50% 1.163 +<v Denny Dude>Wow, a dozen platforms. Ubiquity! Ubiquity, ubiquity!</v> 1.164 + 1.165 +boss05 1.166 +00:02:44.000 --> 00:02:48.500 align:middle position:50% 1.167 +<v Anna Boss>Cally, how will we package <b>Procom</b> for distribution on so many platforms?</v> 1.168 + 1.169 +cally13a 1.170 +00:02:49.000 --> 00:02:54.000 align:middle position:50% 1.171 +<v Cally Code>Boss, we think its best to deploy <i>WGT web widgets</i>.</v> 1.172 + 1.173 +cally13b 1.174 +00:02:54.000 --> 00:02:59.500 align:middle position:50% 1.175 +<v Cally Code>Some platforms can work with them directly and we'll 1.176 +automate a repackaging system for the others.</v> 1.177 + 1.178 +secretary05 1.179 +00:03:00.500 --> 00:03:06.000 align:middle position:50% 1.180 +<v Waldo Secretary>It seems this would free us all from the <i>vendor</i> 1.181 +<i>lock-in</i> that many providers so cynically enforce.</v> 1.182 + 1.183 +denny13a 1.184 +00:03:06.500 --> 00:03:07.500 align:middle position:50% 1.185 +<v Denny Dude>Why yes!</v> 1.186 + 1.187 +denny13b 1.188 +00:03:07.500 --> 00:03:10.500 align:middle position:50% 1.189 +<v Denny Dude><i>WGT widgets</i> should fit our design nicely</v> 1.190 + 1.191 +denny13c 1.192 +00:03:10.500 --> 00:03:12.750 align:middle position:50% 1.193 +<v Denny Dude>but do you think that we could extend deployment...</v> 1.194 + 1.195 +denny13d 1.196 +00:03:12.750 --> 00:03:16.250 align:middle position:50% 1.197 +<v Denny Dude>to embed our packages in browsers and other web applications?</v> 1.198 + 1.199 +cally14 1.200 +00:03:17.000 --> 00:03:21.500 align:middle position:50% 1.201 +<v Cally Code>Yes, that's one reason for sticking to <i>web standards</i> in the first place.</v> 1.202 + 1.203 +boss06 1.204 +00:03:22.500 --> 00:03:26.000 align:middle position:50% 1.205 +<v Anna Boss>What about <i>cryptography</i>? Do standard web interfaces exist for that?</v> 1.206 + 1.207 +cally15a 1.208 +00:03:27.000 --> 00:03:28.000 align:middle position:50% 1.209 +<v Cally Code>Well Boss.</v> 1.210 + 1.211 +cally15b 1.212 +00:03:28.000 --> 00:03:32.000 align:middle position:50% 1.213 +<v Cally Code>The <b>W3C</b> has produced the <b>Web Cryptography API</b> standard...</v> 1.214 + 1.215 +cally15c 1.216 +00:03:32.000 --> 00:03:34.000 align:middle position:50% 1.217 +<v Cally Code>...but it's not stable yet.</v> 1.218 + 1.219 +cally15d 1.220 +00:03:34.000 --> 00:03:36.500 align:middle position:50% 1.221 +<v Cally Code>Until it matures we have good alternatives</v> 1.222 + 1.223 +cally15e 1.224 +00:03:36.500 --> 00:03:39.500 align:middle position:50% 1.225 +<v Cally Code>like the <b>Stanford</b> JavaScript crypto library.</v> 1.226 + 1.227 +cally15f 1.228 +00:03:39.500 --> 00:03:44.750 align:middle position:50% 1.229 +<v Cally Code>Or implement selectively using <i>native</i> 1.230 +<i>interfaces</i> and plug in via <b>Cordova</b>.</v> 1.231 + 1.232 +denny14 1.233 +00:03:45.250 --> 00:03:51.500 align:middle position:50% 1.234 +<v Denny Dude>Oh good! The latter would allow us to optionally tap 1.235 +into <i>hardware crypto processors</i> if they prove secure.</v> 1.236 + 1.237 +cally16 1.238 +00:03:52.000 --> 00:03:57.750 align:middle position:50% 1.239 +<v Cally Code>That's right. Like the <i>Intel</i> and <i>AMD</i> implementations, namely <b>AES-NI</b>.</v> 1.240 + 1.241 +boss07a 1.242 +00:03:58.500 --> 00:04:00.500 align:middle position:50% 1.243 +<v Anna Boss>Cally, how about the <i>server components</i>?</v> 1.244 + 1.245 +boss07b 1.246 +00:04:01.000 --> 00:04:05.500 align:middle position:50% 1.247 +<v Anna Boss>Won't they suffer from typical security problems once put in the <i>cloud</i>?</v> 1.248 + 1.249 +cally17a 1.250 +00:04:06.000 --> 00:04:10.000 align:middle position:50% 1.251 +<v Cally Code>Well we'll learned from the mistakes of <i>so many</i> service providers.</v> 1.252 + 1.253 +cally17b 1.254 +00:04:10.250 --> 00:04:21.750 align:middle position:50% 1.255 +<v Cally Code><b>Procom</b> will not store keys, anonymize user identities with <b>Tor</b>, 1.256 +and will encrypt all channels via <b>TLS</b> and <b>SRTP</b>, or <b>DTLS</b> and <b>ZRTP</b>.</v> 1.257 + 1.258 +cally17c 1.259 +00:04:22.000 --> 00:04:26.750 align:middle position:50% 1.260 +<v Cally Code>The <b>Procom</b> seed service will even employ a <i>dead man's switch</i> by default.</v> 1.261 + 1.262 +boss08a 1.263 +00:04:27.250 --> 00:04:28.750 align:middle position:50% 1.264 +<v Anna Boss>Wow, that's a handful.</v> 1.265 + 1.266 +boss08b 1.267 +00:04:29.250 --> 00:04:34.250 align:middle position:50% 1.268 +<v Anna Boss>I guess another factor is the open nature of the 1.269 +design and freedom to <i>self host</i> the platform.</v> 1.270 + 1.271 +denny15a 1.272 +00:04:37.750 --> 00:04:39.000 align:middle position:50% 1.273 +<v Denny Dude>I've lost track.</v> 1.274 + 1.275 +denny15b 1.276 +00:04:39.250 --> 00:04:47.500 align:middle position:50% 1.277 +<v Denny Dude>How does <b>Procom</b>'s focus on web interfaces, open source, standards, 1.278 +and data encryption relate to the <i>future</i> of communication?</v> 1.279 + 1.280 +cally18a 1.281 +00:04:48.250 --> 00:04:54.750 align:middle position:50% 1.282 +<v Cally Code>These aspects help <b>Procom</b> benefit users with 1.283 +ubiquity, freedom, and security all at once.</v> 1.284 + 1.285 +cally18b 1.286 +00:04:55.000 --> 00:04:58.500 align:middle position:50% 1.287 +<v Cally Code>That's what makes <b>Procom</b> unique among rivals.</v> 1.288 + 1.289 +boss09a 1.290 +00:04:59.250 --> 00:05:00.250 align:middle position:50% 1.291 +<v Anna Boss>Sounds great!</v> 1.292 + 1.293 +boss09b 1.294 +00:05:00.500 --> 00:05:03.750 align:middle position:50% 1.295 +<v Anna Boss>Get to work you two while I spread the word about <b>Procom</b>.</v> 1.296 + 1.297 +crowd01 1.298 +00:05:04.500 --> 00:05:10.500 align:middle position:50% 1.299 +<v Audience>Cheer!</v>