Building a Better Web
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA

Sessions

Fast-paced and practical, you’ll learn new techniques and skills at Fluent. All sessions take place Wednesday, June 13 and Thursday, June 14.

Wednesday, June 13

Add to your personal schedule
9:00am–9:40am Wednesday, June 13, 2018
Location: 210 A/E Level: Intermediate
Secondary topics:  Case study, High-level, Web Pillars Track: Performance, Security, Accessibility
Maureen McElaney (IBM Watson Data Platform)
From supporting hospitals in Africa to providing electric power to Haiti to supporting families in rural Alaska, the Offline First approach to application development is truly saving the world. This session will uncover the approaches used in successful real world examples of Offline First and show you the tools and techniques that will allow you to build the same kinds of things. Read more.
Add to your personal schedule
9:00am–9:40am Wednesday, June 13, 2018
Location: 210 B/F Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, Technical
Sasha Aickin (Self-employed)
WebAssembly has been hailed in some quarters as the next JavaScript, but the truth is much more complicated. In this session, we will learn what WebAssembly is good for right now, in today's shipping browsers. Through the lens of a project ported from JavaScript to WebAssembly, we will find out when it is practical to use WebAssembly and when it is not. Read more.
Add to your personal schedule
9:00am–9:40am Wednesday, June 13, 2018
Location: 210 C/G Level: Non-technical
Secondary topics:  Best practice, Beyond Code Track: The Business Side of the Web
Brian Rinaldi (Telerik)
Today’s applications are made up of code that comes from many sources. They may use frameworks and libraries each of which may also may rely on hundreds of modules. Even portions the “original” code in a project may have originally been copy/pasted. Understanding what licenses we're using and what they require can prevent us from opening our companies or ourselves up to potential liabilities. Read more.
Add to your personal schedule
9:00am–9:40am Wednesday, June 13, 2018
Location: 210 D/H Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques
Cory House (Pluralsight | Cox Automotive)
Creating React components is easy. Designing and publishing truly reusable React components is hard. This session explores specific lessons learned from creating a library of reusable React components at Cox Automotive. Read more.
Add to your personal schedule
9:00am–9:40am Wednesday, June 13, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Case study, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Rachel Myers (Google), Emily Nakashima (Honeycomb)
Mobile and web apps are increasingly built on Backends as a Service, Platforms as a Service, Infrastructure as a Service, and we snap together SaaS like Legos. We’ve all become distributed systems engineers, intentionally or not. This talk is a practical talk about the tools and skills we can use to get ourselves out of the corner we’ve boxed ourselves into as an industry and as individuals. Read more.
Add to your personal schedule
9:50am–10:30am Wednesday, June 13, 2018
Location: 210 A/E Level: Intermediate
Secondary topics:  Best practice, Technical, Web Pillars Track: Performance, Security, Accessibility
Nic Jansma (Akamai), Charles Vazac (Akamai)
This talk will perform an honest audit of several popular third-party libraries to understand what their true cost is to your site. We'll talk about loading patterns, SPOF avoidance, JavaScript parsing, Long Tasks, runtime overhead, polyfill headaches, security and privacy concerns and more. Finally, we'll share tools to help you decide if a library’s risks and unseen costs are worth it. Read more.
Add to your personal schedule
9:50am–10:30am Wednesday, June 13, 2018
Location: 210 B/F Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, Hands-on, Technical
Kyle Shevlin (Fastly)
Functional programming is all the rage these days, but with lingo like "lambdas", "functors", and "monads", it can be intimidating to get started. Let me teach just enough functional programming for you and your team to get started without getting lost in the vernacular. Read more.
Add to your personal schedule
9:50am–10:30am Wednesday, June 13, 2018
Location: 210 C/G Level: Beginner
Secondary topics:  Best practice, Case study
Crystal Yan (United States Digital Service)
How do leading organizations hire effectively? Hear how one hiring manager used behavioral science research insights and human-centered design principles to improve the candidate experience, and learn best practices from leading technology corporations, startups, and consulting firms. Read more.
Add to your personal schedule
9:50am–10:30am Wednesday, June 13, 2018
Location: 210 D/H Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, Technical
Burke Holland (Microsoft)
Do you use Visual Studio Code? Do you think you know it pretty well? Let’s find out. Visual Studio Code is catching fire with JavaScript developers because it can do a LOT. From productivity tips to debugging Docker containers on the fly and even hacking the editor itself, we’ll assemble the best features and extensions for VS Code that nobody ever bothered to tell you about. Read more.
Add to your personal schedule
9:50am–10:30am Wednesday, June 13, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, High-level, Technical
Thomas Bouldin (Google), Sarah Allen (Google)
Modern backend architectures increasingly stitch together loosely coupled services through event-driven pipelines. Explore how “stackless” programming can free you to build applications faster that scale more smoothly. Read more.
Add to your personal schedule
11:00am–11:40am Wednesday, June 13, 2018
Location: 210 A/E Level: Beginner
Secondary topics:  Best practice, Technical, Web Pillars Track: Performance, Security, Accessibility
Maximiliano Firtman (ITMaster Professional Training)
After we understand how important Web Performance is and we've applied basic techniques, what's next? In this session, we will cover extreme techniques that will blow your mind about Web Performance. New compression algorithms? new image formats? Client-Hints? HTTP/2 Push? Let's hack Web Performance. Read more.
Add to your personal schedule
11:00am–11:40am Wednesday, June 13, 2018
Location: 210 B/F Level: Intermediate
Secondary topics:  Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Houssein Djirdeh (Rangle.io)
The mobile web is SLOW. We’ve become accustomed to developing complex applications with powerful desktop and laptop machines. This talk will cover the concept behind the PRPL pattern, what it is and how you can use it to build a fast and reliable progressive single-page application for users with any device. Read more.
Add to your personal schedule
11:00am–11:40am Wednesday, June 13, 2018
Location: 210 C/G Level: Non-technical
Secondary topics:  Best practice, High-level, Web Pillars Track: Performance, Security, Accessibility
Annie Lau (Trulia)
They say great software is secure software. But who should be responsible for ensuring and maintaining security excellence? Home and neighborhood resource, Trulia, says everyone. Manager of Software Engineering, Annie Lau, will describe how the company manages vulnerabilities through its bug bounty program, and scales the responsibility of security across engineering, product and business teams. Read more.
Add to your personal schedule
11:00am–11:40am Wednesday, June 13, 2018
Location: 210 D/H Level: Intermediate
Secondary topics:  Case study, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Gergely Németh (GoDaddy)
The story of how a proof-of-concept implementation of a Node.js application gets mature, starts earning revenue and gets scaled to millions of customers Read more.
Add to your personal schedule
11:00am–11:40am Wednesday, June 13, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, Technical
Martine Dowden (Andromeda)
CSS can be tricky, especially layouts and with over 40 possible values for the display property its no wonder. In this talk we will look at the display property and how to use it to layout content. Read more.
Add to your personal schedule
3:35pm–4:15pm Wednesday, June 13, 2018
Location: 210 A/E Level: Intermediate
Secondary topics:  Technical
Paul Calvano (Akamai Technologies)
Have you ever thought about how your site’s performance compares to the web as a whole? Paul Calvano explores how the HTTP Archive works, some ways people are using this dataset, and discusses some ways that Akamai has leveraged data within the HTTP Archive to help their customers. Read more.
Add to your personal schedule
3:35pm–4:15pm Wednesday, June 13, 2018
Location: 210 B/F Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, Hands-on, Technical
Peggy Rayzis (Meteor Development Group)
GraphQL is a new API technology that has exploded in popularity over the past year. But what's all the hype about? In this talk, you'll learn what GraphQL is and how integrating it into your application can solve many of the pain points front-end developers face when working with remote data. Read more.
Add to your personal schedule
3:35pm–4:15pm Wednesday, June 13, 2018
Location: 210 C/G Level: Non-technical
Secondary topics:  Beyond Code Track: The Business Side of the Web, Case study
Trent Willis (Netflix)
“Move Fast & Break Things”, “Get Shit Done”, “Disrupt”. These are mantras of the tech and design industry. They praise speed and hard work but overlook a core element: people. Let’s talk about how we can proactively care for our teammates with the same passion we use when caring for our code. Read more.
Add to your personal schedule
3:35pm–4:15pm Wednesday, June 13, 2018
Location: 210 D/H Level: Beginner
Secondary topics:  Best practice, Case study
Keerthana Krishnan (Baker Hughes, A GE Company)
Is the large number of JavaScript libraries available making your life difficult? A session about how JavaScript overwhelmed me when I had to deliver a product and how I bounced back Read more.
Add to your personal schedule
3:35pm–4:15pm Wednesday, June 13, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Case study, Developer Experience Track: Tools, Platforms, and Techniques
Kirsten Hunter (Akamai)
While APIs give developers a programmatic way to interact with your platform, many of them were designed for functionality, not for usability. A CLI system for common use cases can speed the learning process and provide mechanisms for automation and integration - without writing any code. I'll talk about a few industry CLIs and walk through our experience making a CLI for our customers. Read more.
Add to your personal schedule
4:25pm–5:05pm Wednesday, June 13, 2018
Location: 210 A/E Level: Non-technical
Secondary topics:  Case study, High-level, Web Pillars Track: Performance, Security, Accessibility
Sarah Federman (Adobe)
In a perfect world, every application would be usable by everyone. Unfortunately, it never seems to be that simple. Accessibility is vital to the future of the web and we all have a part to play in it. I'm going to talk about why and arm you with some techniques for making it a priority in your org through both top-down and grassroots efforts. Read more.
Add to your personal schedule
4:25pm–5:05pm Wednesday, June 13, 2018
Location: 210 C/G Level: Beginner
Secondary topics:  Beyond Code Track: The Business Side of the Web, Case study
Wade Minter (Custom Communications, Inc.)
It's easy to get attention in the tech community when you're building slick software to help high-income consumers do new things. But what if you're in North Carolina, building internal software to help people who install satellite dishes work more efficiently? In this session, a longtime dev leader talks about how they switched their thinking to deliver great software to these users. Read more.
Add to your personal schedule
4:25pm–5:05pm Wednesday, June 13, 2018
Location: 210 D/H Level: Intermediate
Secondary topics:  Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Brian Holt (Microsoft)
Your app is bigger and slower than it needs to be. Without rewriting app code we can squeeze more performance out of your code by tweaking Webpack and Babel. These tools are immensely powerful but it’s a delicate dance to get them to play nice. This talk is full of tips and tricks to get you there. Read more.
Add to your personal schedule
4:25pm–5:05pm Wednesday, June 13, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, High-level, Technical
Natalie Qabazard (Zillow Group)
For years, developers have relied on web browsers to render webpages client-side, often meaning that when users launch a webpage, they have to sit and patiently wait for it to load. This is a less than favorable experience that can be changed by writing user interface components in React. Join as we discuss pros and cons of rendering a webpage server-side using React and a “serverless” resource. Read more.

Thursday, June 14

Add to your personal schedule
9:00am–9:40am Thursday, June 14, 2018
Location: 210 A/E Level: Intermediate
Secondary topics:  Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Aimee Knight (Warner Bros. Digital Labs)
All too often developers are left completely puzzled when the browser renders CSS in ways they didn’t expect. It’s not dark magic though and as developers, we know that computers are just parsing our instructions. While many talks discuss how to fix common bugs, this talk will focus on the why by taking a deep dive into browser internals to see how our styles are parsed and rendered. Read more.
Add to your personal schedule
9:00am–9:40am Thursday, June 14, 2018
Location: 210 B/F Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, High-level, Technical
C J Silverio (npm Inc)
Until now, JavaScript has not had an official module system defined as part of the language. It’s had several unofficial ones, including node.js’s CommonJS module system. But a new module system is here, and it will have profound effects on how you write and share JavaScript. Learn about what’s changing with JavaScript modules and how your tooling and workflows will need to change in response. Read more.
Add to your personal schedule
9:00am–9:40am Thursday, June 14, 2018
Location: 210 C/G Level: Non-technical
Secondary topics:  Best practice, Beyond Code Track: The Business Side of the Web, Case study
Kim Crayton (Kim Crayton LLC)
How to Reduce Exclusionary Practices In Our Organizations and Communities Read more.
Add to your personal schedule
9:00am–9:40am Thursday, June 14, 2018
Location: 210 D/H Level: Beginner
Secondary topics:  Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Hassan Djirdeh (Shopify)
The ability to create Vue components as small decoupled units of functionality is necessary for the organization of Vue applications. With this, parent-child and sibling-sibling components need to interact and manage information amongst each other. This is where it becomes important to have appropriate state management for the predictability and maintainability of an entire Vue application! Read more.
Add to your personal schedule
9:00am–9:40am Thursday, June 14, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Hands-on, Technical, Web Pillars Track: Performance, Security, Accessibility
Princiya Marina (Zalando), Princiya Sequeira (Zalando)
Browser extensions built with the WebExtension APIs are compatible with all modern browsers. In this talk we shall look into the lessons learned from migrating a legacy privacy add-on to a web-extension, with performance being the key factor. The tips and tricks are sure to leave the audience worrying about privacy and taking their step towards building an open and healthy internet. Read more.
Add to your personal schedule
9:50am–10:30am Thursday, June 14, 2018
Location: 210 A/E Level: Beginner
Secondary topics:  Best practice, Technical, Web Pillars Track: Performance, Security, Accessibility
Juliana Gomez (Talos Digital)
A11y is picking up interest in the dev community (finally!) but once we know why we should make the internet accessible we need the knowledge and tools to actually do it. We know the "why", here's the "how" Read more.
Add to your personal schedule
9:50am–10:30am Thursday, June 14, 2018
Location: 210 B/F Level: Intermediate
Secondary topics:  Best practice, Developer Experience Track: Tools, Platforms, and Techniques, High-level
Tracy Lee (This Dot), Ben Lesh (Google)
There will always be a new framework. Wouldn't it be amazing if we could copy 90% of code between frameworks? Reactive programming enables this. Not only can it help JavaScript fatigue, but concepts remain consistent across frameworks. Learn how to create composable app architecture with RxJS, a DSL on top of JavaScript. Use RxJS in Angular, React, Vue and learn future for reactive primitives Read more.
Add to your personal schedule
9:50am–10:30am Thursday, June 14, 2018
Location: 210 C/G Level: Intermediate
Secondary topics:  Best practice, Web Pillars Track: Performance, Security, Accessibility
Ally Long (Field Intelligence)
Learn about designing and building products for a different kind of digital landscape than many of us are used to – for the billions of people around the world that now have access to connected smart phones, but who can afford only a few megabytes of data here and there, have cheap, low-powered devices, unreliable electricity, and are learning to use digital interfaces for the first time. Read more.
Add to your personal schedule
9:50am–10:30am Thursday, June 14, 2018
Location: 210 D/H Level: Beginner
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, Technical
David Neal (ReverentGeek)
Would you like to leverage your web skills to build cross-platform desktop applications? Electron is an open-source solution designed to make building great desktop applications easy. In this talk, you will learn its features, how to quickly get started, and tips from my experience! Read more.
Add to your personal schedule
9:50am–10:30am Thursday, June 14, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Hands-on
Tara Z. Manicsic (Progress)
There is a lot of talk about Progressive Web Apps these days, but what apps actually need to be progressive? Maybe users don't NEED a push notification every time you post a picture of your pet. Let's talk about what kind of apps can really be benefited by the advancements of modern web technologies and in the end walk through how to spin one up. Read more.
Add to your personal schedule
11:00am–11:40am Thursday, June 14, 2018
Location: 210 A/E Level: Beginner
Secondary topics:  Case study, Web Pillars Track: Performance, Security, Accessibility
Making your site faster seems so easy in theory, but in practice diagnosing and fixing performance issues on a large legacy codebase is like being an archaeologist excavating the remains of a lost civilization. Pick up a trowel and come along with Etsy's Frontend Systems team to learn real-life lessons on how we uncovered and fixed performance issues in our mobile product page code. Read more.
Add to your personal schedule
11:00am–11:40am Thursday, June 14, 2018
Location: 210 B/F Level: Intermediate
Secondary topics:  Case study, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Bryan Hughes (Microsoft)
Are you interested in TypeScript, but not sure where to start? Like most modern web development, it can feel like there are too many options and no obvious answers. This talk will share best practices for integrating TypeScript into both Node.js and Webpack+React/JSX workflows, how you can benefit from the features TypeScript offers, and answer common questions about TypeScript. Read more.
Add to your personal schedule
11:00am–11:40am Thursday, June 14, 2018
Location: 210 C/G Level: Non-technical
Secondary topics:  Best practice, Beyond Code Track: The Business Side of the Web, High-level
Val Head (Adobe), Elaine Chao (Adobe)
The need to work faster and iterate quickly is pressuring teams to connect designer and developers more closely. In this talk we'll draw on real-world project experience to examine where the tools you use, and the way you communicate can help your teams work more efficiently. You’ll learn how to streamline your process at the critical stage of passing solutions from design to development. Read more.
Add to your personal schedule
11:00am–11:40am Thursday, June 14, 2018
Location: 210 D/H Level: Intermediate
Secondary topics:  Case study, Developer Experience Track: Tools, Platforms, and Techniques, Hands-on
Sebastian Golasch (Deutsche Telekom)
Once there was the
Add to your personal schedule
11:00am–11:40am Thursday, June 14, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Best practice, Technical, Web Pillars Track: Performance, Security, Accessibility
Michael Swieton (Atomic Object)
Picking an encryption algorithm is like choosing a lock for your door. Some are better than others - but there's more to keeping burglars out of your house (or web site) than just the door lock. We'll review sites like Twitter, tools like Firesheep, and at how our framework (i.e. Rails,) our protocol (HTTP,) and transport (TLS) layers combine to build user-visible features like single sign-on. Read more.
Add to your personal schedule
3:35pm–4:15pm Thursday, June 14, 2018
Location: 210 A/E Level: Intermediate
Secondary topics:  Hands-on, Technical, Web Pillars Track: Performance, Security, Accessibility
Patrick Hamann (Fastly)
HTTP/2 server push gives us the ability to proactively send assets to a browser without waiting for them to be requested. Sounds great, right?! However, is this new mechanism really the silver bullet we thought it was? Using new research and real-world examples, this talk will take a deep dive into server push and attempt to answer the question we're all asking: is it ready for production? Read more.
Add to your personal schedule
3:35pm–4:15pm Thursday, June 14, 2018
Location: 210 B/F Level: Beginner
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, Hands-on, Technical
Alex Banks (Moon Highway, LLC)
Instead of allowing our phones to make us oblivious to the world around us, what if we were able to use them to facilitate interactivity in the real world? Using the power of GraphQL, the audience will participate in interactive challenges that create graphable relationships. We will dive into the code that produces each activity as well as the data produced by the activity itself. Read more.
Add to your personal schedule
3:35pm–4:15pm Thursday, June 14, 2018
Location: 210 C/G Level: Intermediate
Secondary topics:  Best practice, Technical, Web Pillars Track: Performance, Security, Accessibility
This presentation shares distilled findings from analysis of over thousand publicly known Node vulnerabilities. With intuitive data visualizations and statistics, this presentation brings forth trends in Node vulnerabilities during last five years, common security mistakes done by Node package authors, and how to prevent these issues in their own code. Read more.
Add to your personal schedule
3:35pm–4:15pm Thursday, June 14, 2018
Location: 210 D/H Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, High-level, Technical
Taylor Jones (IZEA)
Developers often focus on how JavaScript frameworks differ, but I believe there’s a thread that ties all of our javascript frameworks together. In this talk, we’ll explore the ideas that tie the prominent JavaScript frameworks together and how they are successfully building on these ideas. Read more.
Add to your personal schedule
3:35pm–4:15pm Thursday, June 14, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Ivan Jovanovic (Welltok)
Nowadays, applications are becoming so big and complex and most of the app is living on the client side. It’s becoming so hard to maintain those apps and we’re usually making more bugs than fixing them. This talk will show you how to fix this problem. Welcome to the era of Micro Frontends, a microservice oriented architecture on the frontend. Read more.
Add to your personal schedule
4:25pm–5:05pm Thursday, June 14, 2018
Location: 210 A/E Level: Intermediate
Secondary topics:  Best practice, High-level, Web Pillars Track: Performance, Security, Accessibility
Mark Zeman (SpeedCurve)
There are a wide variety of web performance metrics. Which ones should you focus on and share across your organization? We survey which performance metrics best represent the user experience and help you pick a winner for your website. We’ll walk through techniques for improving your UX performance metrics and getting the content that users care about the most in front of them as fast as possible. Read more.
Add to your personal schedule
4:25pm–5:05pm Thursday, June 14, 2018
Location: 210 B/F Level: Intermediate
Secondary topics:  Case study, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Luis Vieira (www.farfetch.com)
An overview of the current PWA landscape and how we can leverage new APIs such as client-hints, service-workers and network information to create PWAs that are highly adaptive to the user’s device and context and that can offer a tailored and optimized experience that accounts for each device unique characteristics Read more.
Add to your personal schedule
4:25pm–5:05pm Thursday, June 14, 2018
Location: 210 C/G Level: Intermediate
Secondary topics:  Best practice, Beyond Code Track: The Business Side of the Web, Hands-on
Heidi Helfand (Procore Technologies)
Listening is power. By “tuning in” and applying self management and directed curiosity you can help others solve their own problems. Doing this not only leads to greater ownership, but also more leaders in your organization instead of “order takers”. In this interactive talk I’ll teach you practical communication skills so you can become a more available and empowering coworker, friend and leader. Read more.
Add to your personal schedule
4:25pm–5:05pm Thursday, June 14, 2018
Location: 210 D/H Level: Intermediate
Secondary topics:  High-level, Technical
Stephen Fluin (Google)
The Angular Platform has come a long way since its first major release in September of 2016. Learn about what the Angular team is doing to make the platform smaller, faster, and easier to use. This session will also cover new efforts from the team to help developers take advantage of the modern web including Angular Elements, server side rendering with Universal, and more. Read more.
Add to your personal schedule
4:25pm–5:05pm Thursday, June 14, 2018
Location: 212 A/B Level: Intermediate
Secondary topics:  Developer Experience Track: Tools, Platforms, and Techniques, Technical
Alexa, Amazon's voice controlled assistant, is incredibly easy to build for. In this session I'll demonstrate how to build Alexa skills for the sole purpose of having fun with your kids. Read more.