16 episodes
- In this episode, Jake goes through some of the newer features of the View Transition API, along with some vaguer ideas that are planned for the future.
Resources
General view transitions docs
Custom entry and exit transitions
hasUAVisualTransition so you know when the UA has done its own transition
view-transition-class
view-transition-types
Cross-document view transitions
to wait for a particular element
The blocking attribute to wait for a particular resource
The pageswap and pagereveal events
Nested view transitions
The match-element vs auto discussion
Scoped view transitions
attr() in Chrome
Safari just went and released view-transition-name: auto - In this episode, Surma talks about a presenation-maybe-soon-to-be-a-proposal "JS0", which explores the idea of splitting JavaScript into two specifications: JS0, focusing on security, performance and capabilties, implemented by engines; and JSSugar, focussing on developer productivity and syntactic sugar features implemented by build tools.
Notes & Corrections:
Yes, I know, people still do have to step through assembler. But I stand behind the essence of my point: The debug symbols for compiled languages feel very reliable. We should be able to at least match that reliability in JavaScript.
Guy Bedford currently works at Fastly.
Resources:
Previous episode on Shared Structs
The infamous slide deck
OTMT episode on SourceMaps on source maps - In this episode, Surma talks about the Stage 2 proposal "JavaScript Struct", which introduces fixed-layout objects and the ability to share them between realms.
Notes & Corrections from Shu:
Surma was slightly wrong about why private fields were originally considered problematic for sharability. The problem occurs when a class can be evaluated multiple times:
function makeClass() { return class MyClass { #priv; getPrivateField(instance) { return instance.#priv; } }; } const C1 = makeClass(); const C2 = makeClass(); const i1 = new C1(); const i2 = new C2(); // this throws! i1.getPrivateField(i2); This behavior makes it hard to compile private fields just as "slots" on an object, as clearly additional behavior is required. This is somewhat at odds with the goal of achieving a fixed layout.
Also, launching is mid-2025 is very optimistic.
Resources:
SharedArrayBuffer
Structs proposal
Return overrides
Records & Tuples proposal
Surma's buffer-backed-object library for SharedArrayBuffer - After talking about Bazel in one of our previous episodes, we are now looking at Nix, a build system that has been getting increasing attention lately.
Resources:
OTMT Bazel episode
Surma's video on Nix
Eelco Dolstra's PhD Thesis
Nix & NixOS
A branch of Squoosh using Nix
Nixpkgs manual
Comparison of size and freshness of different package managers
Home Manager
Nix pills - We're finally getting a element we can fully control with CSS! A bunch of other stuff needed to be added to the platform to make it work, and the good news is we can use it a lot of them independently of .
Resources:
Chrome's article on the new , and how you can provide feedback.
The CSS appearance property. Nope, I still don't know what it does.
The Popover API.
"On popover accessibility: what the browser does and doesn't do" by Hidde de Vries and Scott O'Hara.
The CSS anchor positioning API.
The previous spatnav spec effort.
The hidden attribute until-found value (sorry, I said if-found in the episode).
The CSS element function.
Timing of cloning for the element.
Animating to height auto.
The new entry-exit animation feautres.
The proposed command and commandfor attributes which give buttons declaritive activation behavior.
More Technology podcasts
Trending Technology podcasts
About Off The Main Thread
Surma and Jake talk about whatever's going on in the world of tech & web development.
Podcast websiteListen to Off The Main Thread, Lex Fridman Podcast and many other podcasts from around the world with the radio.net app

Get the free radio.net app
- Stations and podcasts to bookmark
- Stream via Wi-Fi or Bluetooth
- Supports Carplay & Android Auto
- Many other app features
Get the free radio.net app
- Stations and podcasts to bookmark
- Stream via Wi-Fi or Bluetooth
- Supports Carplay & Android Auto
- Many other app features


Off The Main Thread
Scan code,
download the app,
start listening.
download the app,
start listening.


























