Firefox OS may be a big thing. It has a chance of becoming the third big mobile player. It’s biggest asset is its complete reliance on web technologies. All of the built-in apps are HTML5 apps and so will be the third-party ones.
Here’s how it works. Firefox OS is made up of three big parts. At the very bottom is the part that handles the hardware, codenamed Gonk.
Gonk is made up of a Linux kernel, based on the modified version supplied with the Android Open Source Project. On top of that, it’s running a custom-built HAL (hardware abstraction layer) and several other low-level components. Most if not all of these are based on existing and tried open-source libraries and tools.
Gecko is the application platform layer. It sits on top of Gonk and is responsible for making the user facing apps “work.” Gecko, as the name implies, is based on Firefox’s HTML engine.
Along with the standard desktop Firefox stuff, Mozilla will be building the Web API, a set of tools to enable web applications to handle things like video cameras, mics, phone sensors, the battery, the GPS, the dialer and so on and so forth.
Gaia is the final layer, it’s what the user sees. It’s a set of HTML5 apps that handle the UI. All of the built-in apps are part of Gaia. This means the desktop and app launcher, the locker screen, the dialer, the clock apps, etc.
The third-party apps will run alongside Gaia and will be using the same technologies and standard APIs.
This is a simple overview of how Firefox OS is built. A much deeper explanation is provided by Mozilla in the B2G, Firefox OS’ project name, wiki.
You’ll notice it’s very similar to Chrome OS, but it goes a step further in that it’s even more barebones. Chrome OS actually runs Chrome on top of the Linux kernel and a minimal set of libraries. What this means is that there is a browser UI and a desktop UI and all of these are purpose-built.
Firefox OS uses HTML5 and CSS3 for the UI, it’s not Firefox running on top of a kernel, it’s Firefox’s core running on top of the kernel. In fact, there is a Firefox app inside Firefox OS, but it’s treated just like any other app.