0:00:25.896,0:00:27.535 Hey everybody, I'm Pete. 0:00:29.621,0:00:33.581 So, who is exited for some big O-notation in the morning? 0:00:34.655,0:00:36.995 Alright, alright, so we gonna get to that. 0:00:37.312,0:00:39.377 but before we do 0:00:39.377,0:00:41.008 i'm just gonna say I'm Pete. 0:00:41.018,0:00:43.959 I work at Facebook on the Instagram team[br] 0:00:44.079,0:00:46.801 and I'm a contribute to a library called react 0:00:46.801,0:00:51.966 which you may have heard is the one that puts the [br]angle brackets in your javascript 0:00:52.186,0:00:57.958 .. but, I'm not gonna really talk to much of that [br]React and why it is so awesome because 0:00:57.958,0:01:00.007 that's not the interesting part 0:01:00.007,0:01:02.388 what I wanna talk about the ideas behind React 0:01:02.388,0:01:05.678 and React is a reference implementation of those ideas. 0:01:06.528,0:01:08.378 So. This isn't a turial 0:01:08.675,0:01:12.289 and I give a focus on ideas and not implementations. 0:01:12.315,0:01:14.500 So. I'm gonna talk about the ideas behind react 0:01:14.531,0:01:16.769 Some ideas behind other systems 0:01:16.769,0:01:18.546 how they're a different kind a 0:01:18.546,0:01:21.879 what a different tradeoffs are in there [br]are different tradeoffs between them 0:01:22.386,0:01:25.996 and hopefully you take some of the ideas and[br]bring them to your favourite system 0:01:26.674,0:01:29.523 or you maybe you think that react is cool[br]and you can tribute to it. 0:01:31.580,0:01:35.200 Lets talk about what makes user interfaces[br]difficult to build. 0:01:36.881,0:01:40.136 Has anyone build an user interface before? 0:01:40.136,0:01:42.678 Alright, OK. I figured it. 0:01:42.678,0:01:45.065 Was it really easy? 0:01:45.135,0:01:46.792 Yeah, testing it was super-easy, 0:01:46.792,0:01:49.200 maintainng quality was probably[br]a joke, right. 0:01:49.402,0:01:51.341 It's just a kind a .. always works 0:01:51.341,0:01:53.280 He said sarcastically 0:01:53.280,0:01:55.219 But you get this a lot 0:01:55.615,0:01:57.474 This doesnt feel right 0:01:57.645,0:02:01.381 So, you know - even if you use all the test driven[br]development that you can throw at it 0:02:01.581,0:02:04.091 you still have to have a human look at this 0:02:04.091,0:02:05.762 this doesnt look right and[br]this doesnt fell right 0:02:05.915,0:02:09.311 and when I click this button and I click this button[br]and I click this button ... it breaks 0:02:10.865,0:02:13.381 There's a lot of things that come in to this 0:02:13.757,0:02:17.429 They are human verifiedy but UIs[br]are also deceptely complex