Fluent 2014 Schedule

Customize Your Own Schedule

Create your own conference schedule using the personal scheduler function. Mark the Workshops, Sessions, Keynotes, and Events you want to attend by clicking on the calendar icon next to each listing. Then click on personal schedule below and get your own customized schedule generated.

Web Components make web development fun again! Learn how to use Polymer and its UI components to create beautify component-based applications. Let's bring composability, reusability, and maintainability to the web.

12:00pm-12:30pm (30m)
Tools, Platforms, and APIs

Design Strategies for JavaScript API

Ariya Hidayat (Shape Security)

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.

1:30pm-2:00pm (30m)
Node.js, Tools, Platforms, and APIs

Managing JavaScript Complexity in Teams

Jarrod Overson (Shape Security)

Learn what tools exist to assess and visualize JavaScript complexity and learn how to manage ever enlarging codebases. There are loads of tools out now that go a long way to managing your code (and other's) so you have more time to deal with what is important. Learn how to make the best of them.

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.

Roll Your Own Multiplayer Game Console with Node, Socket.IO, and Common Handheld Devices

Kent Brewster (Pinterest)

Yesterday at Yahoo's third Sunnyvale Hack Day I built and demonstrated a many-player game, using node.js, socket.io, and as many handheld devices as were willing to sign in. Here's how I did it, and how you can play too!

Everything is a Polyfill: Automate Deleting Code for Front End Performance

Rachel Myers (Google), Emily Nakashima (Honeycomb)

Successful applications often get slow because they include *all the code* - even if it isn't needed for a particular client or in the given circumstances. Embracing module loading tools (like Require.js) creates smaller, faster, cleaner applications. We'll talk about how to extend this paradigm to all the components of our app for better performance and maintainability.

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.

12:00pm-12:30pm (30m)
Node.js, Pure Code and JavaScript, The Leading Edge

Technical and Social Progress Toward ECMAScript 6 at Facebook

Ben Newman (Meteor Development Group)

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.

1:30pm-2:00pm (30m)
Pure Code and JavaScript

Callable Entities in ECMAScript 6

Axel Rauschmayer (Ecmanauten)

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.

2:15pm-2:45pm (30m)
The Leading Edge, Tools, Platforms, and APIs

Where's My Straw?

Kyle Simpson (Getify)

What does a drive-thru have to teach us about optimizing tools and processes?

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.

4:30pm-5:00pm (30m)
Tools, Platforms, and APIs

Code Risk Management at Twitter

Andrés Ornelas (Twitter Inc)

In this talk, you will learn about a system we have built that quantifies and tracks the risk of files in any given codebase to empower all the levels of the organization to make informed decisions regarding code changes and accurately evaluate the health of their projects.

5:15pm-5:45pm (30m)
Node.js

Top Overlooked Security Threats To Node.js Web Applications

Chetan Karande (DTCC)

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.

11:15am-11:45am (30m)
Front End Libraries

Leveling Up in Angular

Alicia Liu (Lift.do)

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".

12:00pm-12:30pm (30m)
User Interface & User Experience

Interface Design Considerations for Data Visualization

Scott Murray (University of San Francisco)

This talk will illustrate the design process behind Kindred Britain (kindred.stanford.edu), an interactive network visualization and digital humanities project, made with Nicholas Jenkins and Elijah Meeks of Stanford University.

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.

2:15pm-2:45pm (30m)
Front End Libraries, Node.js, The Leading Edge

In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps

Spike Brehm (Airbnb)

While the client-side JavaScript app approach can provide snappy, interactive UIs, it presents challenges, including initial page-load performance, SEO, and duplication of application logic between client and server. Let's explore the budding community around isomorphic JavaScript apps and the tools and libraries you can use to run your app on the client and server with a single codebase.

Have you ever wondered how JavaScript runtime engines actually execute your code? JavaScript as a language has many interesting facets and features, and this has led to innovative techniques for executing code efficiently. Learn all about how modern runtime engines work, and hopefully gain some insight on how you can better leverage the language for your projects.

5:15pm-5:45pm (30m)
Front End Libraries

jQuery-free JavaScript

Elijah Manor (LeanKit)

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.

11:15am-11:45am (30m)
Pure Code and JavaScript, The Leading Edge, Tools, Platforms, and APIs

Practical Workflows for ES6 Modules

Guy Bedford (Verve Interactive)

See how to use ES6 modules and syntax in browsers today, with a focus on writing truly modular code. An overview of approaches will be covered, including a workflow for the ES6 Module Loader polyfill from development to production. Finally see an overview of the JSPM loader and CDN, demonstrating some of the possibilities of browser package management.

12:00pm-12:30pm (30m)
HTML5 Gaming

Creating 8-bit Game Music in the Browser

Brian Rinaldi (Telerik)

8-bit gaming is back, big time! Recreating the look and feel of an 8-bit game in the browser isn't complete without that classic 8-bit sound. In this session we'll look at how you can create 8-bit soundtracks in the browser using the Web Audio API and some help from a library called Band.js.

1:30pm-2:00pm (30m)
HTML5, CSS3, and Browser Tech, Mobile

Debugging (AKA Screaming, Crying, and Raging) Your PhoneGap Apps

Raymond Camden (IBM)

A look at debugging techniques (some helpful, some desperate) for PhoneGap applications.

WebCL provides portable, efficient, secure and high performance acceleration for compute intensive applications, by defining JS APIs for parallelization, with OpenCL support for heterogeneous multicore devices, including but not limited to CPUs and GPUs. WebCL defines a JS API with a binding to the underlying C-99 based OpenCL API.

In this presentation we’ll take a look at the various ways JavaScript relies on Unicode, what the consequences are for JavaScript developers wishing to support full Unicode in their apps, and how ECMAScript 6 will make our lives a bit easier in this regard.

4:30pm-5:00pm (30m)
Tools, Platforms, and APIs

Feature Branches as an Art

Matthew McCullough (GitHub), Brent Beer (GitHub)

Building a feature branch is an art. You want it to communicate as much as possible and be as orderly as possible for both the recipient and future reviewers. Learn how to polish a feature branch to a mirror-like shine by using a powerful combination of cherry pick and interactive rebase to put all your commits in the right place.

6 Bottles of RUM: Surprising Stories of Mobile Behavior in the Real World

Peter McLachlan (Mobify)

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.

11:15am-11:45am (30m)
Sponsored

Big Data is the Next Application Platform

Todd Papaioannou (Splunk)

Todd Papaioannou, CTO, Splunk, will discuss how Splunk software, including Splunk Enterprise and Hunk, provide developers with a robust and familiar development experience for working with big data.

12:00pm-12:30pm (30m)
Sponsored

Measuring App Performance in the Browser

Nathan Taggart (New Relic, Inc)

During this session discover the ways you can impact the application performance for your end user - pin pointing time spent within layers of the application, and end user demographics through geography, browser types, and page views. In addition to the application visibility we will be showing you how to dive into the time being spent within AJAX as well as the impact of JavaScript errors.

1:30pm-2:00pm (30m)

Session

To be confirmed

2:15pm-2:45pm (30m)
Sponsored

Building Customer Applications Using the Salesforce1 Platform APIs

Wade Wegner (salesforce.com)

Behind every app, every device, and every connection, is a customer. Using the Salesforce1 Platform there's no limit to what you can build for your customers.
In this talk Wade Wegner, Senior Director at salesforce.com, will demonstrate how to build your own applications using the Salesforce1 APIs. Heavy in code, light in slides, you'll leave ready to build your own applications on Salesforce1.

3:00pm-3:30pm (30m)
Sponsored

Using BladeRunnerJS to build front-end JavaScript apps that scale

Phil Leggetter (Caplin Systems Ltd)

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.

4:30pm-5:00pm (30m)

Session

To be confirmed

5:15pm-5:45pm (30m)

Session

To be confirmed

11:15am-11:45am (30m)
Sponsored

Closing the Web Platform Gap with Native

Moh Haghighat (Intel)

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.

12:00pm-12:30pm (30m)

Session

To be confirmed

1:30pm-2:00pm (30m)
Event

Speed Networking

If one of your goals at Fluent is to meet new people, this session will jumpstart your networking with other attendees. Bring your business cards and prepare a minute of patter about yourself, your projects, and your interests. You’ll exchange cards and information with a new attendee every two minutes.

2:15pm-2:45pm (30m)
Sponsored

Speed and Magic Sharding

Jesse Noller (Rackspace)

Rackspace Performance Cloud Servers

3:00pm-3:30pm (30m)
Sponsored

The Perception of Speed

Steve Souders (SpeedCurve)

Which would you rather have: a website that's fast or a website that's perceived as fast? The answer is "Both!" The list of performance best practices is long and well known, but there's been less focus on the user's perception of speed. In this presentation Steve Souders provides examples of how the perception of speed is completely independent of actual speed, and techniques for leveraging.....

4:30pm-5:00pm (30m)
Sponsored

Continuous Integration in JavaScript

Rob Richardson (GoDaddy)

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.

7:00pm-8:00pm (1h)
Event

FluentConf Survivor Challenge

The FluentConf Survivor Challenge will take the best coders at the conference and allow them to compete for prizes, fame, and glory. The competition is based on the Twilio API, and Digital Ocean’s cloud platform.

11:15am-1:30pm (2h 15m)
Event

Open Community Lounge

Take a breather in the Community Lounge (sponsored by Google) to gather with other brilliant minds, hack on your latest project, or just get a break from the day's sessions.

1:30pm-2:00pm (30m)
Event

Web Performance Flock

Fluent's Flocks are informal get togethers organized around specific topics and attended by experts chosen by O'Reilly as well as regular developers and evangelists. There's no need to sign up in advance, just show up in the Community Lounge at the scheduled time to join the conversation and chat with others interested in the topic.

2:00pm-4:30pm (2h 30m)
Event

Open Community Lounge

Take a breather in the Community Lounge (sponsored by Google) to gather with other brilliant minds, hack on your latest project, or just get a break from the day's sessions.

4:30pm-5:45pm (1h 15m)
Event

Angular Flock

Fluent's Flocks are informal get togethers organized around specific topics and attended by experts chosen by O'Reilly as well as regular developers and evangelists. There's no need to sign up in advance, just show up in the Community Lounge at the scheduled time to join the conversation and chat with others interested in the topic.

10:45am-4:45pm (6h)
Event

Exhibit Hall + Hardware Showcase

In addition to the exhibitors showcasing their latest products and services, the Exhibit Hall on Wednesday will also feature circuit board makers BeagleBoard and Tessel. Stop by their booths and see how Javascript can work with the physical world.

5:45pm-7:00pm (1h 15m)
Event

Exhibit Hall Reception

Grab a drink, mingle with fellow attendees, and see the latest in JavaScript and web platform technologies and products from leading companies. The Reception happens in the Exhibit Hall on Wednesday evening after afternoon sessions.

10:45am-11:15am (30m)

Break: Morning Break

3:30pm-4:30pm (1h)

Break: Afternoon Break

8:00am-9:00am (1h)

Break

9:00am-9:05am (5m)

Wednesday Keynote Welcome

Simon St.Laurent (O'Reilly Media, Inc.), Peter Cooper (Cooper Press)

Fluent Program Chairs, Simon St. Laurent and Peter Cooper, welcome you to the first day of keynotes.

9:05am-9:25am (20m)

JavaScript: Taking both the High and the Low Roads

Brendan Eich (JavaScript)

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.

9:25am-9:35am (10m)

Reading, Writing, Arithmetic,... and JavaScript?

Pamela Fox (Khan Academy)

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.

9:35am-10:00am (25m)

Virtual Machines, JavaScript and Assembler

Scott Hanselman (Microsoft)

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?

10:00am-10:10am (10m)

O'Reilly Web Platform Award Winners Announced

The winners of the first annual O'Reilly Web Platform Awards are announced.

10:10am-10:25am (15m)

The Humble Border-Radius

Lea Verou (Independent)

Lea Verou, Developer Relations, W3C

10:25am-10:40am (15m)

Speed, Performance, and Human Perception

Ilya Grigorik (Google)

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?

12:30pm-1:30pm (1h)
Event

Lunch / Birds of a Feather (BoF) Sessions

Have a particular topic you'd like to discuss with other Fluent attendees over lunch on Wednesday? BoFs are a great way to informally connect with others to share ideas, advice, and experiences.