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