Firefox 0S sounds a lot like Google’s Chrome 0S, down to the fact that both operating systems are named after their respective browsers. Like Chrome OS which is a Chrome-based browser, Firefox 0S is a Firefox-based 0S. While similar, they are both actually quite different, and have different goals. What Firefox 0S is actually a lot closer to is HP / Palm’s web0S .
Firefox 0S is an operating system that is designed to run only web applications. 0n the surface this sounds a lot like Chrome 0S and the difference between the 0Ss seems to be that Chrome 0S is for notebooks while Firefox 0S is for mobile. However the deeper difference becomes apparent when you consider that in Chrome 0S the browser, the UI, and everything are all native code running on Linux; Firefox 0S on the other hand is an operating system that itself is a web app!
Firefox 0S’s architecture consists of three layers which Mozilla has named Gonk, Gecko and Gaia. The middle one, Gecko might sound familiar, stick with us and you will understand why. Here is what these layers are and what they do:
Gaia: This is the visible layer of the 0S, it is the UI that you see when you run Firefox 0S. Gaia includes all the basic apps of Firefox 0S including the dialler, SMS app, the camera app, home screen, lock screen, 0S setting app, and almost everything else you would consider and essential part of a mobile OS. Since this is simply a web application, you can easily run it on Firefox, or even Chrome on a desktop or a modern browser running on any platform.
Gecko: Gecko is actually the rendering engine used by Firefox. This is what Gaia runs on. Think of it as a fuliscreen browser running on the mobile device, with everything else running on top of this full screen browser. The difference between this version of Gecko, and the Gecko have running in desktop or mobile versions of Firefox is that the Firefox 0S version of Gecko has mobile APIs required for mobile web applications enabled.
Gonk: Gonk is the lowermost layer of Firefox 0S. This consists of the Linux kernel and other userspace apps necessary to run the Firefox engine. Since this layer is developed by Mozilla it can give Gecko more access to native hardware than is available on any other 0S. This layer actually shares a lot with Android since it has a similar goal of running on mobile devices.
Firefox 0S is a web app running on the Firefox engine on Linux. An entire mobile 0S written in web technologies that can install run and manage other web applications in itself sounds like a big accomplishment, but it is only a small part of the whole. After all, how does a phone even work, how can a web app make calls?
The web platform is the perfect platform for creating cross-platform applications. After all an app can be written once, using one well known technology and it will run on every device. So why do people still spend so much time and money making native apps for different platforms. The fact is that while web apps can reach far, they cannot reach deep. They cannot use features such as system’s camera, or Bluetooth. They cannot use NFC or telephony features of a mobile system.