hello.js

var please = require('share');
console.log('thank you');

Tuesday, 17 September, 2019 UTC

Moving Firefox to a faster 4-week release cycle

Moving Firefox to a faster 4-week release cycle

Editor’s Note: Wednesday, 10:40am PT. We’ve updated this post with the following correction: The SeaMonkey Project consumes Firefox releases, not SpiderMonkey, which is Firefox’s JavaScript engine. Thanks to an astute reader for noticing. Overview We ... more


Tuesday, 10 September, 2019 UTC

Caniuse and MDN compatibility data collaboration

Caniuse and MDN compatibility data collaboration

Web developers spend a good amount of time making web compatibility decisions. Deciding whether or not to use a web platform feature often depends on its availability in web browsers. A brief history of compatibility data More than 10 years ago, @fyrd ... more


Friday, 6 September, 2019 UTC

Debugging TypeScript in Firefox DevTools

Debugging TypeScript in Firefox DevTools

Firefox Debugger has evolved into a fast and reliable tool chain over the past several months and it’s now supporting many cool features. Though primarily used to debug JavaScript, did you know that you can also use Firefox to debug your TypeScript applications? ... more


Wednesday, 4 September, 2019 UTC

Firefox 69 — a tale of Resize Observer, microtasks, CSS, and DevTools

Firefox 69 — a tale of Resize Observer, microtasks, CSS, and DevTools

For our latest excellent adventure, we’ve gone and cooked up a new Firefox release. Version 69 features a number of nice new additions including JavaScript public instance fields, the Resize Observer and Microtask APIs, CSS logical overflow properties ... more


Friday, 30 August, 2019 UTC

The Baseline Interpreter: a faster JS interpreter in Firefox 70

The Baseline Interpreter: a faster JS interpreter in Firefox 70

Introduction Modern web applications load and execute a lot more JavaScript code than they did just a few years ago. While JIT (just-in-time) compilers have been very successful in making JavaScript performant, we needed a better solution to deal with ... more


Wednesday, 21 August, 2019 UTC

WebAssembly Interface Types: Interoperate with All the Things!

WebAssembly Interface Types: Interoperate with All the Things!

People are excited about running WebAssembly outside the browser. That excitement isn’t just about WebAssembly running in its own standalone runtime. People are also excited about running WebAssembly from languages like Python, Ruby, and Rust. Why would ... more


Tuesday, 16 July, 2019 UTC

MDN’s First Annual Web Developer & Designer Survey

MDN’s First Annual Web Developer & Designer Survey

Today we are launching the first edition of the MDN Developer & Designer Needs Survey. Web developers and designers, we need to hear from you! This is your opportunity to tell us about your needs and frustrations with the web. In fact, your participation ... more


Tuesday, 9 July, 2019 UTC

Firefox 68: BigInts, Contrast Checks, and the QuantumBar

Firefox 68: BigInts, Contrast Checks, and the QuantumBar

Firefox 68 is available today, featuring support for big integers, whole-page contrast checks, and a completely new implementation of a core Firefox feature: the URL bar. These are just the highlights. For complete information, see: Firefox 68 Release ... more


Thursday, 27 June, 2019 UTC

GeckoView in 2019

GeckoView in 2019

Last September we wrote about using GeckoView to bring Firefox’s rendering engine to Android as a reusable library. By decoupling the Gecko engine from the Firefox application, we’ve created a newer, faster, and more maintainable way to create Android ... more


Wednesday, 26 June, 2019 UTC

How accessibility trees inform assistive tech

How accessibility trees inform assistive tech

The web is accessible by default. It was designed with features to make accessibility possible, and these have been part of the platform pretty much from the beginning. In recent times, inspectable accessibility trees have made it easier to see how things ... more


Tuesday, 18 June, 2019 UTC

CSS Scroll Snap Updated in Firefox 68

CSS Scroll Snap Updated in Firefox 68

When Firefox 68 goes to general release next month, it will ship with an updated CSS Scroll Snap specification. This means that Firefox will support the same version of the specification as Chrome and Safari. Scroll snapping will work in the same way ... more


Wednesday, 5 June, 2019 UTC

Indicating focus to improve accessibility

Indicating focus to improve accessibility

It’s a common, but fairly easy-to-fix accessibility issue: lack of indicating focus. In this post I will explain what we mean by focus and show you how focus outlines make your site easier to use. What is focus? Focus indicators make the difference between ... more


Wednesday, 29 May, 2019 UTC

JavaScript and evidence-based language design

JavaScript and evidence-based language design

Author’s note: Hi, I’m an engineer at Mozilla working on the Firefox DevTools server. I’m also a TC39 representative. This post focuses on some of the experiments I am trying out at the TC39, the standards body that manages the JavaScript specification. ... more


Tuesday, 21 May, 2019 UTC

Firefox 67: Dark Mode CSS, WebRender, and more

Firefox 67: Dark Mode CSS, WebRender, and more

Firefox 67 is available today, bringing a faster and better JavaScript debugger, support for CSS prefers-color-scheme media queries, and the initial debut of WebRender in stable Firefox. These are just the highlights. For complete information, see: Firefox ... more


Thursday, 16 May, 2019 UTC

Faster smarter JavaScript debugging in Firefox DevTools

Faster smarter JavaScript debugging in Firefox DevTools

Script debugging is one of the most powerful and complex productivity features in the web developer toolbox. Done right, it empowers developers to fix bugs quickly and efficiently. So the question for us, the Firefox DevTools team, has been, are the ... more


Wednesday, 1 May, 2019 UTC

Owning it: browser compatibility data and open source governance

Owning it: browser compatibility data and open source governance

What does it mean to “own” an open-source project? With the browser-compat-data project (“BCD”), the MDN (Mozilla Developer Network) community and I recently had the opportunity to find out. In 2017, the MDN Web Docs team invited me to work on what was ... more


Wednesday, 17 April, 2019 UTC

Fluent 1.0: a localization system for natural-sounding translations

Fluent 1.0: a localization system for natural-sounding translations

Fluent is a family of localization specifications, implementations and good practices developed by Mozilla. It is currently used in Firefox. With Fluent, translators can create expressive translations that sound great in their language. Today we’re announcing ... more


Tuesday, 16 April, 2019 UTC

Pyodide: Bringing the scientific Python stack to the browser

Pyodide: Bringing the scientific Python stack to the browser

Pyodide is an experimental project from Mozilla to create a full Python data science stack that runs entirely in the browser. The impetus for Pyodide came from working on another Mozilla project, Iodide, which we presented in an earlier post. Iodide ... more


Tuesday, 2 April, 2019 UTC

Crossing the Rust FFI frontier with Protocol Buffers

Crossing the Rust FFI frontier with Protocol Buffers

My team, the application services team at Mozilla, works on Firefox Sync, Firefox Accounts and WebPush. These features are currently shipped on Firefox Desktop, Android and iOS browsers. They will soon be available in our new products such as our upcoming ... more


Wednesday, 27 March, 2019 UTC

Standardizing WASI: A system interface to run WebAssembly outside the web

Standardizing WASI: A system interface to run WebAssembly outside the web

Today, we announce the start of a new standardization effort — WASI, the WebAssembly system interface. Why: Developers are starting to push WebAssembly beyond the browser, because it provides a fast, scalable, secure way to run the same code across all ... more


Monday, 18 March, 2019 UTC

A Homepage for the JavaScript Specification

A Homepage for the JavaScript Specification

Screenshot of the TC39 website Ecma TC39, the JavaScript Standards Committee, is proud to announce that we have shipped a website for following updates to the JavaScript specification. This is the first part of a two-part project aimed at improving our ... more


Thursday, 14 March, 2019 UTC

Fast, Bump-Allocated Virtual DOMs with Rust and Wasm

Fast, Bump-Allocated Virtual DOMs with Rust and Wasm

Dodrio is a virtual DOM library written in Rust and WebAssembly. It takes advantage of both Wasm’s linear memory and Rust’s low-level control by designing virtual DOM rendering around bump allocation. Preliminary benchmark results suggest it has best-in-class ... more


Tuesday, 12 March, 2019 UTC

Iodide: an experimental tool for scientific communication and exploration on the web

Iodide: an experimental tool for scientific communication and exploration on the web

In the last 10 years, there has been an explosion of interest in “scientific computing” and “data science”: that is, the application of computation to answer questions and analyze data in the natural and social sciences. To address these needs, we’ve ... more


Thursday, 7 March, 2019 UTC

Real virtuality: connecting real things to virtual reality using web technologies

Real virtuality: connecting real things to virtual reality using web technologies

This is the story of our lucky encounter at FOSDEM, the largest free and open source software event in Europe. We are two developers, focused on different domains, who saw an opportunity to continue our technical conversation by building a proof of concept. ... more


Tuesday, 26 February, 2019 UTC

Announcing a New Management Structure for Ecma TC39

Announcing a New Management Structure for Ecma TC39

Author’s note: You might have noticed that the name of the author appears in this article in the third person. Hi, I’m an engineer at Mozilla working on the Firefox DevTools server. I’m also a TC39 representative. I don’t usually write about myself in ... more


Friday, 8 February, 2019 UTC

Refactoring MDN macros with async, await, and Object.freeze()

Refactoring MDN macros with async, await, and Object.freeze()

In March of last year, the MDN Engineering team began the experiment of publishing a monthly changelog on Mozilla Hacks. After nine months of the changelog format, we’ve decided it’s time to try something that we hope will be of interest to the web development ... more


Monday, 4 February, 2019 UTC

Firefox 66 to block automatically playing audible video and audio

Firefox 66 to block automatically playing audible video and audio

Isn’t it annoying when you click on a link or open a new browser tab and audible video or audio starts playing automatically? We know that unsolicited volume can be a great source of distraction and frustration for users of the web. So we are making ... more


Thursday, 31 January, 2019 UTC

New in Firefox DevTools 65

New in Firefox DevTools 65

We just released Firefox 65 with a number of new developer features that make it even easier for you to create, inspect and debug the web. Among all the features and bug fixes that made it to DevTools in this new release, we want to highlight two in ... more


Tuesday, 29 January, 2019 UTC

Firefox 65: WebP support, Flexbox Inspector, new tooling & platform updates

Firefox 65: WebP support, Flexbox Inspector, new tooling & platform updates

Well now, there’s no better way to usher out the first month of the year than with a great new Firefox release. It’s winter for many of us, but that means more at-home time to install Firefox version 65, and check out some of the great new browser and ... more


Tuesday, 22 January, 2019 UTC

How to make VR with the web, a new video series

How to make VR with the web, a new video series

Virtual reality (VR) seems complicated, but with a few JavaScript libraries and tools, and the power of WebGL, you can make very nice VR scenes that can be viewed and shared in a headset like an Oculus Go or HTC Vive, in a desktop web browser, or on ... more