hello.js

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

Wednesday, 8 November, 2017 UTC

Go beyond console.log with the Firefox Debugger

Go beyond console.log with the Firefox Debugger

console.log is no debugger. It’s great for figuring out what your JavaScript app is up to, but it’s limited to spitting out a minimal amount of information. If your code is complex, you’ll need a proper debugger. That’s why we’ve added a new section ... more


Monday, 6 November, 2017 UTC

Async Pan/Zoom (APZ) lands in Firefox Quantum

Async Pan/Zoom (APZ) lands in Firefox Quantum

Asynchronous pan and zoom (APZ) is landing in Firefox Quantum, which means jank-free, smooth scrolling for all! We talked about APZ in this earlier article, but here’s a recap of how it works: Until now, scrolling was part of the main JavaScript thread. ... more


Tuesday, 24 October, 2017 UTC

Saying Goodbye to Firebug

Saying Goodbye to Firebug

The most popular and powerful web development tool. Firebug has been a phenomenal success. Over its 12-year lifespan, the open source tool developed a near cult following among web developers. When it came out in 2005, Firebug was the first tool to let ... more


Thursday, 19 October, 2017 UTC

How we rebuilt the viewsourceconf.org website

How we rebuilt the viewsourceconf.org website

As a front-end developer at Mozilla, I end up working on big sites that have been around for a long time. There are a lot of interesting challenges when working with legacy code at a large scale, but rebuilding from scratch usually isn’t an option. The ... more


Thursday, 12 October, 2017 UTC

Remaking Lightbeam as a browser extension

Remaking Lightbeam as a browser extension

Browser extensions: a new frontier You may have heard of browser extensions — perhaps you have even written one yourself. The technology for building extensions in Firefox has been modernized to support Web standards, and is one of the reasons why Firefox ... more


Tuesday, 10 October, 2017 UTC

The whole web at maximum FPS: How WebRender gets rid of jank

The whole web at maximum FPS: How WebRender gets rid of jank

The Firefox Quantum release is getting close. It brings many performance improvements, including the super fast CSS engine that we brought over from Servo. But there’s another big piece of Servo technology that’s not in Firefox Quantum quite yet, though ... more


Thursday, 5 October, 2017 UTC

An overview of Containers for add-on developers

An overview of Containers for add-on developers

Containers enable users to log in to multiple accounts on the same site simultaneously, and give users the ability to segregate site data for improved privacy and security. At Firefox, we have been working on Containers for quite some time. We started ... more


Thursday, 5 October, 2017 UTC

Firefox 56: Last Stop before Quantum

Firefox 56: Last Stop before Quantum

Here at Mozilla, we’re extremely excited about next month’s release of Firefox Quantum (preview it today in Developer Edition!) which brings massive speed improvements, a brand new UI, and several new or improved Developer Tools. But that’s next month. ... more


Monday, 2 October, 2017 UTC

Multi-user experiences with A-Frame

Multi-user experiences with A-Frame

Multi-user experiences on the Internet have come a long way since the emergence of online chat and the rise of social networks. Advances in virtual reality are making the Web a more immersive and interactive environment. Neal Stephenson envisioned this ... more


Thursday, 28 September, 2017 UTC

RNNoise: Using Deep Learning for Noise Suppression

RNNoise: Using Deep Learning for Noise Suppression

The Mozilla Research RRNoise project shows how to apply deep learning to noise suppression. It combines classic signal processing with deep learning, but it’s small and fast . No expensive GPUs required — it runs easily on a Raspberry Pi. The result ... more


Thursday, 21 September, 2017 UTC

Always Right – An Extension Migration Story

Always Right – An Extension Migration Story

I’ve been building extensions for Firefox since 2005. I’ve integrated bookmark services (which got me a job at Mozilla!), fixed the default theme, enhanced the developer tools, tweaked Github, optimized performance, eased tagging, bookmarked all Etherpads, ... more


Thursday, 14 September, 2017 UTC

Building the DOM faster: speculative parsing, async, defer and preload

Building the DOM faster: speculative parsing, async, defer and preload

In 2017, the toolbox for making sure your web page loads fast includes everything from minification and asset optimization to caching, CDNs, code splitting and tree shaking. However, you can get big performance boosts with just a few keywords and mindful ... more


Thursday, 14 September, 2017 UTC

Experimenting with WebAssembly and Computer Vision

Experimenting with WebAssembly and Computer Vision

This past summer, four time-crunched engineers with no prior WebAssembly experience began experimenting. The result after six weeks of exploration was WebSight: a real-time face detection demo based on OpenCV. By compiling OpenCV to WebAssembly, the ... more


Saturday, 9 September, 2017 UTC

Meta 2 AR Headset with Firefox

Meta 2 AR Headset with Firefox

One of the biggest challenges in developing immersive WebVR experiences today is that immersion takes you away from your developer tools. With Meta’s new augmented reality headset, you can work on and experience WebVR content today without ever taking ... more


Tuesday, 29 August, 2017 UTC

Flash, In Memoriam

Flash, In Memoriam

Adobe will drop Flash by 2020. Firefox no longer supports Flash out of the box, and neither does Chrome. The multimedia platform is being replaced with open internet technologies like HTML5, CSS3, and JavaScript. But at one time, Flash was cutting edge. ... more


Tuesday, 29 August, 2017 UTC

Life After Flash: Multimedia for the Open Web

Life After Flash: Multimedia for the Open Web

Flash delivered video, animation, interactive sites and, yes, ads to billions of users for more than a decade, but now it’s going away. Adobe will drop support for Flash by 2020. Firefox no longer supports Flash out of the box, and neither does Chrome. ... more


Tuesday, 15 August, 2017 UTC

Essential WebVR resources

Essential WebVR resources

The general release of Firefox 55 brought a number of cool new features to the Gecko platform, one of which is the WebVR API v1.1. This allows developers to create immersive VR experiences inside web apps, compatible with popular hardware such as HTC ... more


Monday, 14 August, 2017 UTC

A-Frame comes to js13kGames: build a game in WebVR

A-Frame comes to js13kGames: build a game in WebVR

It’s that time of the year again – the latest edition of the js13kGames competition opened yesterday, on Sunday, August 13th. Just like last year, and going back to 2012 when I started this competition. Every year the contest has a new theme, but his ... more


Tuesday, 8 August, 2017 UTC

Firefox 55: first desktop browser to support WebVR

Firefox 55: first desktop browser to support WebVR

WebVR Support on Desktop Firefox on Windows is the first desktop browser to support the new WebVR standard (and macOS support is in Nightly!). As the originators of WebVR, Mozilla wanted it to embody the same principles of standardization, openness, ... more


Monday, 7 August, 2017 UTC

WebVR for All Windows Users

WebVR for All Windows Users

With the release of Firefox 55 on August 8, Mozilla is pleased to make WebVR available for all 64-bit Windows users with an Oculus Rift or HTC VIVE headset. Since we first announced this feature two months ago, we’ve seen tremendous growth in the tooling, ... more


Wednesday, 26 July, 2017 UTC

Inspect, Modify, and Debug React and Redux in Firefox with Add-ons

Inspect, Modify, and Debug React and Redux in Firefox with Add-ons

React, along with Redux, is one of the fastest and most flexible UI frameworks on the web. It’s easy to write, easy to use and is great for teams. In fact, the Mozilla community uses React to build a lot of the Firefox DevTools UI and, famously, the ... more


Tuesday, 25 July, 2017 UTC

The MDN Redesign “Behind the Scenes”

The MDN Redesign “Behind the Scenes”

The MDN redesign will go live after noon Pacific Time today! Kuma, the code that produces the MDN site, is a weird mix of the old and the new. MDN turned ten in 2015 and there’s still code and content around from those very first days. When I sat down ... more


Tuesday, 25 July, 2017 UTC

Optimizing Performance of A-Frame Scenes for Mobile Devices

Optimizing Performance of A-Frame Scenes for Mobile Devices

A-Frame makes building 3D and VR web applications easy, so developers of all skill levels can create rich and interactive virtual worlds – and help make the web the best and largest deployment surface for VR content. For an Oregon State University capstone ... more


Friday, 21 July, 2017 UTC

WebAssembly for Native Games on the Web

WebAssembly for Native Games on the Web

The biggest improvement this year to web performance has been the introduction of WebAssembly. Now available in Firefox and Chrome, and coming soon in Edge and WebKit, WebAssembly enables the execution of code at a low assembly-like level in the browser. ... more


Friday, 21 July, 2017 UTC

The Next Generation of Web Gaming

The Next Generation of Web Gaming

Over the last few years, Mozilla has worked closely with other browsers and the industry to advance the state of games on the Web. Together, we have enabled developers to deploy native code on the web, first via asm.js, and then with its successor WebAssembly. ... more


Wednesday, 19 July, 2017 UTC

Creating a WebAssembly module instance with JavaScript

Creating a WebAssembly module instance with JavaScript

This is the 1st article in a 3-part series: Creating a WebAssembly module instance with JavaScript Memory in WebAssembly (and why it’s safer than you think) WebAssembly table imports… what are they? WebAssembly is a new way of running code on the web. ... more


Wednesday, 19 July, 2017 UTC

Memory in WebAssembly (and why it’s safer than you think)

Memory in WebAssembly (and why it’s safer than you think)

This is the 2nd article in a 3-part series: Creating a WebAssembly module instance with JavaScript Memory in WebAssembly (and why it’s safer than you think) WebAssembly table imports… what are they? Memory in WebAssembly works a little differently than ... more


Wednesday, 19 July, 2017 UTC

WebAssembly table imports… what are they?

WebAssembly table imports… what are they?

This is the 3rd article in a 3-part series: Creating a WebAssembly module instance with JavaScript Memory in WebAssembly (and why it’s safer than you think) WebAssembly table imports… what are they? In the first article, I introduced the four different ... more


Tuesday, 18 July, 2017 UTC

Picasso Tower 360º tour with A-Frame

Picasso Tower 360º tour with A-Frame

A 360º tour refers to an experience that simulates an in-person visit through the surrounding space. This “walkthrough” visit is composed of scenes in which you can look around at any point, similar to how you can look around in Google Street View. In ... more


Friday, 14 July, 2017 UTC

Introducing sphinx-js, a better way to document large JavaScript projects

Introducing sphinx-js, a better way to document large JavaScript projects

Until now, there has been no good tool for documenting large JavaScript projects. JSDoc, long the sole contender, has some nice properties: A well-defined set of tags for describing common structures Tooling like the Closure Compiler which hooks into ... more