#431 — March 11, 2020

Read on the Web

Frontend Focus

The Performance Benefits of Variable Fonts — This is a good look at the performance gains you can expect when using variable fonts, with a focus on font requests, file sizes and time to first render. If you’re just starting to explore using variable fonts, this is a great related resource.

Mandy Michael

Setting Height And Width On Images Is Important Again — Thanks to some recent changes in browsers, it’s now well worth setting width and height attributes on your images to prevent layout shifts and improve the experience of your site visitors.

Barry Pollard

AWS Webinar: How to Scale Kubernetes in AWS — Operating a Kubernetes environment at scale requires monitoring for performance and health. Join this webinar to discover how to proactively approach monitoring of your Kubernetes environments—at any scale and any level of complexity.

Amazon Web Services (AWS) sponsor

Many Podcast Episodes Won’t Play in Web Browsers Later This Year — An estimated 1 million+ podcast episodes aren’t available over secure connections, and it’s about to become a problem.

Dan Misener

The History of the URL — This is a great deep-dive into the anatomy of the humble URL and how it came into being.

Zack Bloom (Cloudflare)

Firefox 74.0 Released — Version 74 of Firefox arrived today. We’ve linked to the developer release notes as the headline features are minimal. Developer level changes include Feature Policy support enabled by default, TLS 1.0 and 1.1 support removed, text-underline-position CSS property now enabled, and JavaScript gains the optional chaining operator.


More Accessible Defaults, Please — Due to the complex nature of web apps, it’s no longer correct to say the web is ‘accessible by default’. As Hidde points out, we need browser accessibility bugs to be prioritized.

Hidde de Vries

💻 Jobs

UX/Frontend Engineer @ Siteline — Join the founding engineering team at Siteline and help us revolutionize the payments process for construction.


React JS Developer (Remote) — 9+ million people plan outdoor adventures with our apps every day. If you are smart and ambitious, join us to inspire people to explore more of the great outdoors.


Find a Dev Job Through Vettery — Vettery is completely free for job seekers. Make a profile, name your salary, and connect with hiring managers from top employers.


ℹ️ If you're interested in running a job listing in Frontend Focus, there's more info here.

📙 News, Tutorials & Opinion

How We Created a Static Site That Generates Tartan Patterns in SVG — There are thousands of Tartan patterns (the cloth that’s typically associated with Scotland) - here’s a look at how they were all digitally weaved with code (React).

Paulina Hetman

Scroll Snapping After Layout Changes — Starting in Chrome 81, scrollers remain snapped when the page layout changes, no longer requiring event listeners to force snapping, which fixes a shortcoming of this feature.

Yi Gu, Kaan Alsan, Adam Argyle

Can We Make Open Source More Sustainable? — TJ VanToll on the problematic economic model of OSS and a few options to make it more sustainable. Share your thoughts.

Progress KendoReact sponsor

Adding Scroll Animations to Your Page — This detailed tutorial was first published last year but has recently been updated to include IntersectionObserver methods.

CSS Animation

Intersection Observer API Makes Lazy Loading a Snap — Related to the above item, here's a decent overview of IntersectionObserver, using the example of lazy loading elements.

Leonardo Maldonado

How to Build a File Upload Form with Express and DropzoneJS — Lukas White takes an in-depth look at DropzoneJS — a configurable JavaScript library that makes it easier to deal with file uploads.

Lukas White

▶  Building an Animated Counter with JavaScript — JavaScript has just gotten so serious nowadays, so I like to frequently link to tutorials like this that cover building neat Web page effects.. like we used JavaScript for back in the 90s 😄 18 minutes.

Traversy Media

Why Svelte Is Our Choice for A Large Web Project in 2020

Ryan Atkinson

31 Days of #MarchMediaMadness. New Cloudinary Challenges, Win Daily

Cloudinary sponsor

Announcing Mobile First Indexing for The Whole Web


An Explainer for The Proposed 'IsLoggedIn' API

Theresa O'Connor

Modal vs Page: A Decision Making Framework

Ryan Neufeld

🔧 Code, Tools and Resources

OpenSilver: A Modern, Plugin-Free Reimplementation of Silverlight — This is a replacement for Microsoft’s deprecated Silverlight. It’s open-source and runs in current browsers via WebAssembly. Here’s the announcement post.


Bootstrap Treeview: A Simple Plugin to Build A Treeview with Bootstrap 4 — Here’s a live demo.

Sami Chniter

ls-lint: A Fast File and Directory Name Linter — Written in Go but clearly aimed at JS/front-end dev use cases. ls-lint provides a way to enforce rules for file naming and directory structures.

Lucas Löffel

geo-info: A Reverse Geocoding API — Used to to turn coordinates into human readable locations.


A List of Browser-Based SVG Editors

Chris Coyier

   🗓 Upcoming Events

PerfMatters, March 31 - April 1 — Redwood City, USA — A web performance conference with a focus on frontend web performance with talks by internationally renowned performance developers.

FrontCon, April 1-3 — Riga, Latvia — A two-day conference that focuses on front-end concepts and technologies. This event is still going ahead at time of writing but updated safety measures have been shared.

ImageCon, April 22-23 — San Francisco, USAThis event has been postponed due to the Coronavirus outbreak.

Frontend United, April 30 - May 2 — Minsk, Belarus — Three days of sessions, workshops and socials for frontend devs and designers.

You Gotta Love Frontend Conference, May 14-15 — Vilnius, Lithuania — Described as having "big names with irresistible talks and a whole lot of fun".