A Brief History of JavaScript

By Chris Coyier on

A Brief History of JavaScript from the Deno team, celebrating JavaScript being 30 now. Interesting that the first web request tech was Internet Explorer 5 in 1999, then it took 5 years to get Gmail in 2004, then we started calling it AJAX in 2005, and by 2006, we got jQuery’s $.ajax which made it […]

Working with Legacy Code

By Chris Coyier on

From Nicholas C. Zakas’s regularly interesting newsletter: The best way to work with legacy code is to approach it patiently—understand small parts, write tests, and document what you learn. My favorite line about legacy code, which I’ve probably shared too much, is when David Khourshid called it “Legendary Code”. Legacy code feels a smidge mean […]

Death to Scroll Fade!

By Chris Coyier on

David Bushell is very sick of the “scroll fade” effect. It’s the effect where, as you scroll down a page, elements slide into place. Often, all the elements. I agree it’s overplayed since it’s usually movement for the sake of it, not adding anything to the experience. It’s true that movement catches our eye, but […]

Replicating a Switch Input (and Polyfill)

By Chris Coyier on

Safari has support for <input type=”checkbox” switch> where a normal ☑️ checkbox turns into a toggle. You don’t strictly need the browser support to get the look, as it’s weirdly easy to replicate (based on idea from Richard Keizer). But Thomas Steiner has a more comprehensive polyfill if you want it to behave more exactly […]

Interop 2026

By Chris Coyier on

All the big browser makers (and Igalia, a major contributor) dropped their timed blog posts announcing Interop 2026. I’ll link to Apple’s because I like how they used column-width on the feature list and I’m stealing that (in case you see this post directly). I’m a fan of all of it but of course I’m […]

jQuery 4

By Chris Coyier on

The GOAT JavaScript library jQuery has gone 4.0 coinciding with, from what I hear, was a lovely reunion party. It’s not wildly different, but it’s gone full ESM and dropped a bunch of old stuff. Minified and gzipped it’s 27.6 kB. Version 3.7.1, the last before this release, was 30.5 kB — so it’s nice […]