Welcome to Friday Links #26, your curated roundup of what's new and noteworthy in the JavaScript world.
I've been thinking about how web apps nowadays seem to pack many features-from dark mode to animations, rich client-side interactions, offline support and more. All of this is great, but I keep wondering: at what point do these extras hurt performance or the user experience? A few things I'm curious about: Do developers here ever delay implementing a "nice extra" because it slows down load time? What metrics or tools do you use to measure whether a feature is "too expensive" in terms of performance (mobile especially)? Are there features you've removed / scaled back after noticing performance issues? How do you decide which features are "must-have" and which are "nice-to-have" when building something new?
The web is evolving at an incredible pace. I've been writing about web development for over a decade (and building websites even longer), but for the first time, it feels challenging to keep up. While we may never see "HTML6" or"CSS4," new standards continue to emerge and browsers are adopting them faster than ever. Features like <dialog>, <details>, and the Popover API are now widely available.
As you sit in Monday morning traffic or attend yet another boring meeting, you're probably thinking there must be a better, more satisfying, and more profitable way to spend your time. The good news? There absolutely is. The internet has created all sorts of online business opportunities, and now anyone can access them easily and inexpensively. Here are 25 of the best online business opportunities that you can establish anywhere you can find a decent internet connection.
I've recently been working on a little side project for fun and practice: a Grow a Garden Calculator. It's a simple web tool that helps players calculate values and trades inside the Grow a Garden game. The idea is to make it easier for players to: check the value of different crops, pets, and items, plan fair trades, and experiment with different strategies.
The idea behind this is to share a full, unfiltered look at integrating CSS Cascade Layers into an existing legacy codebase. In practice, it's about refactoring existing CSS to use cascade layers without breaking anything. You can always get a fantastic overview of things in Stephenie Eckles' article, " Getting Started With CSS Cascade Layers ". But let's talk about the experience of integrating cascade layers into real-world code, the good, the bad, and the spaghetti.
Like many, I use VS Code to write and manage code. Having recently got into PHP, I needed a means to display the results of my PHP code and discovered that the Live Server extension doesn't include PHP. I then learned that another extension, PHP Server, would allow me to display PHP content; however, I can no longer invoke Live Server by right clicking. It's still installed, but apparently there is a conflict between PHP Server and Live Server.
Now it's time to break free from containment entirely. In this second part, we're shifting from shapes that hold things in place to paths that guide movement. We're moving from clip-path to offset-path, where your elements don't get clipped into new shapes, they travel along custom routes. We talk about reduced motion for accessibility later in this post, but not all the demos in this post implement that media query
is supposed to be the easy way to run a WordPress site without dealing with the headaches of hosting, security, or server maintenance. You pay them, they keep the lights on, and you get to focus on your content. Simple enough. The platform's been around forever, starting life as a humble blogging tool. Now, it powers a huge chunk of the internet. Everyone from travel bloggers to small businesses to online stores leans on it. The problem is, in 2025,
Studying past best practices and legacy systems is crucial for understanding the evolution of technology and making informed decisions today. By examining the problems old practices were designed to solve, we gain a deeper appreciation for current best practices and avoid repeating past mistakes. As the philosopher George Santayana once said: Those who cannot remember the past are condemned to repeat it. This historical perspective also reveals enduring principles like progressive enhancement, which remains vital for creating accessible and resilient systems on the web.
scrollPaging is a lightweight jQuery plugin that adds infinite scroll functionality to your web pages. It automatically fetches content from an external data source via AJAX and appends it to the end of an existing container as the user scrolls. This creates a continuous browsing experience that loads more content on demand, without the need of writing complex pagination logic.
Tailwind-jQuery Modal is a lightweight jQuery modal plugin that creates responsive, modern, customizable modal dialogs for web apps styled with the Tailwind CSS framework. It combines the utility-first approach of Tailwind CSS with jQuery's DOM manipulation capabilities to provide smooth anf flexible modal experiences across different devices. Features: Multiple Modal Types: Support for standard dialogs, slide panels, and image/video modals. Animation Framework: CSS3-powered transitions with customizable timing and effects. Media Modal Support: Built-in image zoom and YouTube video embedding capabilities.
During its lifetime, JavaScript has had several names: During development, its name was Mocha. In the Netscape Navigator 2.0 betas (September 1995), it was called LiveScript. In Netscape Navigator 2.0 beta 3 (December 1995), it got its most common name, JavaScript. Why that name? JavaScript was going to be a glue language for components written in Java. The first standard for JavaScript was published in 1997, hosted by Ecma International (called ECMA at the time).
There are several posts in the Search Central Forum about this, and I just saw the issue pop up for a client. Google's Crawl Stats reporting drops heavily around 8/8. There is no impact to rankings and traffic, but all the sites posting about this see it happen on 8/8. My client is not blocking crawling of Googlebot, and Bing seems totally fine crawling-wise.
This post covers a design referred as infinite selection. Metaphorically infinite. Here's how it works: That's right, you click an item and it jumps right into the shopping cart, complete with a smooth transition that shows it happening. You can add as many items as you want! And guess what: all of it is done in CSS - well, except the part that keeps count of selected items - and all it took is a combination of radio form inputs in the markup.
There is this small thing called AI that you may have heard everyone talk about. In particular, products that allow people to describe what they want, and it creates it for them. That obviously sounds great. And it is. But it can also be bad. Trash in, trash out. There's a billion articles and opinions about this, so I won't add another. But I will talk for 3 minutes about how I used one of these products, Lovable,
Complex interfaces in Web3 often feel like navigating a maze-seed phrases, gas fees, and wallet setups deter everyday users who simply want seamless experiences like those in Web2 apps. This deters adoption because it creates friction, leading to high drop-off rates; studies show that over 80% of potential users abandon Web3 apps during the onboarding process.
Netflix initially implemented CQRS for Tudum, utilizing Kafka and Cassandra to optimize read performance while a third-party CMS managed content updates through a dedicated ingestion service.