Recent Features
![I’m an Impostor]()
I’m an Impostor
This is the hardest thing I've ever had to write, much less admit to myself. I've written resignation letters from jobs I've loved, I've ended relationships, I've failed at a host of tasks, and let myself down in my life. All of those feelings were very...
![CSS Animations Between Media Queries]()
CSS Animations Between Media Queries
CSS animations are right up there with sliced bread. CSS animations are efficient because they can be hardware accelerated, they require no JavaScript overhead, and they are composed of very little CSS code. Quite often we add CSS transforms to elements via CSS during...
Incredible Demos
![Create a 3D Panorama Image with A-Frame]()
Create a 3D Panorama Image with A-Frame
In the five years I've been at Mozilla I've seen some awesome projects. Some of them very popular, some of them very niche, but none of them has inspired me the way the MozVR team's work with WebVR and A-Frame project have. A-Frame is a community project...
![Detect Vendor Prefix with JavaScript]()
Detect Vendor Prefix with JavaScript
Regardless of our position on vendor prefixes, we have to live with them and occasionally use them to make things work. These prefixes can be used in two formats: the CSS format (
-moz-, as in-moz-element) and the JS format (navigator.mozApps). The awesome X-Tag project has...




