Change Mozilla. Investigate big technical challenges and produce engineering programs to address them.
This is a list of our findings that we're reasonably happy with so far.
- Documenting our output looks at how we’re going to communicate with the rest of Mozilla.
- Extracting Necko considers whether it's feasible or worthwhile to extract Necko — Gecko's C++ networking library — for use as a standalone component.
- Problems with XUL aims to list the different kinds of problems that exist with XUL.
- XBL and Web Components compares some old Mozilla technology (XBL) with modern Web Components.
- Problems with XBL aims to list the different kinds of problems that exist with XBL.
- Architecture Reviews are healthy and we proposed a process for healthy reviews.
- XBL Design Review packet is the packet that we prepared for the architectural design review for XBL removal.
- Roadmap Review: Sync and Storage establishes that storage and syncing of user data is a pillar of the Firefox ecosystem, warranting holistic and long-term attention, and outlines where we’d like to end up and some ideas for how to get there.
- JavaScript Type Safety Systems are some conclusions of an investigation into the use of JavaScript type safety systems.
- Firefox Data Stores Documentation documents the existing data stores across all current Firefox platforms.
- Fluent in Prefs Design Review describes the lightweight design review for Fluent in Prefs.
- A brief analysis of JSON file-backed storage outlines some of the pros and cons of using a flat file (particularly via
JSONFile.jsm
) to store data in Firefox. - Process Isolation in Firefox is a WIP evaluation of how far we can push process isolation to improve security and stability.
- IPC Security Models and Status is an audit of our current IPC status.
- XUL Overlay Removal Review Packet is the packet that we prepared for the architectural design review for XUL Overlay removal.
- Design Review: Key-Value Storage proposes the introduction of a fast, cross-platform key-value store for Mozilla products.
- XULStore Using rkv – Proof of Concept describes a proof-of-concept implementation of XULStore that uses rkv.
- LMDB vs. LevelDB compares the Lightning Memory-mapped Database (LMDB) key-value storage engine to the LevelDB key-value storage engine.
We typically send our newsletters to firefox-dev.
- Browser Architecture Update. See also mailing-list-post.
- Browser Architecture Newsletter #2. See also mailing-list-post.
- Browser Architecture Newsletter #3. See also mailing-list-post.
- Browser Architecture Newsletter #4. See also mailing-list-post.
- Browser Architecture Newsletter #5. See also mailing-list-post.
To support our conclusions we occasionally perform explorations and experiments. The first exploration is designed to support the notion that we can create a sync and storage layer in Rust that we can deploy to Desktop, Android and iOS.
- Deploying a Rust library on iOS. A short tutorial describing how to build and deploy a Rust library for use inside an iOS app.
- Deploying a Rust library on Android. A short tutorial describing how to build and deploy a Rust library for use inside an Android app.