~/talk

Bringing Adobe's Creative Cloud to the web: Starting with Photoshop

Talkat Google I/O 2022 · 2022-05-11..05-12· [web-platform, webassembly]
slides:none on file

Photoshop runs in the browser by compiling decades-old C++ into WebAssembly via Emscripten and shipping multiple Wasm builds (pthreads with SharedArrayBuffer using COOP/COEP, -fwasm-exceptions for Wasm-level C++ exceptions, -msimd128 for SIMD) with runtime feature detection. DevTools uses DWARF for source-level Wasm debugging. Large state uses origin-private files and access handles for swap-style paging. UI is Spectrum Web Components built with Lit, colors use CSS color(display-p3), and an 80 MB Wasm cached by Service Worker/workbox makes it usable. Support is broad but evolving.

AI-written summary · about

  1. 0:00Start
  2. 3:29Multithreading Dynamic multitasking with pthreads
  3. 5:16C++ exception handling Bringing C++ exceptions to WebAssembly
  4. 6:07SIMD instructions Single instruction, multiple data
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.