June 17th, 2024 × #podcasting#offline#caching
How We Built a Netflix Style “Save for Offline” Feature Into Syntax
Scott and Wes discuss how they built an offline playback feature for Syntax podcast episodes using the Cache API to save files locally in the browser.
Scott and Wes dive into the world of browser caching for audio files, exploring the File System API and the Cache API. They discuss size restrictions across different browsers, how tools like Riverside.fm leverage IndexedDB, and walk through code examples for creating, retrieving, and managing cached audio data.
Show Notes
- 00:00 Welcome to Syntax!
- 02:07 Brought to you by Sentry.io.
- 02:33 The file system API.
- 03:08 The Cache API.
- 04:24 Size restrictions per browser.
- 07:04 How tools like Riverside.fm use IndexedDB.
- 08:47 Data eviction (too much data).
- 10:16 What we’re using it for and how.
- 12:17 How do we do this in code?
- 14:37 Creating the cache.
- 16:18 Retrieving from cache manually.
- 19:00 Adding metadata.
- 19:37 A live debugging.
- 22:39 Persistent storage.
- 26:10 Media score.
Hit us up on Socials!
Syntax: X Instagram Tiktok LinkedIn Threads
Wes: X Instagram Tiktok LinkedIn Threads