What You Need to Know About Mozilla’s Firefox OS

Yes, by now everyone knows that Mozilla is making its very own smartphone OS named after its most popular product, Firefox. This new OS is more than just a smartphone OS though, it is a larger project than that, even though the end result might just be something that runs on phones.

For those who aren’t aware of what Firefox OS is exactly, let’s delve into that briefly. Imagine if Chrome OS were based on Firefox instead of Chrome. Or if you’re unfamiliar with Chrome OS, imagine an OS that has only a browser installed, and boots straight into it. This is the premise of both Firefox OS and Chrome OS, but the similarities end there. First of all, Firefox OS isn’t for netbooks, or laptops, but for mobile phones and tablet devices.

Firefox OS Lock Screen
Firefox OS Lock Screen

Firefox OS Home Screen
Firefox OS Home Screen

We can identify two trends of late. The first concerns mobile devices, which are getting increasingly powerful, and the apps that they’re running are becoming richer and more functional. The second is that of the increasing popularity and functionality of web applications.

While web applications have their advantages, they are not yet as capable as native desktop applications—and arguably might never be—but for mobile and tablet applications, they quite capable enough. The web platform itself is quite capable as a tool for creating mobile applications as is evidenced by the growing popularity of tool-kits such as PhoneGap, which allow packaging web applications as native applications.

A pattern emerges. Web applications and mobile platforms seem like a match made in heaven, but there are some roadblocks on the way. There are many limitations imposed on web applications running in a browser that are absent when it comes to native mobile applications. There are some kinds of applications that are simply off limits where web applications are concerned.

The problem, in most cases, isn’t that web applications aren’t capable of performing these functions, rather that they are not allowed to. Take the example of the dialer on a phone, it’s just a bunch of buttons, and some very basic functionality. Yet this isn’t something that can be implemented in web standards, despite the ease with which it would be possible to do so.

Web browsers are very cautious about how much access to give to a web application; obviously we don’t want to open a web page only to have it access our list of contacts, private photos and upload them to their server. On the other hand with the user’s permission that is exactly what a photo sharing application might need to do.

This is where frameworks such as PhoneGap have come in, they allow you to build a great UI using HTML and CSS, build the functionality in JavaScript, but still give your app access to native features otherwise off limits to web applications.

A while back Mozilla started work on the Boot 2 Gecko, a mobile OS that they intended to build on web technologies such as HTML, CSS and JavaScript. A mobile OS where everything, the dialler, the camera app, the SMS app, the email client etc. would be build using web standard technologies.

Firefox OS Dialler

Firefox OS Settings

Firefox OS Email Client

The fact that Boot2Gecko was based on the Linux kernel, and uses Firefox’s Gecko rendering engine are minor implementation details. Obviously they were picked because they are both open source, and since this is a Mozilla project they can build on their own Gecko platform. Such a device could possibly built on a BSD core running WebKit for all that matter.

In the process of developing this OS and applications for it they could gain understanding of the limitations of current web standards, the holes in the specifications that make it impossible to build certain kinds of applications.

Mozilla can then fill in these holes by participating in the development of new standards. The result are a number of new API such as the WebTelephony API, WebVibrations API, WebSMS API, WebBluetooth API, Battery API, Screen Orientation API, and even the WebNFC API.

The aim of Boot2Gecko then is to have a operating system where the web isn’t just one of the ways to make mobile applications, it is the way. There are no traditional “native” applications on Firefox OS, the web itself is the native platform of the OS.

So Firefox OS will contain three levels, Gonk, which is the name given to the Linux platform that runs on a Firefox OS device; Gecko, the rendering engine that powers Firefox—and a number of other apps—and is responsible for running all the applications; finally we Gaia, the thing you actually interact with, a web standards-based collection of applications that provides a home screen, dialler etc.

Even before Firefox OS has launched, there are already thousands of people developing applications for it. Every mobile application based on PhoneGap, every web application designed for mobile, in fact every web application is potentially a Firefox OS app.

The question on the minds of many is whether there is room for another smartphone OS, and whether Firefox OS will be able to steal market share from Android and iOS, whether it will be successful. This isn’t a very meaningful question though, and the parameters of success aren’t what they should be. It falls on the same line as people feeling that Mozilla is failing because Firefox isn’t the leading browser.

The goal of Mozilla isn’t the promotion of Firefox, that is a means to an end. The goal of Mozilla is to promote an open web, and open standards. The current state of desktop browsers, where there is no browser that has a clear monopoly is exactly the result of Mozilla’s success, the proliferation of open standards, and an open web where users have a choice of multiple browsers. Since all browsers perform the same basic function, there is bound to be a more equal distribution, if everything is going as it should. If there is one browser leading far ahead, that would not be a good thing, even if that browser were Firefox. Some users choose Firefox, others choose Chrome, yet others choose Opera. In all of these cases what they experience is an open web. This is as good a success as any.

Firefox on Firefox OS

Firefox tabs

The goal of Firefox OS then is to foster the same openness in the mobile world, where it is currently severely lacking. WebKit currently has a near monopoly on the mobile web, which has led to a ecosystem of WebKit only websites are frameworks (for example Sencha Touch and jQTouch), similar to the previous generation of IE-only websites. Furthermore, each smartphone platform has its own gatekeeper that control’s what goes in its store—some more than others—and takes a cut.

There is little cross-platform compatibility between applications, as applications developed for one platform will not run on another, although the open source nature of Android has allowed other platforms to run Android applications. One thing that is common in all devices though is a web browser that usually supports the latest web standards. If web applications can do nearly everything that a native application would, then there is a direct cross-platform route to creating applications for mobile.

Herein lies the goal of Firefox OS. Not for Firefox OS to become the leading mobile OS, but to make the open web a lucrative platform for developing mobile applications. In the end the users should be able to choose where they want to consume such applications, on their iPad, their Android-based TV, or a Firefox OS phone. As long as users have the choice, and the open web and open standards grow and succeed, Firefox OS and Mozilla will be successful…

Leave a Comment

Your email address will not be published. Required fields are marked *