Recent Articles

  • Making a Clap-Sensing Web Thing

    The Project Things Gateway exists as a platform to bring all of your IoT devices together under a unified umbrella, using a standardized HTTP-based API. We recently announced the Things Gateway and we’ve started a series of hands-on project posts for people who want to set up a Gateway and explore. In this post we’ll take what we’ve learned so far and build a real add-on for the Gateway. This add-on will provide a clap-sensing Web Thing that we can use to control our lights and other devices.

  • Create VR on the Web using Unity3D

    Mozilla's WebVR team has just released Unity WebVR Assets. It is free to download and available now on the Unity Asset Store. This tool allows creators to publish and share VR experiences they created in Unity on the open web, with a simple URL or link. These experiences can then be viewed with any WebVR enabled browser such as Firefox (using the Oculus Rift or HTC VIVE) and Microsoft Edge (using a Windows Mixed Reality headset).

  • CSS Grid for UI Layouts

    In this article I’ll show you how to use CSS Grid to improve application layouts that need to respond and adapt to user interactions and changing conditions, and always have your panels scroll properly.

  • Creating an Add-on for the Project Things Gateway

    The Project Things Gateway exists as a platform to bring all of your IoT devices together under a unified umbrella, using a standardized HTTP-based API. Currently, the platform only has support for a limited number of devices, and we need your help expanding our reach! Looking for a weekend project? It is fairly straightforward to add support for new devices, and we will walk you through how to do so.

  • Forging Better Tools for the Web

    2017 was a big year for Firefox DevTools. We updated and refined the UI, refactored three of the panels, squashed countless bugs, and shipped several new features. This work not only provides a faster and better DevTools experience, but lays the groundwork for some exciting new features and improvements for 2018 and beyond.

  • How to build your own private smart home with a Raspberry Pi and Mozilla’s Things Gateway

    Last year we announced Project Things by Mozilla. Project Things is a framework of software and services that can bridge the communication gap between connected devices by giving “things” URLs on the web. Today I’m excited to tell you about the latest version of the Things Gateway and how you can use it to directly […]

  • MDN browser compatibility data: Taking the guesswork out of web compatibility

    The most powerful aspect of the web is also what makes it so challenging to build for: its universality. When you create a website, you’re writing code that needs to be understood by a plethora of browsers on different devices and operating systems. To allow for browser compatibility data to be accessed programmatically rather than requiring developers to manually search for it, the MDN community is working on migrating the compatibility information currently stored on thousands of wiki pages to a machine-readable JSON format in a GitHub repository.

  • Where’s Rust headed in 2018? Ask the community.

    Rust project leaders are setting the 2018 roadmap based on community input. The priority? Make Rust easier to learn, and make its developers more productive. Expect a major update to the open source systems programming language later this year.

  • Shrinking WebAssembly and JavaScript code sizes in Emscripten

    Emscripten is a compiler toolchain for asm.js and WebAssembly which lets you run C and C++ on the web at near-native speed. Emscripten output sizes have decreased a lot recently, especially for smaller programs. Alon Zakai takes a closer look at some of these optimizations and new areas for improvement.

  • A rule-based framework to create dynamic themes

    One issue with dynamic theming API compared to traditional CSS theming is that it requires familiarity with JavaScript and WebExtension APIs to make a basic dynamic theme. To address this problem, I have experimented with a simple system that enables dynamic theming using simple theming “rules”. A “rule” consists of a JavaScript condition string paired with a theme name. The boilerplate I've built takes care of the heavy-lifting needed by dynamic themes in order to set up WebExtension listeners, hooking with other APIs — to let you focus on the dynamic theming part.

  • Lessons learned from the A-Frame category in the js13kGames competition

    With the Global Game Jam weekend ahead, it’s a great time to consider building with WebVR and A-Frame. The js13kGames 2017 competition ended back in September last year, but the game devs who built playable WebVR entries limited to just 13 kilobytes learned a lot along the way. Here's a look at their learnings - and their code! And if you're looking for a new 3D challenge – Mozilla recently launched the WebVR Medieval Fantasy Experience Challenge, which is open now till the end of February.

Browse All Articles →