Speaker Slides and Video

Presentation slides will be made available after the session has concluded and the speaker has given us the files. Check back if you don't see the file you're looking for—it might be available later! (However, please note some speakers choose not to share their presentations.)

Real world measurement at scale is the only reliable way for web engineers to understand the performance behaviour of routine techniques, considered to be best practices in desktop web development, on smartphones running on cellular data networks. In this talk we will review common performance memes and evaluate them in the context of real world mobile performance.

Testing accessibility can be any or all of slow, expensive and frustrating, but it doesn’t have to be. Open source accessibility testing tools can help you find issues in a timely and useful way.
Accessibility Developer Tools is a JavaScript library for automated accessibility testing of the DOM. We'll discuss how it works, and how it makes it easier for developers to test for accessibility.

A promise is a proxy for an eventual result, like an asynchronous version of return or throw, but they can also pipeline messages asynchronously to and from remote objects. A Promise type will likely be in ECMAScript 6, and many modern libraries use them already. In this talk, I will bring you up to speed with what they are and what you can do with them today…and what they “promise” for tomorrow.

90-Minutes: Front end development is harder than ever! Differing screen resolutions, changing browser support, varying network speeds and other considerations all jockeying for our attention during development. Fortunately, we have more powerful tools to help us develop, test and refine the amazing sites we build! Let's use those tools to automate all the front-end dev things...

It's time for video narratives to truly be of the web. Video shouldn't just be a one-way stream: it should create a dynamic, interactive, responsive visual narratives that leverage all the resources of the web, whether those are simply text, or complex visualizations or localized data. Data Docs, an experimental, open-source video platform, hopes to support and inspire a new iteration of....

90-Minutes: Learn one of the hottest front-end frameworks and incorporate it into your work tomorrow . Learn to build a Bootstrap-based website from scratch, incorporating the responsive grid system, utilizing out-of-the-box styling, and adding Javascript-based components.

Functions in ECMAScript 5 are mostly replaced by new callable entities in ECMAScript 6: arrow functions, classes and method definitions. This talk explains how they work and what existing problems they fix.

We present some exciting results from Intel’s ongoing joint work with Google & Mozilla on bringing SIMD to JavaScript, enabling development of high performance web apps including game engines and apps that require efficient image/video/speech processing. We also cover the portable Crosswalk HTML5 runtime and Intel XDK that lowers the development costs of web and hybrid apps for major app stores.

JavaScript has come of age, and with it, the maturity of the software development lifecycle. No matter the scale or publish platform for your app, you'll need a consistent build. We'll discuss standard CI best practices and techniques, and walk through two approaches to Continuous Integration in JavaScript: Travis CI and gulp.

3-Hours: This workshop will introduce you to the basics of the D3 library. D3 lets you create rich, custom interactive pieces driven by data, but the learning curve can be difficult to navigate. We'll cover the fundamental concepts of the library as well as SVG–the most common illustration tool for D3–and enough functional programming to get by.

The quality of modular web applications can be improved by having the right set of APIs. This talk highlights the recent API design best practices, from using static polymorphism for consistent naming, preventing dangerous convenience (e.g. Boolean trap), and avoiding unreadable code due to confusing semantics. Real-world examples and automated tools to recognize bad API will be shown as well.

Good page load time begins with good design. As web performance grows in importance in the industry, many page speed tutorials focus on the back end. This presentation focuses on performance from a design and front end perspective.

Abstractions in FP can be daunting if you're not familiar with set theory or lambda calculus or category theory & all that. I'm certainly not.
I'll translate some of the most important functional patterns & interfaces in JS directed towards us object orienters who may not have majored in math.
You'll leave with a killer toolset and you'll weep at the beauty...if you have a heart.

Web developers are expected to build increasingly sophisticated UIs faster, cheaper, with tools that have not evolved with the times. Why is the trivial task of centering an element with CSS so obtusely complex ?

HTML forms have been the bane of web developers for years. Not anymore! With HTML5 you may learn to love forms. Browsers now enable you to provide users with rich date GUIs, validate forms and provide validation feedback without JavaScript. JavaScript-free placeholder text, pattern matching, required fields, auto focus, error handling is now a reality.

Learn how to use the ExpressJS framework to select the right structure and paradigm for your NodeJS application. You will leave this presentation with the knowledge to immediately build a well structured ExpressJS web application.

An affordable open hardware platform provides entrepreneurial software developers an easy path for wrapping their services with customized and dedicated devices to sell as consumer or industrial appliances.

I'll update everyone on ES6, ES7, and how JS is evolving quickly under a
fairly balanced and competitive/cooperative browser market structure,
and the consequent rise of the lead web developers and github.com.

Do you still need jQuery? Has it become a crutch? Can you get away with dropping jQuery as a dependency and use native browser APIs instead? For the majority of this session we will be looking at common jQuery snippets and show how to convert them either using native browser APIs or utilizing popular micro-libraries.

After you've developed that first demo app using the Angular JavaScript framework, now what? This presentation covers patterns and strategies for developing more complex apps using Angular, avoiding pitfalls, and how to write your own directives and components the "Angular Way".

We've all come to expect audio, video and realtime communication from apps, games and sites – on all our devices. This session will help you build dynamic, multi-device web applications using video, WebRTC, Web Audio and more. We show you how to maximise performance, avoid common gotchas, and deliver great experiences on mobile and desktop, using powerful new media APIs.

It's been scientifically proven that more diverse communities and workplaces create better products and the solutions to difficult problems are more complete and diverse themselves. Companies are struggling to find adequate talent. So why do we see so few women, people of color, and LGBTQ people at our events and on the about pages of our websites?

What if everyone learnt to program in middle school? How would that change the way that they learnt other subjects? How would it affect their personal life? Their career?
It's kind of a crazy idea, but it might be crazy in a good way. In this talk, I'll lay down my ideas for how this could happen and what it might mean, based on my experience teaching programming online on Khan Academy.

In this talk, I will look at two of the technologies that lie at the basis of responsive web design: the viewport meta tag and CSS media queries. I will explain how viewport is being standardized as @viewport, and how many other new features in CSS, such as the resolution media query, object-fit, relative length units etc., can be used to create even more compelling responsive designs.

Based material from the book "RESTful Web APIs", this talk walks you through the creation of a great UI for a Collection+JSON media type API and then shows how minor changes on the server are automatically handled by the client without rewrites or redeploys. The same library can even used for different APIs with the same smooth results.
Reusable libraries for hypermedia clients is a reality.

Young children playing with mobile devices don’t have a preconceived idea of what it means to tap, or swipe, or talk into the mic, or that only one little point of one hand should touch the screen at a time. They rely on trial and error and cues from the app. This session will cover intuitive gestures, interactivity cues, and element placement, as well as legal considerations for children's apps.

Performance is a feature, but what exactly is performance? Should UX be part of it and are there design principles that will help us deliver experiences that "feel faster"? What does it mean for a site to "feel fast" anyway and what is fast enough?

Email consumption on mobile devices is growing at an unprecedented rate, and the HTML capabilities of those devices is a step-change from their desktop counterparts. This talk will demo some lessons learned building delightful mobile experiences at LinkedIn, and present specific HTML & CSS3 authoring techniques for creating remarkable best-in-class mobile emails.

At Facebook we take the future of JavaScript seriously, and we go to great lengths to accelerate the adoption of new language features both within the company and without. Join us for a close look at some of our techniques for transpiling, desugaring, refactoring, and otherwise improving a very large JavaScript codebase.

Across the board, the JavaScript community is thriving. This last year has seen unprecedented levels of adoption. Dave and Aaron will take a look at some of the reasons for the success of the JavaScript community, while also exploring some of the painful bits along the way.

Modern applications written in JavaScript are vulnerable to many of the same attacks, like XSS and CSRF, that threaten traditional web apps. But defending against them requires new tools and techniques. This talk will illustrate best practices for securing these apps, and introduce some of the security conventions and tools we've built into Meteor, a full-stack JavaScript framework.

If not programmed and configured in a security conscious manner, Node.js web applications expose attack vectors that can be exploited for severe technical and business impact. In this presentation, attendees will learn about possible security pitfalls and walk out with a cohesive action plan to effectively address these concerns and build resilient Node.js web applications.

Front-end performance bottlenecks and errors leave a lasting impression on your customers. This is not the impression you want. Christine will show you how to quickly identify problems in your front-end code and make sure your users stay happy and keep visiting your web app.

Developing large apps is difficult. Ensuring that code is consistent, well structured, tested and has an architecture that encourages enhancement and maintainability is essential. But, how do you achieve this when building HTML5 single page apps? In this talk you'll learn the main concepts to apply when building a front-end app that scales and how BladeRunnerJS can support the development process.

The field of user experience has proven in the last decade how research methodologies can significantly improve the usability, intuitability, and enjoyment of products. Yet API design is dominated by discussion of how one technology (HTTP) is most purely applied (REST/Hypermedia). User research and testing can elevate the level of design for APIs. I will present strategies for building great APIs.

How does the pervasiveness of JavaScript on the client change how we architect applications? We can create hundreds virtual machines in the cloud, but we are using the millions of visual machines that visit our sites every day?

90-Minutes: WebRTC is a powerful open-source project that enables real-time communication (RTC)– baked right into modern web browsers. This means you can now incorporate video, voice and data sharing using peer-to-peer connectivity via simple JavaScript APIs, with no plugins or additional installs. This session will introduce the fundamentals of WebRTC and get you started building a simple...

This is not another session using Node and Socketio to demonstrate sending an receiving real time data. This presentation will cover what it takes to stand up production ready WebSocket clients and how to manage and gracefully degrade for non-supporting browsers.