Web Development

Introducing llamafile – Mozilla Hacks

A special thanks to Justine Tunney of the Mozilla Internet Ecosystem (MIECO), who co-authored this blog post. Today we’re...

How to Play Grand Poo World 3

The underground world of creating and streaming Super Mario World-based ROM hacks continues to gain popularity. This popularity is a tribute to the creativity...

Getting Feedback – A List Apart

“Any comment?” is probably one of the worst ways to ask for feedback. It’s vague and open ended, and it doesn’t provide any indication...

Firefox Developer Edition and Beta: Try out Mozilla’s .deb package! – Mozilla Hacks

A month ago, we introduced our Nightly package for Debian-based Linux distributions. Today, we are proud to announce we made...

AutoGrow Textareas with CSS

As the demands of the web change and developers experiment with different user experiences, the need for more native language improvements expands. Our presentation...

Build Products that Stick. – A List Apart

As a product builder over too many years to mention, I’ve lost count of the number of times I’ve seen promising ideas go from...

Puppeteer Support for the Cross-Browser WebDriver BiDi Standard – Mozilla Hacks

We are pleased to share that Puppeteer now supports the next-generation, cross-browser WebDriver BiDi standard. This new protocol makes it...

Thoughts on Streaming Services: 2024 Edition

Streaming services have revolutionized content delivery, sending linear media companies into a panic as they watch traditional cable services decay. "Cutting the cord" is...

Designing for the Unexpected – A List Apart

I’m not sure when I first heard this quote, but it’s something that has stayed with me over the years. How do you create...

Open Source and Closed Source

Software licenses dictate the terms under which software can be used, modified, and distributed. Choosing the...

Option Soup: the subtle pitfalls of combining compiler flags – Mozilla Hacks

Firefox development uncovers many cross-platform differences and unique features of its combination of dependencies. Engineers working on Firefox regularly overcome...

Extract a Number from a String with JavaScript

User input from HTML form fields is generally provided to JavaScript as a string. We've lived with that fact for decades but sometimes...

Voice Content and Usability – A List Apart

We’ve been having conversations for thousands of years. Whether to convey information, conduct transactions, or simply to check in on one another, people have...