Syntax - Tasty Web Development Treats
Syntax - Tasty Web Development Treats

Hasty Treat - Slow Connections Part 2

In this Hasty Treat, Scott and Wes are back with part 2 on how to develop for slow internet connections. Kyle Prinsloo Freelancing - Sponsor Kyle Prinsloo teaches you everything you need to know about freelancing, including how to quit your job, earn a side-income and start taking control of your li

Featured Speakers

Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers Host

Topics Discussed

Episode Summary

Executive Summary: This Syntax episode focuses on practical ways to make websites usable on slow or unreliable connections. Scott and Wes cover image optimization, responsive uploads, lazy loading, offline indicators, service workers, font-loading strategies, and how to test performance by throttling connections in browser tools. The recurring theme: prioritize perceived performance and graceful degradation so users can still read, upload, and interact even on weak networks.

Main Topics: Image optimization for slow networks: The hosts emphasize reducing image cost by serving appropriately sized images, compressing them, using SVG where possible, and lazy-loading offscreen images to improve load times and reduce bandwidth usage. Client-side resizing and upload efficiency: They discuss resizing images in the browser before upload to avoid sending huge phone photos, saving time, bandwidth, and user data plans. Avoiding layout shift with dimensions and placeholders: Setting width/height and stable placeholders is presented as a way to prevent content jank while images load, especially on slow connections. Offline states, retries, and service workers: They cover showing online/offline UI, retrying failed saves/uploads, and using service workers to cache assets and serve offline content, while noting service workers can be tricky. Font loading and fallback behavior: The episode explains how custom fonts can block readable text and recommends font-display strategies and system font stacks for better usability on slow networks. Testing with throttled connections: The hosts explain using Chrome and Firefox devtools to simulate slow or offline connections so developers can experience the site as users on poor networks do. Video and asset performance: They note that video should adapt to connection quality and that CSS/JS asset loading still matters, though those topics were covered in earlier episodes.

Key Arguments: Serve images no larger than needed; oversized images are one of the biggest and easiest-to-fix performance problems. Resize user-uploaded photos in the browser before sending them to the server to reduce upload time and data usage. Set image width and height or stable placeholders to avoid layout shifts as content loads. Compress images with lossless tools or build steps; stripping metadata often yields major size reductions without visible quality loss. Use SVG for logos and simple graphics because it is smaller and scales cleanly. Apply lazy loading to offscreen images so users do not download everything immediately. For critical UX, show offline/online status and retry behavior when network connectivity drops. Service workers can cache assets and enable offline experiences, but they add complexity and can be risky if caching is mismanaged. Custom fonts can delay readable text; font-display and system font stacks improve readability on slow connections. Developers should throttle connections in browser devtools to ensure performance choices are tested under realistic network conditions.

Data Points: Sponsor course users: over 2,500 people - Kyle Prinsloo’s freelancing course mentioned in the sponsor segment Coupon discount: 25% off - Coupon code "syntax" for studywebdevelopment.com/freelancing Offline retry delay example: 10 seconds - Suggested retry interval for failed uploads/saves when connectivity drops Font fallback timing example: 100–200 milliseconds - Discussed as a rough fallback threshold when using font-display behavior Network speed tier: 3G / fast 3G / slow 3G - Chrome DevTools throttling presets used to simulate slow connections System font stack entries: Apple System, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Open Sans, Helvetica Neue - Example of a fast default font stack for performance-sensitive pages Image upload size example: 3–4 MB - Typical size of an iPhone photo before client-side resizing Gatsby image processing note: hundreds of commits/large processing delays implied - Referenced as an example of image crunching being time-consuming in build workflows Tower range example: every couple blocks / 10–20 kilometers - Used to contrast dense 5G deployment with broader 3G coverage Connectivity examples: 700 up/down; 1–3 Mbps; 15 Mbps down - Illustrations of how varying bandwidth affects real-world performance

Pivotal Quotes: "Do not serve an image larger than you need." — Scott: Presented as the first and most fundamental image-performance rule "They just want to read the actual content of it." — Scott: Explaining why font fallback matters more than perfect typography on slow connections "Service workers sit at the network level and intercept requests." — Wes: A concise explanation of how service workers enable caching and offline behavior

Implications: Developers should design for weak or intermittent networks by reducing payloads, avoiding layout jank, and providing offline/resilient UX. These practices improve accessibility, user trust, and global usability as mobile and variable connections remain common.

🔓 Sign Up for Unlimited Episode Search

About Syntax - Tasty Web Development Treats

View all episodes from Syntax - Tasty Web Development Treats