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

Schedule: Hands-on sessions

9:00am–12:30pm Tuesday, June 12, 2018
Accessibility
Location: 210 C/G
Nicolas Steenhout (Part of a Whole)
Average rating: *****
(5.00, 5 ratings)
Don't be daunted by web accessibility testing. Nicolas Steenhout outlines an accessibility testing workflow that can be integrated in your day-to-day coding or testing workflows. You'll review automated versus manual testing and learn how to use a variety of testing tools on real-life sites. Read more.
9:00am–12:30pm Tuesday, June 12, 2018
Future JS and Functional
Location: San Jose Ballroom 1-3 (Marriott)
Jeremy Fairbank (Test Double)
No runtime exceptions, no "undefined is not a function," no JavaScript fatigue—Elm is a functional programming language for building resilient frontend applications. Join Jeremy Fairbank to get hands-on experience with Elm and quickly learn how to build fast and safe applications with Elm's framework, the Elm Architecture. Read more.
9:00am–12:30pm Tuesday, June 12, 2018
Web services and APIs
Location: 210 D/H
Dan Shappir (Wix)
Average rating: *****
(5.00, 15 ratings)
Performance is at the forefront of many, if not most, web development projects. Fortunately, modern browsers provide a wealth of performance-related information and services, which can be used to optimize page load speed and responsiveness. Dan Shappir offers an overview of the aptly named Web Performance API and shows how to best use it to extract detailed performance information. Read more.
9:00am–12:30pm Tuesday, June 12, 2018
Performance and UX
Location: 210 B/F
Rachel Krause (Nielsen Norman Group)
Average rating: ****.
(4.80, 5 ratings)
To create a successful product, you need a solid understanding of your users. The key to success? Collaboration. Rachel Krause walks you through a collaborative process for creating a product users will love, from establishing users to creating a design that can be taken right into development without the need for high-fidelity mockups or detailed documentation. Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
Frameworks and Libraries
Location: 210 D/H
Average rating: ***..
(3.00, 9 ratings)
Luca Mezzalira walks you through reactive programming using two different frameworks: Vue.js and MobX. You'll start with a basic example that will be extended during the workshop, adding new functionalities and analyzing how the reactive approach helps in your frontend projects. Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
Jen Kramer (Harvard University Extension School)
Average rating: ****.
(4.83, 6 ratings)
CSS Grid is the brand-new spec available in the latest browsers. Jen Kramer details Grid's basic syntax, using a layout of a Mondrian painting as an example, and explores alternative Grid syntaxes as well as nested and offset grid layouts. Jen concludes by walking you through combining Flexbox and Grid to solve a web page layout problem. Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
Future JS and Functional
Location: San Jose Ballroom 1-3 (Marriott)
Scott Davis (ThoughtWorks)
Average rating: *****
(5.00, 1 rating)
Your web browser doesn't have a cute name like Alexa, Siri, or Cortana, but it can be just as talkative. Scott Davis explains why your smartphone, with its built-in speaker and microphone, is a perfect device for building a browser-based conversational UI. Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
Frameworks and Libraries
Location: 210 B/F
Benjamin Hong (Politico)
Average rating: ***..
(3.43, 7 ratings)
When it comes to learning about a new framework, there's no better way than building things from scratch. Join Benjamin Hong for a hands-on deep dive into Vue.js. You'll start from a bare-bones HTML5 template and build three applications from the ground up. Along the way, you'll explore Vue.js key concepts and learn how it compares to other frameworks like Angular and React. Read more.
1:30pm–5:00pm Tuesday, June 12, 2018
Pete Hodgson (Independent)
Average rating: ***..
(3.83, 6 ratings)
Join expert Pete Hodgson to get started with React on the right foot. Pete focuses on React fundamentals explained through two big ideas—testability and stateless components—as you learn how to build industrial-grade React apps. You’ll leave with hands-on knowledge of the major moving parts of React along with experience using tools and techniques for testing your React code. Read more.
9:50am–10:30am Wednesday, June 13, 2018
Alexis Menard (Intel)
Alexis Menard offers an overview of the WebXR Device API (formerly known as WebVR 2.0) and explains how to build a VR experience on the web from scratch. You'll get familiar with VR concepts, learn how to use them with the WebXR Device API, and discover how to port your existing WebVR 1.1 experience if you already have one. Read more.
9:50am–10:30am Wednesday, June 13, 2018
Future JS and Functional
Location: 210 B/F
Kyle Shevlin (Formidable Labs)
Average rating: ****.
(4.58, 12 ratings)
Functional programming is all the rage these days, but with lingo like "lambdas," "functors," and "monads," it can be intimidating to get started. Join Kyle Shevlin to learn just enough functional programming for you and your team to get started without getting lost in the vernacular. Read more.
9:50am–10:30am Wednesday, June 13, 2018
Web services and APIs
Location: 210 C/G
Peggy Rayzis (Meteor Development Group)
Average rating: ***..
(3.22, 9 ratings)
GraphQL is a new API technology that has exploded in popularity over the past year. But what's all the hype about? Peggy Rayzis details what GraphQL is and explains how integrating it into your application can solve many of the pain points frontend developers face when working with remote data. Read more.
3:35pm–4:15pm Wednesday, June 13, 2018
Matthew Larson (FamilySearch), Ian James (FamilySearch)
Average rating: ***..
(3.50, 4 ratings)
Many popular services employ real-time data to engage users, but traditional web technologies like REST and Ajax were not designed for the real-time web. Matthew Larson and Ian James share an alternative approach to real-time data that is easier to understand and scales well using Redux and WebSockets and demonstrate these principles in action with a real-time multiplayer game. Read more.
9:00am–9:40am Thursday, June 14, 2018
Security
Location: 212 A/B
Princiya Sequeira (Zalando)
Average rating: **...
(2.50, 2 ratings)
Browser extensions built with the WebExtensions APIs are compatible with all modern browsers. Princiya Sequeira shares 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. Read more.
9:50am–10:30am Thursday, June 14, 2018
Web services and APIs
Location: 212 A/B
Tara Z. Manicsic (Progress)
Average rating: ****.
(4.33, 3 ratings)
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. Read more.
11:00am–11:40am Thursday, June 14, 2018
Sebastian Golasch (Deutsche Telekom)
Average rating: *****
(5.00, 1 rating)
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 EMEs, CDMs, and DRM by reverse engineering and building a Netflix video player. Read more.
3:35pm–4:15pm Thursday, June 14, 2018
Web services and APIs
Location: 210 B/F
Alex Banks (Moon Highway)
Average rating: ****.
(4.33, 3 ratings)
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. Read more.
3:35pm–4:15pm Thursday, June 14, 2018
Performance and UX
Location: 210 A/E
Patrick Hamann (Fastly)
Average rating: ****.
(4.40, 5 ratings)
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? Read more.
4:25pm–5:05pm Thursday, June 14, 2018
People and teams
Location: 210 C/G
Heidi Helfand (Procore Technologies)
Average rating: ****.
(4.50, 2 ratings)
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 takers") in your organization. Heidi Helfand shares practical communication skills so you can become a more available and empowering coworker, friend, and leader. Read more.