Home YouTube Schedule FAQ Code of Conduct


03:30 AM (San Francisco) 06:30 AM (New York) 11:30 AM (London) 01:30 PM (Moscow) 07:30 PM (Tokyo)

Introductions! 👋😄

03:40 AM (San Francisco) 06:40 AM (New York) 11:40 AM (London) 01:40 PM (Moscow) 07:40 PM (Tokyo)

Opening Keynote

Deepti Gandluri

The opening keynote will be taking a look at what was achieved in WebAssembly in 2020, and what's to come in 2021!

▶️ Watch the talk
04:10 AM (San Francisco) 07:10 AM (New York) 12:10 PM (London) 02:10 PM (Moscow) 08:10 PM (Tokyo)

Production Ready Server-Side WebAssembly: The Challenging Parts

Saúl Cabrera

Shopify is one of the first companies to adopt server-side WebAssembly at scale. It powers our synchronous customization platform, which we are getting ready to launch to more than 1 million merchants.

This talk explores Shopify's adoption of WebAssembly, focusing on the challenging parts. WebAssembly fulfills a specific use case within Shopify, but as early adopters, it has become clear that WebAssembly has the potential to change the horizon of possibilities for the software industry. We aim to expose our adoption challenges as opportunities for the community to improve WebAssembly's ecosystem. To illustrate our vision of WebAssembly's potential, we'll examine the WebAssembly specification, the developer tools and the availability and maturity of programming languages. We'll also discuss how closing the gaps in each of these areas will open the door for existing and potential companies to start using WebAssembly.

▶️ Watch the talk
04:40 AM (San Francisco) 07:40 AM (New York) 12:40 PM (London) 02:40 PM (Moscow) 08:40 PM (Tokyo)

30 Minute Coffee Break ☕

05:10 AM (San Francisco) 08:10 AM (New York) 01:10 PM (London) 03:10 PM (Moscow) 09:10 PM (Tokyo)

Hit the Ground Running: Wasm Snapshots for Fast Startup

Nick Fitzgerald

Don't make your users wait while your Wasm module initializes itself! Wizer instantiates your WebAssembly module, executes its initialization functions, and then snapshots the initialized state out into a new, pre-initialized WebAssembly module. Now you can use this new module to hit the ground running, without waiting for any of that first-time initialization code to complete. This talk will cover the design and implementation of Wizer; discuss its performance characteristics and the scenarios in which it excels and when it isn't the right tool; and finally, in the process of doing all that, we'll take a closer look at what makes up the guts of a WebAssembly module: memories, globals, tables, etc.

▶️ Watch the talk
05:30 AM (San Francisco) 08:30 AM (New York) 01:30 PM (London) 03:30 PM (Moscow) 09:30 PM (Tokyo)

Grain: Your WebAssembly-First Programming Language

Oscar Spencer

While WebAssembly allows us to compile many of the languages that we know and love to something browser-compatible, it also opens the door for brand-new languages to share the stage with JavaScript. Grain is a strongly-typed language that aims to bring modern language features to the masses exclusively through WebAssembly. It has its roots in functional programming, but is flexible enough to suit your programming style while helping you catch bugs before runtime. This talk will give you a formal introduction to the language and a new outlook on the future WebAssembly ecosystem.

▶️ Watch the talk
06:00 AM (San Francisco) 09:00 AM (New York) 02:00 PM (London) 04:00 PM (Moscow) 10:00 PM (Tokyo)

90 Minute Lunch Break 🍱

07:30 AM (San Francisco) 10:30 AM (New York) 03:30 PM (London) 05:30 PM (Moscow) 11:30 PM (Tokyo)

Tensorflow inference on WebAssembly — from 10 minutes to 10 milliseconds

Michael Yuan

This presentation will cover options to run Tensorflow model inference on WebAssembly. We will start from the unique challenges of deploying AI inference models in production, and how Rust + WebAssembly could help. Using a Mobilenet image classification task as an example, we will discuss the pros and cons of the plain JS approach, Tensorflow.js, pure Rust crates for Tensorflow compiled to Wasm, and WASI-like Tensorflow Wasm extensions that run on specialized inference chips. We will go through the journey of 60,000x performance gain over different WebAssembly approaches. We will also discuss what’s the future for WebAssembly-based AI on the edge cloud.

▶️ Watch the talk
08:00 AM (San Francisco) 11:00 AM (New York) 04:00 PM (London) 06:00 PM (Moscow) 12:00 AM (Tokyo)

Raw Wasm: Hand-crafted WebAssembly Demos

Ben Smith

Over the past few years, I've been making small (each is <2KiB), hand-written demos in WebAssembly. I've also written a few blog posts about the largest (see raw wasm: making a maze race, part 1 and part 2). In this talk, I'll give an overview about the project, including how I made the demos, some of the fun tricks I used to keep file sizes small, and even how it can be useful!

▶️ Watch the talk
08:30 AM (San Francisco) 11:30 AM (New York) 04:30 PM (London) 06:30 PM (Moscow) 12:30 AM (Tokyo)

30 Minute Coffee Break ☕

09:00 AM (San Francisco) 12:00 PM (New York) 05:00 PM (London) 07:00 PM (Moscow) 01:00 AM (Tokyo)

Bring your language to Wasm!

Wouter van Oortmerssen

Wasm is an exciting technology for language designers: supporting a wider range of possible languages than previous "VMs", it allows a new language to run on equal footing with others, wherever Wasm runs. This talk provides an overview of the various options and tools that can help a language implementer bring their language to Wasm. It dives into the ways Wasm is different from other platforms, how this may affect different kinds of languages, and the different ways to put together existing tools, languages and intermediate formats to make that happen.

▶️ Watch the talk
09:30 AM (San Francisco) 12:30 PM (New York) 05:30 PM (London) 07:30 PM (Moscow) 01:30 AM (Tokyo)

Building a WebAssembly Runtime for BBC iPlayer and enhanced audience experiences

Tim Pearce, Juliette Carter (British Broadcasting Corporation)

Join us on our journey into investigating the role of WebAssembly in delivering “Object-Based Media” experiences to BBC audiences on any device. We’ll demonstrate how we built our own Wasm runtime, capable of playing back media based applications, by implementing and running BBC iPlayer as a Wasm module! We’ll show how we plan to build on this work, including leveraging compute nodes in the cloud, edge and home devices to improve the performance of real-time interactive and personalized media applications.

▶️ Watch the talk
10:00 AM (San Francisco) 01:00 PM (New York) 06:00 PM (London) 08:00 PM (Moscow) 02:00 AM (Tokyo)

Conclusion and Goodbyes! 👋🎉