Building a Better Web
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA
 
210 A/E
Add Accessibility is important; now what? to your personal schedule
9:50am Accessibility is important; now what? Juliana Gomez (HUGE)
210 B/F
Add The future of JavaScript modules to your personal schedule
9:00am The future of JavaScript modules C J Silverio (npm)
Add TypeScript in practice to your personal schedule
11:00am TypeScript in practice Bryan Hughes (Microsoft)
Add Group games with GraphQL subscriptions to your personal schedule
3:35pm Group games with GraphQL subscriptions Alex Banks (Moon Highway)
210 C/G
Add Unintended consequences  to your personal schedule
9:00am Unintended consequences Kim Crayton (#causeascene)
Add Field-tested interfaces for the next billion to your personal schedule
9:50am Field-tested interfaces for the next billion Ally Long (Field Intelligence)
Add Modern workflows: Aiming for faster and better without burning out to your personal schedule
11:00am Modern workflows: Aiming for faster and better without burning out Val Head (Adobe), Elaine Chao (Adobe)
Add Patterns in Node.js vulnerabilities to your personal schedule
3:35pm Patterns in Node.js vulnerabilities Chetan Karande (DTCC)
Add Leadership starts with listening: Amplify your impact to your personal schedule
4:25pm Leadership starts with listening: Amplify your impact Heidi Helfand (Procore Technologies)
210 D/H
Add Cross-platform desktop apps with Electron to your personal schedule
9:50am Cross-platform desktop apps with Electron David Neal (ReverentGeek)
Add EME? CDM? DRM? CENC? IDK! to your personal schedule
11:00am EME? CDM? DRM? CENC? IDK! Sebastian Golasch (Deutsche Telekom)
Add Becoming a team lead: A survival guide to your personal schedule
3:35pm Becoming a team lead: A survival guide Joseph Wynn (SpeedCurve)
Add What's new in Angular to your personal schedule
4:25pm What's new in Angular Stephen Fluin (Google)
212 A/B
Add Rebuilding a browser extension for privacy to your personal schedule
9:00am Rebuilding a browser extension for privacy Princiya Sequeira (Zalando)
Add Does it NEED to be a PWA? to your personal schedule
9:50am Does it NEED to be a PWA? Tara Z. Manicsic (Progress)
Add The art and craft of secrets: Using the cryptographic toolbox to your personal schedule
11:00am The art and craft of secrets: Using the cryptographic toolbox Michael Swieton (Atomic Object)
Add Introduction to micro-frontends to your personal schedule
3:35pm Introduction to micro-frontends Ivan Jovanovic (nearForm)
Add Thursday opening remarks to your personal schedule
Grand Ballroom
1:00pm Thursday opening remarks Laurel Ruma (O'Reilly Media), Kyle Simpson (Getify), Tammy Everts (SpeedCurve)
Add You are (w)here? Geospatial web dev off the beaten map to your personal schedule
1:10pm You are (w)here? Geospatial web dev off the beaten map Aurelia Moser (Mozilla Science)
Add The parallel future of the browser to your personal schedule
1:30pm The parallel future of the browser Lin Clark (Mozilla)
Add It's spelled "accessibility," not "disability" to your personal schedule
1:50pm It's spelled "accessibility," not "disability" Scott Davis (ThoughtWorks)
Add Question and answer session with Brendan Eich to your personal schedule
2:25pm Question and answer session with Brendan Eich Brendan Eich (Brave Software)
Add Closing Reception (sponsored by SpeedCurve) to your personal schedule
5:05pm Closing Reception (sponsored by SpeedCurve) | Room: San Jose Ballroom, 2nd Level
8:00am Morning coffee | Room: Grand Ballroom Foyer
Add Thursday Speed Networking to your personal schedule
8:15am Thursday Speed Networking | Room: Grand Ballroom 220 Foyer
10:30am Morning break (Sponsored by Salesforce) | Room: Expo Hall
Add Lunch and Thursday Topic Tables to your personal schedule
11:40am Lunch and Thursday Topic Tables | Room: Expo Hall
2:45pm Afternoon Break (Sponsored by Verizon Digital Media Services) | Room: Expo Hall
9:00am-9:40am (40m) Web Foundations: CSS, HTML, JS, Node Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Technical
It's not dark magic: Pulling back the curtains from your stylesheets
Aimee Knight (Built Technologies)
All too often developers are left completely puzzled when the browser renders CSS in ways they didn’t expect. But it’s not dark magic; we know that computers are just parsing our instructions. While many talks discuss how to fix common bugs, Aimee Knight focuses on the reasons behind them, leading a deep dive into browser internals to see how our styles are parsed and rendered.
9:50am-10:30am (40m) Accessibility Best practice, Technical, Web Pillars Track: Performance, Security, Accessibility
Accessibility is important; now what?
Juliana Gomez (HUGE)
A11y is picking up interest in the dev community, but now we need the knowledge and tools to actually do it. Juliana Gomez demystifies the trickiest WCAG standards, shares demos of common accessibility nightmares like accordion menus, custom forms, modals, video players, and date pickers, and explains how to make them accessible in the simplest ways possible using HTML, CSS, and plain JavaScript.
11:00am-11:40am (40m) Performance and UX Case study, Web Pillars Track: Performance, Security, Accessibility
Raiders of the fast start: Frontend performance archeology
Katie Sylor-Miller (Etsy)
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 join Katie Sylor-Miller to learn real-life lessons on how Etsy uncovered and fixed performance issues in its mobile product page code.
3:35pm-4:15pm (40m) Performance and UX Hands-on, Technical, Web Pillars Track: Performance, Security, Accessibility
To push, or not to push? The future of HTTP/2 server push
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, but is this new mechanism really a silver bullet? Using new research and real-world examples, Patrick Hamann leads a deep dive into server push and attempts to answer the question we're all asking: Is it ready for production?
4:25pm-5:05pm (40m) Performance and UX Best practice, High-level, Web Pillars Track: Performance, Security, Accessibility
Meaningful UX performance metrics and how to improve them
Mark Zeman (SpeedCurve)
There are a wide variety of web performance metrics, but which ones should you focus on and share across your organization? Mark Zeman explains which performance metrics best represent the user experience and walks you 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.
9:00am-9:40am (40m) Future JS and Functional Developer Experience Track: Tools, Platforms, and Techniques, High-level, Technical
The future of JavaScript modules
C J Silverio (npm)
Until now, JavaScript has not had an official module system defined as part of the language, although it’s had several unofficial ones, including Node.js’s CommonJS module system. Join CJ Silverio to explore JavaScript's new module system, ES modules, and learn how your tooling and workflows will need to change in response.
9:50am-10:30am (40m) Future JS and Functional Best practice, Developer Experience Track: Tools, Platforms, and Techniques, High-level
Reactive programming: Why you should care and how to write more-future-proof code
Tracy Lee (This Dot), Ben Lesh (Google)
Wouldn't it be amazing if you could copy 90% of code between frameworks? You can with reactive programming. Not only can it ameliorate JavaScript fatigue, but concepts remain consistent across frameworks. Join Tracy Lee and Ben Lesh to learn how to create composable app architecture with RxJS, a DSL on top of JavaScript.
11:00am-11:40am (40m) Future JS and Functional Case study, Developer Experience Track: Tools, Platforms, and Techniques, Technical
TypeScript in practice
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. Join Bryan Hughes to learn best practices for integrating TypeScript into both Node.js and webpack+React/JSX workflows, discover how you can benefit from the features TypeScript offers, and find answers to your TypeScript questions.
3:35pm-4:15pm (40m) Web services and APIs Developer Experience Track: Tools, Platforms, and Techniques, Hands-on, Technical
Group games with GraphQL subscriptions
Alex Banks (Moon Highway)
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? Alex Banks details (and invites you to participate in) interactive challenges that use the power of GraphQL to create graphable relationships, covering the code that produces each activity and the data produced by the activity itself.
4:25pm-5:05pm (40m) Mobile and Desktop Case study, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Adaptive PWAs: Delivering customized and optimized cross-device web apps
Luis Vieira (Farfetch.com)
Luis Vieira offers an overview of the current Progressive Web App (PWA) landscape and explains how to leverage new APIs such as Client Hints, service workers, and network information to create PWAs that are highly adaptive to users' devices and contexts and that can offer a tailored and optimized experience that accounts for each device's unique characteristics.
9:00am-9:40am (40m) Business of web Best practice, Beyond Code Track: The Business Side of the Web, Case study
Unintended consequences
Kim Crayton (#causeascene)
Kim Crayton explains how to reduce exclusionary practices in your organizations and communities.
9:50am-10:30am (40m) Performance and UX Best practice, Web Pillars Track: Performance, Security, Accessibility
Field-tested interfaces for the next billion
Ally Long (Field Intelligence)
Ally Long explains how to design and build 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 smartphones 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.
11:00am-11:40am (40m) People and teams Best practice, Beyond Code Track: The Business Side of the Web, High-level
Modern workflows: Aiming for faster and better without burning out
Val Head (Adobe), Elaine Chao (Adobe)
The need to work faster and iterate quickly is pressuring teams to connect designers and developers more closely. Val Head and Elaine Chao draw on real-world project experience to demonstrate how 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.
3:35pm-4:15pm (40m) Security Best practice, Technical, Web Pillars Track: Performance, Security, Accessibility
Patterns in Node.js vulnerabilities
Chetan Karande (DTCC)
Chetan Karande shares the findings from an analysis of over a thousand publicly known Node.js vulnerabilities. With intuitive data visualizations and statistics, Chetan details trends over last five years, explores common security mistakes made by Node.js package authors, and explains how you can prevent these issues in your own code.
4:25pm-5:05pm (40m) People and teams Best practice, Beyond Code Track: The Business Side of the Web, Hands-on
Leadership starts with listening: Amplify your impact
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 creates more leaders (rather than "order followers") in your organization. Heidi Helfand shares practical communication skills so you can become a more available and empowering coworker, friend, and leader.
9:00am-9:40am (40m) Frameworks and Libraries Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Technical
How to stay sane while managing complex state in Vue.js
Hassan Djirdeh (Shopify)
The ability to create Vue.js components as small decoupled units of functionality is necessary for the organization of Vue.js applications, and parent-child and sibling-sibling components must be able to interact and manage information. Hassan Djirdeh explains why it's important to have appropriate state management for the predictability and maintainability of an entire Vue.js application.
9:50am-10:30am (40m) Mobile and Desktop Developer Experience Track: Tools, Platforms, and Techniques, Technical
Cross-platform desktop apps with Electron
David Neal (ReverentGeek)
Want to leverage your web skills to build cross-platform desktop applications? David Neal offers an overview of Electron, an open source solution designed to make building great desktop applications easy. Join in to explore Electron's features and learn how to quickly get started.
11:00am-11:40am (40m) Web Foundations: CSS, HTML, JS, Node Case study, Developer Experience Track: Tools, Platforms, and Techniques, Hands-on
EME? CDM? DRM? CENC? IDK!
Sebastian Golasch (Deutsche Telekom)
Once there was the "video" tag, but content distributors decided it wasn't enough. They wanted more—more power, more protection, more control—so encrypted media extensions were born, and digital rights management appeared in our browsers. Sebastian Golasch walks you through the technical details behind EME, CDMs, and DRM by reverse engineering and building a Netflix video player.
3:35pm-4:15pm (40m) People and teams
Becoming a team lead: A survival guide
Joseph Wynn (SpeedCurve)
Taking your first team lead role can be daunting. How do you set yourself up for the role? How do you steer the team direction without micromanaging? How do you look after yourself on top of handling the new responsibility? An engineer who accidentally fell into a team lead role, Joseph Wynn shares advice and best practices to help you feel more comfortable becoming a team lead.
4:25pm-5:05pm (40m) Frameworks and Libraries High-level, Technical
What's new in Angular
Stephen Fluin (Google)
The Angular platform has come a long way since its first major release in September 2016. Stephen Fluin shares what the Angular team is doing to make the platform smaller, faster, and easier to use and outlines new efforts from the team to help developers take advantage of the modern web, including Angular Elements, server-side rendering with Universal, and more.
9:00am-9:40am (40m) Security Hands-on, Technical, Web Pillars Track: Performance, Security, Accessibility
Rebuilding a browser extension for privacy
Princiya Sequeira (Zalando)
Browser extensions built with the WebExtensions APIs are compatible with all modern browsers. Princiya Marina and Princiya Sequeira share lessons learned migrating a legacy privacy add-on to a web extension, with performance being the key factor. Along the way, you'll explore all things web tracking.
9:50am-10:30am (40m) Web services and APIs Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Hands-on
Does it NEED to be a PWA?
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. Tara Manicsic details what kinds of apps really benefit from the advancements of modern web technologies and walks you through spinning one up.
11:00am-11:40am (40m) Security Best practice, Technical, Web Pillars Track: Performance, Security, Accessibility
The art and craft of secrets: Using the cryptographic toolbox
Michael Swieton (Atomic Object)
Michael Swieton explores how the cryptographic ecosystem—which includes tools such as public key cryptography, signatures, password hashes, key exchange, and stream ciphers—provides security for our applications and explains how these tools come together to enable user-visible functionality like secure sessions, user authentication, and single sign-ons.
3:35pm-4:15pm (40m) Architecture and microservices Best practice, Developer Experience Track: Tools, Platforms, and Techniques, Technical
Introduction to micro-frontends
Ivan Jovanovic (nearForm)
Nowadays, applications have become incredibly big and complex, and most of the app lives on the client side. It’s becoming very hard to maintain those apps, and we often create more bugs than we fix. Ivan Jovanovic explains why the micro-frontend (a microservice-oriented architecture on the frontend) might just be the solution you need.
4:25pm-5:05pm (40m) Web services and APIs Developer Experience Track: Tools, Platforms, and Techniques, Technical
Building Alexa skills just to mess with your kids
Raymond Camden (IBM)
Alexa, Amazon's voice-controlled assistant, is incredibly easy to build for. Raymond Camden walks you through building Alexa skills for the sole purpose of having fun with your kids.
1:00pm-1:10pm (10m)
Thursday opening remarks
Laurel Ruma (O'Reilly Media), Kyle Simpson (Getify), Tammy Everts (SpeedCurve)
Conference chairs Laurel Ruma, Kyle Simpson, and Tammy Everts open the second day of Fluent.
1:10pm-1:30pm (20m)
You are (w)here? Geospatial web dev off the beaten map
Aurelia Moser (Mozilla Science)
Focusing on a mix of artificial, scientific, and environmental sensing data, Aurelia Moser explores fantasy and farcical mapping, teasing out the tough parts of geocoding on real and mythical spatial matrices while delving into the contrived topographies of null island, paper towns, "dumb" cities, and the infinitely curious world of geospeculative design in JavaScript.
1:30pm-1:50pm (20m)
The parallel future of the browser
Lin Clark (Mozilla)
The browser needs to get faster. Applications are testing the limits of current browsers, especially on devices like smartphones. Lin Clark explains how the browser works today and what browser vendors need to do over the next few years to ensure their browsers (and the web itself) meet upcoming demands.
1:50pm-2:05pm (15m)
It's spelled "accessibility," not "disability"
Scott Davis (ThoughtWorks)
What if you could increase your website's SEO, improve your mobile web design, and get a head start on the coming conversational UI revolution through a renewed focus on accessibility? And what if you increased your user base by making it more accessible to disabled users? Scott Davis explains why accessibility should be just as important to you as a mobile design strategy was 10 years ago.
2:05pm-2:25pm (20m)
The coming era of privacy by default: Brave and the Basic Attention Token
Brendan Eich (Brave Software)
Brendan Eich asks what it would mean to the web if we actually start building products, apps, and systems that are private by default. Securing our customers' privacy has never been more important—GDPR may require it legally, but ethically, adopting a mission-first focus for your customer is the right thing to do.
2:25pm-2:40pm (15m)
Question and answer session with Brendan Eich
Brendan Eich (Brave Software)
Have you ever wanted to ask Brendan Eich his thoughts on the future of the web, cryptocurrency, browsers, and JavaScript? Don't miss this moderated Q&A session with Brendan.
2:40pm-2:45pm (5m)
Closing remarks
Closing remarks
5:05pm-6:45pm (1h 40m)
Closing Reception (sponsored by SpeedCurve)
Join us for the closing celebration of Velocity and Fluent. Don’t miss this last chance to mingle.
8:00am-9:00am (1h)
Break: Morning coffee
8:15am-8:45am (30m)
Thursday Speed Networking
Jumpstart your networking at Fluent at Speed Networking in the morning. Bring your business cards and prepare a minute of patter about yourself, your projects, and your interests.
10:30am-11:00am (30m)
Break: Morning break (Sponsored by Salesforce)
11:40am-1:00pm (1h 20m)
Lunch and Thursday Topic Tables
Join other attendees during lunch at Fluent to share ideas, talk about the issues of the day, and maybe solve a few. Not sure which topic to pick? Don’t worry—it's not a long-term commitment. Try two or three and settle on a different topic tomorrow.
2:45pm-3:35pm (50m)
Break: Afternoon Break (Sponsored by Verizon Digital Media Services)