videos/procompromcaps-en.vtt

Thu, 26 Jun 2014 16:02:52 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 26 Jun 2014 16:02:52 +0200
changeset 8
d70b35c3f4ee
parent 0
d26705c3ba8a
permissions
-rw-r--r--

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>

mercurial