NationJS Program

Archana Prasanna Kumar

Archana Prasanna Kumar

Archana Kumar is a senior software engineer at Capital One in New York City. She is passionate about engineering simpler, smoother, and more enjoyable experiences for the web. When she’s not busy engineering, she’s cooking, checking out a new restaurant or hanging out with her husband and their dog, Tetris. Sometimes she does all three at once. Some would call this multi-tasking, but Archana calls it "be quiet, I’m thinking."

Martin Splitt

Martin Splitt

@g33konaut

Martin Splitt is pretty decent at humaning and pretty good at computering, so he decided to use his computering to improve his and other’s humaning.

He loves the open web and open source and helps to make things better with, but not limited to, code.

Demystifying WebGL

The modern web is tearing down the borders of the browser window and allows us to create so much more than just another website.

This talk is a beginner-friendly introduction into how to leverage WebGL to build 2D and 3D applications that make optimal use of the GPU to produce visual effects and interactive 3D spaces right in the browser - no plugins needed.

The talk covers the basics of the GPU pipeline, what Shaders are and how to program the GPU with GLSL as well as giving a walkthrough to a full WebGL application using Three.js.

Nara Kasbergen

Nara Kasbergen

@xiehan

Nara Kasbergen is a full-stack developer in NPR’s Digital Media group, having spent the past two years building and growing NPR One’s developer platform and NPR One for the Web, an Angular2 webapp. Previously, she was part of the NPR Music responsive redesign project. In a past life, she was an AngularJS early adopter at an edtech research lab at Columbia University. She has a BFA in Communication Design from Carnegie Mellon University, and a Masters from the Interactive Telecommunications Program (ITP) at NYU. Nara is an avid foodie who knows all the best restaurants, collects board games, and watches too much Netflix.

Angular 2, Demystified

Angular 2 aims to be the next major frontend framework, attempting to improve where the original AngularJS failed while retaining the parts that were great. But is it production-ready yet? And why should you use this over, say, React with Redux? At NPR, we were early adopters of Angular 2, building and launching a production app while the framework was still in beta, so we took a big risk but we think it’s paid off. Come find out what we love about it, what gave us the most trouble when we were getting started, and why we think you should consider using it for your next project.

Patrick Kettner

Patrick Kettner

@patrickkettner

Patrick Kettner won a year nine award competition singing Gloria Gaynor’s 1978 disco hit “I Will Survive”, and things have been looking up ever since. He has traded in the golden microphone for a PM position on Microsoft Edge, as well as being the lead developer for Modernizr. He lives in Seattle with his wonderful partner Katrina, and dog Baxter.

Modern Websites for the Modern Web

It seems like new APIs for the web are released every week. It would be cool to be able to use them, but if you need to make websites for the average user, you won’t be able to use them for years - right? Wrong. I will go over how creating feature rich and super fast front end applications, integrating over a dozen cutting edge web features, all while supporting even the oldest of web clients. If you want to see a 100% client side offline enabled application work in every browser to Mosiac, and even be ported to a command line GUI (yes GUI), come check it out!

Andrew Cassell

Andrew Cassell

@alc277

Andrew Cassell is a full-stack web application developer in Herndon, Virginia who designs and builds user experiences that are delightful on any device. Andy is an employee of the non-profit Marine Spill Response Corporation, the largest dedicated oil spill and emergency response organization. He works on their website and internal web applications.

WebVR: The Next Frontier

As new virtual reality headsets are quickly becoming available to the consumer, WebVR is opening up new frontiers of interaction for the web. Beyond gaming and entertainment, WebVR is creating whole new classes of immersive applications for the Web Platform in communication, education, shopping, and more. Let’s see how easy it is to get started developing for virtual reality in a browser by building a virtual reality experience using A-Frame, React, an Oculus Rift, and a Leap Motion controller.

Max Stoiber

Max Stoiber

@mxstbr

Max travels around the world, brews coffee, skis mountains and makes stuff on the web. He works as an open source developer at Thinkmill, where he maintains KeystoneJS and ElementalUI, is the creator of react-boilerplate and is part of React Vienna.

Scaling React.js Applications

React is great to build applications with, but hard to build big applications with. Making sure your setup is top notch from the very beginning is essential to avoid a lot of technical debt later on. Utilizing the amazing tools at our disposal, the best architectural foundation possible and leveraging current best practices, we’ll showcase how to start your next project the right way.

Parashuram N

Parashuram N

@nparashuram

Parashuram is a front end developer and web performance enthusiast and author of tools like browser-perf. He has created the Web Worker based render for ReactJS and runs “science-like” experiments to explore ways to make web applications faster.

He is also an open source contributor, a committer in the Apache Cordova project and works as a Program Manager in Microsoft

He wrote the ReactJS implementation of Webworkers. He also runs performance analysis of common web frameworks like Angular and React, and has been running experiments showing how web workers always increase the perf of existing frameworks.

Rise of the Web Workers

Modern web applications are awesome. And complicated. The Javascript libraries that power them today do a lot of work to abstract out the hard parts. Whether using constructs like Virtual DOM, or fancy change detection algorithms, the amount of work that the Javascript library does is only increasing.

Unfortunately, all this work now competes for the same resources that the browser needs, to do things like render a page, or apply styles. In many cases, this makes the browser slow, preventing the web application from attaining its full, smooth experience.

Web workers have been in the browser for a while, but they have mostly been used for engaging demos like adding mustaches in a cat video :)

In this talk, we will explore how mainstream Javascript libraries like React or Angular use Web Workers to get great performance. We will look at quantitative numbers from hundreds of test runs that conclusively show how Web Workers can make apps faster. Finally, we will also look at practical examples to convert existing examples, and the potential limitations of this approach.

Karl Groves

Karl Groves

@karlgroves

Karl Groves is an unstoppable force for change and thought-leader in an industry regarded for saying ‘No’. Karl would rather lead by example in saying ‘Yes, and here’s how…’ He seeks to offer solutions to complex problems relating to universal usability. He believes that together we can meet both our goals: your business goals and his goals to lead the way in accessible user experiences. Karl has over a decade of experience in doing IT consulting for the biggest companies in the world and biggest agencies in the U.S. government. Widely regarded as a pragmatic solution-finder, his work is cited in nearly a dozen books and used on curricula in Human-Computer Interaction across the globe. He leads by doing, teaches from experience, and succeeds by facilitating others’ success. When others say, ‘That can’t be done,’ Karl shows them how.

Everything You Need to Know About JavaScript Accessibility

Accessibility is often seen as nebulous by designers and developers. It is particularly difficult if you don’t know anyone with disabilities or have never watched anyone with disabilities use a computer. In this talk, Karl Groves uses a live coding example to walk through the high level requirements for an accessible user experience that relies on JavaScript.

Justin Falcone

Justin Falcone

@modernserf

Justin Falcone is a programmer and writer living in Brooklyn NY. When he’s not building tools for data visualization, he’s cooking up an elaborate breakfast or hanging out with his beloved guinea pigs, Allegra and Claritin.

"fifty points at random"

When does process become art? When do tools become collaborators? Let’s explore the world of procedural art – both analog and digital – through the wall drawing of Sol LeWitt. This talk teaches how to make art in the style of LeWitt’s wall drawings with CSS and JavaScript, and along the way provides some insight into the history of procedural art, the nature of randomness, and how tools and algorithms for creating art lead to new forms of collaboration.

Mike North

Mike North

@MichaelLNorth

Mike North is the CTO of Levanto Financial, and before I started working here, I was the UI Architect of Yahoo’s Ads and Data division. While there, I was the driving force to get the company off of antiquated frameworks like YUI (and a generally fragmented ecosystem), onto modern technologies like Ember.js and React. I’m an avid open source contributor in the JavaScript community, and am cracking into the Elixir community more and more. Earlier this year, my in-depth video course on Ember.js course went live on frontendmasters.com.

Delightful UX for Distributed Systems

Long-running processes, concurrent editing, operations requiring user intervention, and integration with unreliable external services present new challenges to building web UIs. Building a pleasurable, robust and reliable user experience is more far more challenging when critical pieces of your workflow are out of your direct control.

We’ll begin by describing what a distributed system is, and highlight the new challenges that it presents, compared to a simple traditional system (i.e., background tasks, mobile web or offline use, hard dependencies on third-party services, etc…). Then, we’ll talk about some UI and system architecture patterns, using an Ember.js/Phoenix system as a case study.

Where possible and appropriate, I’ll show parts of a real-time distributed system (ember/phoenix), contrasting what the “non-distributed system” approach would have felt like to users against the “distributed system” approach.

As we go, we’ll begin to build a framework of questions that developers can ask themselves in order to address the challenges of high latency, loss of connectivity, the loss of access to a critical third-party service, and other problems often encountered when working with distributed systems.

Lizz Sommerfield

Lizz Sommerfield

Lizz Sommerfield is a Technical Architect at Inspire.com, a healthcare social network of some 850,000 patients and caregivers. An early adopter of All Things Javascript over the Flash of the past, she has been building dynamic user interfaces with HTML, CSS and Javascript on all sorts of different platforms for a really, really long time. She is a fan of the oxford comma, still puts two spaces after a period, and has a soft spot for all flavors of AngularJS. Lizz resides in Arlington, VA with her husband, two daughters, and very fuzzy dog.

Angular Universal: Server-side Rendering When the Client Isn't Enough

Have you ever written a wonderful, content-rich, cutting edge Angular 2 app only to discover that sharing the link on Facebook or Twitter results in an ugly mess? Have your users ever complained that they have to sit there and wait for your app to start up before they can use it? Have you ever wished that search engines other than Google could crawl all that great content you have to share? If so, Angular Universal may be for you. Learn how to get started with Angular Universal using node.js and webpack. Take your brand new Angular 2 application and learn how generating part of it server side will make more than just your google rank happy. We'll look at the current state of this beta product, how to set it up and start playing with it, what parts of your site you might want to optimize with server-side generation, and where to go for help when you get stuck.

Zeno Rocha

Sean Larkin

@TheLarkInn

Sean Larkin is a User Experience Developer at Mutual of Omaha. Former technical support representative turned renegade software engineer and web developer, driven by the need to help people through the code he writes. 3.5 years now into the web world, Sean is a member of the Webpack core team, angular team and angular-cli core team, has held talks on Ruby, DAMP programming, AngularJS, and Webpack and lives to teach others about the world of Web Development. From Lincoln, Nebraska, loves to spend his time with his wife, newborn son, 18 chickens, dog, and gypsy cat. Obsessed with AngularJS, readability, Webpack, bundlers, tooling, and anything that helps Web Dev and Engineering easier and more enjoyable for anyone!

Webpack: The Core Concepts

I had the opportunity to be introduced to using Webpack working at React shop, however as an AngularJS Fanboy and Apologist, I longed to bring the same brain-melting, experience to my ngApp. Problem was that I used, webpack, but never understood it. From automatically managing Bower, AMD, and NPM dependencies to code-splitting, minification, and source-mapping, I realized Webpack automagically handles all the hurdles I had ever encountered in my previous web projects. Together we will break down the core concepts and demystify this amazing tool.

My hope for you is that by the time we’re done, you’ll have set fire to every Gulpfile and Gruntfile you’ve ever written, destroy all those extra style and script tags in your browser, and give you the tools needed to make the best modern web apps, without sacrificing developer experience. Join me while we webpack ALL the things.

Martin Splitt

Jesse Warden

Jesse Warden, is a Manager at Capital One developing software using JavaScript and Node. His background started building desktop and web applications using Director, Flash, and Flex. He freelanced with various design agencies and startups, then eventually got into consulting independently and with firms for enterprise software. His current passion is becoming better at Functional Programming. In his spare time he’s an amateur powerlifter.

Redux, ngRedux, and Sagas: A Gentle Introduction for Angular Developers

You either have heard of Redux from the React crowd, or perhaps have learned a little functional programming, and are looking how to incorporate it into your Angular applications. Jesse will cover what Redux is, why it's helpful, how it's different from Flux/MobX, and how it's used in an Angular application. He'll also cover to use of Sagas, and how they make dealing with complicated asynchronous actions a lot easier to code if you're used to imperative/OOP languages, as well as testing them. Finally, he'll cover some of the pain points you can run into, refactoring strategies, and tooling setup needed.