Skill Piper

Send feedback

Google web.dev

Brought to you by, Surma & Jake

Level up your web development skills by listening to podcasts from Google Developers. Our podcasts highlight the latest in modern web development with pro-tips, insights, and techniques to help you learn what's new and how to build with best practices in mind

...see more

All Episodes of Google web.dev


Changing jobs, Deno, and optimizing animations

Changing jobs, Deno, and optimizing animations

In this episode: - Surma changed jobs. - The Shopify interview process. - Pair programming vs pair problem solving. - Surma's also doing bits of work for Deno. - The complexities of testing image codecs. - Jake forgot to tell Ada how HTTP 203 filming ends, so it almost never did. - Keeping animations fast but simple for page transitions. Transcript: https://goo.gle/3ns4TTK

29 June 2022


Deno, dithering, and bathrooms

Deno, dithering, and bathrooms

Transcript - https://goo.gle/3wZTwWS  Surma's talk about brain-click - https://goo.gle/3oYED3R  Is Chrome removing view-source? (no) Studio lighting - https://goo.gle/3oAvQVo  Jake's Twitter thread about view-source - https://goo.gle/3kQHV7L  Bathroom designs The HTTP203 episode on Deno - https://goo.gle/3CsAee8  Jake's CORS article - https://goo.gle/3x1lrWo  Deno deploy - https://goo.gle/3Cv45lZ  The little Deno server Jake wrote - https://goo.gle/30A2Zsw  Jake's wikipedia search thing - https://goo.gle/3CzarAJ  Color spaces and dithering Surma's article on dithering - https://goo.gle/3FsyH9B  Tom Scott's video on the Pulfrich Effect - https://goo.gle/3nre4EM  Shared element transitions - https://goo.gle/3FwtGNA  CSS cross-fade function - https://goo.gle/2YZfltc  Compositing on the web - https://goo.gle/30xqe5Y  Michael Caine trying to do an American accent - https://goo.gle/3Fus0Uw    Catch videos from the HTTP 203 series → http://goo.gle/HTTP203   Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs

18 November 2021


Is Safari the new IE?

Is Safari the new IE?

In this episode, Surma and Jake chat about:   Transcript → https://goo.gle/2XHz1Rz  HTTP 203 on memory debugging → https://goo.gle/2VDXRAQ  Box-sizing → https://goo.gle/3jDvH0R  IE5.5 box model → https://goo.gle/3izbY39  Tim Perry's article → https://goo.gle/3jFeWCx  IE double margin bug → https://goo.gle/3xzKWNi  IE duplicate characters bug → https://goo.gle/2U5M7X7  Dave Rupert's article → https://goo.gle/37CAI45  PROXX → https://goo.gle/3iAQbrQ  Weird emails from browser testing services → https://goo.gle/3fKQazB    Catch videos from the HTTP 203 series → http://goo.gle/HTTP203  Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs

10 August 2021


When the hype train turns out to be a bus replacement service

When the hype train turns out to be a bus replacement service

In this episode, Surma and Jake chat about:   Jake's 100kAMA, pose questions here → https://goo.gle/3swYDKz  Jake's 'bake-dancing' → https://goo.gle/3ajBFjx  The wee scale Hype trains Esbuild → https://goo.gle/3go1Nhc  Squoosh → https://squoosh.app/  Surma's JPEG-XL art tool → https://goo.gle/3n1kCYT  tooling.report → https://tooling.report/  JPEG-XL comparison → https://goo.gle/3x5hhN5  JPEG-XL features The quality of web images React on initial HTML → https://goo.gle/3n3OwLZ  What does 'inline CSS' mean? F1 website performance → https://goo.gle/3v8e6CB  AVIF blur preview → https://goo.gle/3dsjk63  Progressive rendering → https://goo.gle/3ecNjOC  Google I/O → https://goo.gle/32tCVwc

22 April 2021


Blog build tools, JS blocks, and opener-policy

Blog build tools, JS blocks, and opener-policy

In this episode of the top-10-most-popular-JavaScript podcast, Jake and Surma chat about:   Using our blogs to experiment with build systems. Jake's → http://goo.gle/3pi4sL5 Surma's → http://goo.gle/39dg8sK 11ty → https://www.11ty.dev/ Jake's static build → http://goo.gle/2Mi7254 Hydrated components in Jake's posts → http://goo.gle/3a0DOjt And where those are processed → http://goo.gle/36c8qgB Surma's dithering post → http://goo.gle/3c8c8f2   Cats and laser pens Dogs and teeth Improving the safety of Jedi training   The old _blank behaviour → http://goo.gle/3ojucoS The spec change → http://goo.gle/2YednBo The browsing context → http://goo.gle/2M5R0vf Cross-origin-opener-policy → http://goo.gle/2Mi7kZI window.open → http://goo.gle/3cfBPup Back/forward cache → https://web.dev/bfcache/   Old blocks proposal → http://goo.gle/2M4SeqL New blocks proposal → http://goo.gle/2Yd7iVK   Lockdown dreams Lottery fail → https://goo.gle/2M1EgpA

26 January 2021


How does back/forward actually work, and does 'talent' even exist?

How does back/forward actually work, and does 'talent' even exist?

- Jake messed up his recording, so it sounds like he literally phoned it in. He is very sorry. - Where do you put clothes that are in active service? - How the star system of hotels should work - Jake hates Eastenders - The element → https://goo.gle/3ihojWy - The session history traversal bit of the spec → https://goo.gle/2DCnqcg - Jake's writeup of how history behaves in browsers & spec proposal → https://goo.gle/33vrVQQ - The back-forward page cache → https://goo.gle/30vE06K - Moving an iframe → https://goo.gle/30Ae9L0 - COOP & COEP to get SharedArrayBuffer back → https://goo.gle/3kcAiqt - To what degree does "talent" exist? Is talent simply practice? → https://goo.gle/2EXm9gG - The social and economic advantages you need to become good at something - Does piracy have a valid place in helping disadvantaged folks learn software? - Different kinds of practice: Work, play, and deliberate practice. - Informer by Snow → https://goo.gle/3kj1K60 - This great Informer tweet → https://goo.gle/3fAota2 - Jon Snow dancing → https://goo.gle/2DCqcOI - The short version of HTTP203 → https://goo.gle/31ulRoW

10 August 2020


The big build-tool bonanza

The big build-tool bonanza

- Surma’s photo challenge: https://www.instagram.com/p/CBTiwExnIe6/ - https://web.dev/live happened! - Jake's image compression talk → https://goo.gle/2NZ4erd - Jake & Jason write build plugins → https://goo.gle/2CajSNF - https://tooling.report goes live! - webpack's weird behaviour with entry points → https://goo.gle/3iEQfVl - Rollup's docs → https://rollupjs.org/ - Rollup's issues with hashing → https://goo.gle/3gC4rwS - Import maps → https://goo.gle/38CFfn8 - SystemJS import maps → https://goo.gle/31TAxA2 - Hash cascading → https://goo.gle/2VWXWwG

9 July 2020


How to avoid getting UTF'd by text encodings

How to avoid getting UTF'd by text encodings

- The Count from Sesame Street swearing → https://goo.gle/3ftsgqL (warning: silly/rude) - Ofcom research into broadcast swearing → https://goo.gle/2A9xM1B (warning: lots of really bad language) (bigger warning: PDF) - Banned word list read by a computer → https://goo.gle/2SNkgat (warning: lots of really bad language)   - Beat saber stretches → https://goo.gle/2Ac4gZf    - Remy's question about text encoding → https://goo.gle/3bftse1  - TextEncoder → https://goo.gle/2zlvBaE  - TextDecoder → https://goo.gle/35K5Wou  - Streaming versions → https://goo.gle/2Wh4qHn   - Josh's joke encoding PR → https://goo.gle/2YK2316  - atob → https://goo.gle/2YK2316  - bota → https://goo.gle/2YKEuoP  - Binary strings in JS → https://goo.gle/3ch7R68  - readAsBinaryString in FileReader → https://goo.gle/2Wdnoyz    - DOMContentLoaded → https://goo.gle/3fon4EF  - defer and IE bugs → https://goo.gle/2WfOntj  - DOM ready in jQuery → https://goo.gle/3cdvnRN  - readyState → https://goo.gle/2xJnHrf  - doScroll trick → https://goo.gle/2WFuCtW  - "The end" → https://goo.gle/3fw8CKz  See https://goo.gle/HTTP203Podcast for other episodes.

8 May 2020


Maths, hooks, and errors

Maths, hooks, and errors

Jake injured himself playing games. Jake also has a stupid cat. By the way, skip to 22 mins if you don't care about all that. Writing a Countdown solver → https://goo.gle/2SkHtk2  Here's the game show → https://goo.gle/3bPo1DM  Here's the C++ solution → https://goo.gle/2VRzoFP  Jake's unappreciated audio blog post → https://goo.gle/2VNmOqZ  HTM (JSX alternative) → https://goo.gle/3cYr9x7  Preact hooks → https://goo.gle/3aMP15p  ComLink → https://goo.gle/2VLcr6V  Throwing non-errors. Guide to promises → https://goo.gle/2VOuCc8  Gotchas with typeOf. isNaN vs Number.isNaN.   See https://goo.gle/HTTP203Podcast for other episodes.

30 April 2020


Apps vs sites, binary data, and build times

Apps vs sites, binary data, and build times

Phil and Jack from fishandscripts.com are still lingering around. We chat about: Fustractions with punctuality. Phil's time website → https://goo.gle/34Cb3pW  Frances on naming PWAs → https://goo.gle/3cgkfTu  Jen's new job. Surma's WebXR experiment → https://goo.gle/3adpDp2  Transferring data between workers and pages. The DataView API → https://goo.gle/2ydWhd0  Buffer-backed objects → https://goo.gle/2REZitI  JavaScript proxies → https://goo.gle/2K6TaWT  Mathias on JS internals, including holey arrays → https://goo.gle/2RGzu0d  DX vs UX → https://goo.gle/2yhm9EO  Differences between dev and prod builds. An epic quiz on HTTP status codes. Desyncronised canvas → https://goo.gle/2yhm9EO  pointerrawupdate → https://goo.gle/3adk5Ln  Jake's unloved pointer library → https://goo.gle/2XCUUPJ  getCoalescedEvents → https://goo.gle/2XEf104    See https://goo.gle/HTTP203Podcast for other episodes.

15 April 2020


Fish & Scripts special!

Fish & Scripts special!

We join the https://fishandscripts.com/ podcast and chat about: Games we're playing to cope with lockdown: Overcooked 2 → https://goo.gle/39NeHOU  Snipperclips → https://goo.gle/2x2GZYt  Pikuniku → https://goo.gle/2UTf7Pt  Play You Don’t Know Jack → https://goo.gle/34wVJv3  Knowledge is Power → https://goo.gle/39UiMk8  It’s Quiz Time → https://goo.gle/3e7N7iA  And Surma plays Zelda fast → https://goo.gle/2Rsoi7w    Jake buys some chocolate Phil joins a choir requestStorageAccess → https://goo.gle/2yNFKwR  The SameSite cookie change is rolled back → https://goo.gle/2UTYpzF  Chrome releases are resumed → https://goo.gle/3e8Exjw  And we give Phil & Jack our quiz: NOT-or-NOT    See https://goo.gle/HTTP203Podcast for more detailed show notes, including links.

9 April 2020


VR, API design, and coping with lockdown

VR, API design, and coping with lockdown

Also native filesystem, listener questions, and TMI.

25 March 2020


Social distance, SSR patterns, and bedtime routines

Social distance, SSR patterns, and bedtime routines

Also performance, progressive enhancement, and hand-drying.

18 March 2020


Observables, board games, and 'Artechulate'

Observables, board games, and 'Artechulate'

Also, top fashion and career advice.

22 January 2020


It takes two to tangent

It takes two to tangent

Also cache invalidation, server rendering, and learning curves.

20 December 2019


Stability, TODOs, and the HTTP 203 census

Stability, TODOs, and the HTTP 203 census

Also how do you do TODO?

18 October 2019


The block-drop-n-swap

The block-drop-n-swap

Also, font loading, feature phones, and webpack vs Rollup.

3 September 2019


Chatting Edge & CSS with Greg Whitworth

Chatting Edge & CSS with Greg Whitworth

Also, PROXX, forms, and auto.

22 May 2019


Performance, trailers, and dentistry mishaps

Performance, trailers, and dentistry mishaps

Also camping, compositing, and building games.

2 May 2019


Rotating an image… TO THE EXTREME

Rotating an image… TO THE EXTREME

Also clip-path, bread, and urinals again.

21 February 2019


When laptops go bad… ON STAGE

When laptops go bad… ON STAGE

Also share target, shadow parts, and streams.

20 December 2018


Stress, canvas, and jam

Stress, canvas, and jam

Also zombie optimizations and alphabets

8 November 2018


Transforming, transpiling, and urinaling

Transforming, transpiling, and urinaling

Also page-lifecycle, WASM, and massages.

12 September 2018


CORB, BroadcastChannel, and the resting Switch face

CORB, BroadcastChannel, and the resting Switch face

Also spices, screen-touchers, and lasers.

8 August 2018


I/O chat with Vinamrata Singal and Eric Bidelman

I/O chat with Vinamrata Singal and Eric Bidelman

Lighthouse and automation.

2 August 2018


I/O chat with Sathya Gunasekaran and Mathias Bynens

I/O chat with Sathya Gunasekaran and Mathias Bynens

Exciting things appearing in V8.

26 July 2018


I/O chat with Martin Splitt

I/O chat with Martin Splitt

Making search and JavaScript better friends.

24 July 2018


I/O chat with Emily Schechter and Chris Palmer

I/O chat with Emily Schechter and Chris Palmer

Making Chrome secure.

17 July 2018


I/O chat with Paul Irish and Jason Miller

I/O chat with Paul Irish and Jason Miller

What's new in DevTools.

11 July 2018


I/O chat with Ewa Gasperowicz

I/O chat with Ewa Gasperowicz

Getting performance right.

19 June 2018


I/O chat with Darin Fisher

I/O chat with Darin Fisher

How Chrome began.

13 June 2018


I/O chat with Mariko Kosaka

I/O chat with Mariko Kosaka

How we got started on the web.

6 June 2018


I/O chat with Rob "the bobdod" Dodson

I/O chat with Rob "the bobdod" Dodson

Shipping new a11y features.

29 May 2018


I/O chat with Monica Dinculescu

I/O chat with Monica Dinculescu

Informative mouth-words.

23 May 2018


I/O chat with Dion Almaer & Ben Galbraith

I/O chat with Dion Almaer & Ben Galbraith

The state of the union of the web.

21 May 2018


Smooshes, WASMs, and conversational call stacks

Smooshes, WASMs, and conversational call stacks

Also quizzes, privilege, and screen readers.

17 April 2018


Cooties, symbols, and shaders

Cooties, symbols, and shaders

Also webpack + workers, observables, and resize observers.

15 March 2018


EventTarget, imports, and nudists

EventTarget, imports, and nudists

Also 120hz screens, JSON vs HTML, and a fox.

24 January 2018


Twelve things for 2018

Twelve things for 2018

With a limit of two minutes per topic.

14 December 2017


WebRTC again, and about:blank weirdness

WebRTC again, and about:blank weirdness

WebRTC again, and about:blank weirdness.

8 December 2017


Web-whispers and sleepy thoughts

Web-whispers and sleepy thoughts

Iframes, WeakMaps, and WebRTC.

22 November 2017


Wet Nose Cough

Wet Nose Cough

Viewports and message ports.

6 October 2017


A is for Effort

A is for Effort

Alarms, upcoming CSS stuff, impostor syndrome, and the death of Flash.

6 September 2017


Slippers and chips

Slippers and chips

Custom elements, matrices, TypeScript, and omg Paul is leaving

28 July 2017


Quizzing, animating, and canceling

Quizzing, animating, and canceling

Jake is worse at quizzes than Paul.

1 March 2017


Legs, Wasps, and Eventually Some Web Stuff.

Legs, Wasps, and Eventually Some Web Stuff.

Paul's been booting frameworks, and unfortunately Jake connected his brain to Twitter

17 January 2017


Springy CSS, Storage, and Bisecting.

Springy CSS, Storage, and Bisecting.

Paul has been playing with springy animations in the Safari Tech Preview, and Jake loves pubs that are also... windmills?

3 July 2016


Promises, Mistakes, and Door Handles

Promises, Mistakes, and Door Handles

"Jake's discovered display: contents, while Paul is concerned about people microbenchmarking ES2015 features."

24 February 2016


Poetry and Delegated Event Listeners

Poetry and Delegated Event Listeners

Jake brings his A+ poetry game, and Paul muses over the performance implications of event delegation.

24 October 2015


CORS, Forced Layouts, and Raptor Kebab Shops.

CORS, Forced Layouts, and Raptor Kebab Shops.

Why does nobody seem to include CORS headers on their files? And can Paul answer Jake's dreaded CORS pre-flight quiz?

6 October 2015


Making Burgers and Maintainable Code

Making Burgers and Maintainable Code

How can writing code be like making a burger? Turns out, by the power of weird segues, it can!

20 September 2015

Skill Piper
HomeBlogAboutContactNewsletter

© 2022 Skill Piper. All rights reserved

Twitter