The Wax and the Wane of the Web

Published on March 22, 2026

I offer a single bit of advice to friends and family when they become new parents: When you start to think that you’ve got everything figured out, everything will change. Just as you start to get the hang of feedings, diapers, and regular naps, it’s time for solid food, potty training, and overnight sleeping. When you figure those out, it’s time for preschool and rare naps. The cycle goes on and on.

The same applies for those of us working in design and development these days. Having worked on the web for almost three decades at this point, I’ve seen the regular wax and wane of ideas, techniques, and technologies. Each time that we as developers and designers get into a regular rhythm, some new idea or technology comes along to shake things up and remake our world.

At the turn of the century, a new cycle started. Crufty code littered with `

` layouts and `` tags waned, and a push for web standards waxed. Newer technologies like CSS gained more widespread adoption among browser makers, developers, and designers. This shift toward standards didn’t happen accidentally or overnight. It took active engagement between the W3C and browser vendors and heavy evangelism from folks like the Web Standards Project to build standards. A List Apart and books like Designing with Web Standards played key roles in teaching developers and designers why standards are important, how to implement them, and how to sell them to their organizations. Approaches like progressive enhancement introduced the idea that content should be available for all browsers—with additional enhancements for more advanced browsers.

Server-side languages like PHP, Java, and .NET overtook Perl as the predominant back-end processors, and the cgi-bin was tossed in the trash bin. With these better server-side tools came the first era of web applications, starting with content-management systems (particularly in the blogging space with tools like Blogger, Grey Matter, Movable Type, and WordPress). In the mid-2000s, AJAX opened doors for asynchronous interaction between the front end and back end. Suddenly, pages could update their content without needing to reload. A crop of JavaScript frameworks like Prototype, YUI, and jQuery arose to help developers build more reliable client-side interaction across browsers that had wildly varying levels of standards support.

These new technologies, standards, and techniques reinvigorated the industry in many ways. Web design flourished as designers and developers explored more diverse styles and layouts. But we still relied on tons of hacks. Early CSS improved basic layouts and text styling, but its limitations meant that designers and developers still relied heavily on images for complex shapes and tiled backgrounds. Complicated layouts required all manner of nested floats or absolute positioning, and technologies like Flash made it possible to add animations and interactivity.

The symbiosis between the front end and back end continued to improve, leading to the current era of modern web applications. Expanded server-side programming languages and newer front-end tools like React, Vue, and Angular allowed for capabilities that transformed the web into a domain of infinite possibilities. At the same time, as mobile devices became more capable, they provided internet access in our pockets. Mobile apps and responsive design opened up opportunities for new interactions anywhere and any time.

This combination of capable mobile devices and powerful development tools contributed to a wax in centralized social media platforms where people could connect and consume content. However, as it became easier to connect on platforms like Twitter and Facebook, the desire for hosted personal websites waned.

In the last couple of years, it’s felt like we’ve begun to reach another major inflection point. As social media platforms fracture, there’s a growing interest in owning our own content again. There are many ways to create a website, from hosting plain HTML files to employing static site generators. However, the fracturing of social media also leads to a loss of crucial infrastructure for discovery and connection. Tools like Webmentions, RSS, and ActivityPub can help with this, but they remain relatively underimplemented and hard to use for the less technical. We can build personal websites and update them regularly, but without adequate discovery and connection channels, it sometimes feels like shouting into the void.

Browser support for CSS, JavaScript, and other standards has accelerated, with new technologies gaining support across the board more quickly than ever before. The barrier to using new techniques today is often more about how quickly designers and developers can learn what’s available rather than browser support. Modern tools make prototyping ideas easier than ever, but the mass adoption of frameworks can lead to technical debt as upgrading and maintaining them becomes necessary.

If we rely on third-party frameworks, adopting new standards can sometimes take longer, as we wait for these frameworks to implement them. While these frameworks once made it easier to adopt new techniques, they can now hinder innovation. Alongside this, often they come with performance costs, forcing users to wait for scripts to load before they can engage with pages. When scripts fail due to technical issues, users may be left with blank or broken pages.

Today’s hacks help shape tomorrow’s standards, and there’s nothing inherently wrong with using hacks to advance current aims. Challenges arise when we fail to acknowledge these hacks or hesitate to outgrow them. So, what can we do to build the web we desire?

First, build for the long haul. Prioritize performance, accessibility, and user experience. Assess the trade-offs of developer-friendly tools and their future implications on user experience, future developers, and standards adoption. Second, start from established standards. Although standards evolve over time, browser support for older standards remains robust, unlike third-party frameworks, which may not last as long. Sites built on older HTML often continue to function well today.

Design with care, considering the implications of every decision you make. Instead of rushing to “move fast and break things,” use the time saving tools to thoughtfully develop designs. Always be learning; the process of continuous

Related News