Firefox OS

Firefox OS (project name: Boot to Gecko, also known as B2G) is a Linux kernel-based open-source operating system for smartphones and tablet computers and is set to be used on smart TVs. It is being developed by Mozilla, the non-profit organization best known for the Firefox web browser.

Firefox OS is designed to provide a complete, community-based alternative system for mobile devices, using open standards and approaches such as HTML5 applications, JavaScript, a robust privilege model, open web APIs to communicate directly with cellphone hardware, and application marketplace. As such, it competes with commercially developed operating systems such as Apple's iOS, Google's Android, Microsoft's Windows Phone and Jolla's Sailfish OS.

Firefox OS was publicly demonstrated in February 2012, on Android-compatible smartphones. In January 2013, at CES 2013, ZTE confirmed they would be shipping a smartphone with Firefox OS, and on July 2, 2013, Telefónica launched the first commercial Firefox OS based phone, ZTE Open, in Spain which was quickly followed by GeeksPhone's Peak+. As of December 16, 2014, Firefox OS phones are offered by 14 operators in 28 countries throughout the world.

Mozilla has also partnered with T2Mobile to make a Firefox OS reference phone dubbed "Flame" which is designed for developers to contribute to Firefox OS and to test apps.

Commencement of project
On July 25, 2011, Andreas Gal, Director of Research at Mozilla Corporation, announced the "Boot to Gecko" Project (B2G) on the mozilla.dev.platform mailing list. The project proposal was to "pursue the goal of building a complete, standalone operating system for the open web" in order to "find the gaps that keep web developers from being able to build apps that are – in every way – the equals of native apps built for the iPhone, Android, and Windows Phone 7." The announcement identified these work areas: new web APIs to expose device and OS capabilities such as telephone and camera, a privilege model to safely expose these to web pages, applications to prove these capabilities, and low-level code to boot on an Android-compatible device.

This led to much blog coverage. According to Ars Technica, "Mozilla says that B2G is motivated by a desire to demonstrate that the standards-based open Web has the potential to be a competitive alternative to the existing single-vendor application development stacks offered by the dominant mobile operating systems."

In 2012, Andreas Gal expanded on Mozilla's aims. He characterized the current set of mobile OS systems as "walled gardens" and presented Firefox OS as more accessible: "We use completely open standards and there’s no proprietary software or technology involved." Gal also said that because the software stack is entirely HTML5, there are already a large number of established developers. This assumption is employed in Mozilla's WebAPI. These are intended W3C standards that attempt to bridge the capability gap that currently exists between native frameworks and web applications. The goal of these efforts is to enable developers to build applications using WebAPI which would then run in any standards compliant browser without the need to rewrite their application for each platform.

Development history
In July 2012, Boot to Gecko was rebranded as 'Firefox OS', after Mozilla's well-known desktop browser, Firefox, and screenshots began appearing in August 2012.

In September 2012, analysts Strategy Analysts forecast that Firefox OS would account for 1% of the global smartphone market in 2013 – its first year of commercial availability.

In February 2013, Mozilla announced plans for global commercial roll-out of Firefox OS. Mozilla announced at a press conference before the start of Mobile World Congress in Barcelona that the first wave of Firefox OS devices will be available to consumers in Brazil, Colombia, Hungary, Mexico, Montenegro, Poland, Serbia, Spain and Venezuela. Mozilla has also announced that LG Electronics, ZTE, Huawei and TCL Corporation have committed to making Firefox OS devices.

In December 2013, new features were added with the 1.2 release, including conference calling, silent SMS authentication for mobile billing, improved push notifications, and three state setting for Do Not Track.

Async Pan and Zoom (APZ), included in version 1.3, should improve user interface responsiveness.

Work is currently being done to optimize Firefox OS to run a 128 MB platform with version 1.3T. A 128 MB device is out that seems to use that version but it may be unfinished.

Demonstrations
At Mobile World Congress 2012, Mozilla and Telefónica announced that the Spanish telecommunications provider intended to deliver "open Web devices" in 2012 based on HTML5 and these APIs. Mozilla also announced support for the project from Adobe and Qualcomm, and that Deutsche Telekom’s Innovation Labs will join the project. Mozilla demonstrated a "sneak preview" of the software and apps running on Samsung Galaxy S II phones (replacing their usual Android operating system). In August 2012, a Nokia employee demonstrated the OS running on a Raspberry Pi.

Firefox OS is compatible with a number of devices, including Otoro, PandaBoard, Emulator (ARM and x86), Desktop, Nexus S, Nexus S 4G, Samsung Galaxy S II, Galaxy Nexus and Nexus 4.

In December 2012, Mozilla rolled out another update and released Firefox OS Simulator 1.0, which can be downloaded as an add-on for Firefox. The latest version of Firefox OS Simulator, version 4.0, was released on July 3, 2013 and announced on July 11, 2013.

Mozilla's planned US$25 Firefox smartphone displayed at MWC, is built by Spreadtrum. Mozilla has collaborated with four handset makers and five wireless carriers to provide five Firefox-powered smartphones in Europe and Latin America so far with cellphone launches being led by UK marketer John D. Bernard. In India, Mozilla planned a launching at $25 in partnership with Intex & Spice, but the price ended up being $33 (converted from 1,999 Rupees).

Core technologies
The initial development work involves three major software layers:


 * Gonk – platform denomination for a combination of the Linux kernel and the HAL from Android
 * Gecko – the web browser engine and application run-time services layer;
 * Gaia – an HTML5 layer and user-interface system.

Gonk
Gonk consists of a Linux kernel and user-space hardware abstraction layer (HAL). The kernel and several user-space libraries are common open-source projects: Linux, libusb, BlueZ, etc. Some other parts of the HAL are shared with the Android project: GPS, camera, among others. Gonk is basically an extremely simple Linux distribution and is therefore from Gecko's perspective, simply a porting target of Gecko; there is a port of Gecko to Gonk, just like there is a port of Gecko to OS X, and a port of Gecko to Android. However, since the development team have full control over Gonk, the developers can fully expose all the features and interfaces required for comprehensive mobile platforms such as Gecko, but which aren't currently possible to access on other mobile OSes. For example, using Gonk, Gecko can obtain direct access to the full telephony stack and display framebuffer, but doesn't have this access on any other OS.

Gecko
Gecko is the web browser engine of Firefox OS. Gecko implements open standards for HTML, CSS, and JavaScript. Gecko includes a networking stack, graphics stack, layout engine, virtual machine (for JavaScript), and porting layers.

Gaia
Gaia is the user interface of Firefox OS and controls everything drawn to screen. Gaia includes by default implementations of a lock screen, home screen, telephone dialer and contacts application, text-messaging application, camera application and a gallery support, plus the classic phone apps: mail, calendar, calculator and marketplace. Gaia is written entirely in HTML, CSS, and JavaScript. It interfaces with the operating system through Open Web APIs, which are implemented by Gecko. Because it uses only standard web APIs, it can work on other OSes and other web-browsers.

Gallery
Some screenshots of Firefox OS 2.1:

Criticisms
Chris Ziegler of the technology blog The Verge wrote that Firefox OS will take app distribution to pre-iPhone era, requiring application developers to deal with multiple carriers and their app stores. But at the Mobile World Congress, Gary Kovacs, the CEO of Mozilla, said that the devices matter less than what they're able to run; apps make or break a mobile platform these days, not hardware, and the advantage is that users don't have to install an app to use it. Mozilla is making the most of this with the search functionality built into Firefox OS, a core feature of the platform.

Janne Lindqvist, a mobile security researcher at the Rutgers University WINLAB, expressed concerns related to the discovery mechanism of a web-based platform, but a Mozilla spokesperson has stated that they are "requiring developers to package downloadable apps in a zip file that has been cryptographically signed by the store from which it originated, assuring that it has been reviewed." In addition, "apps coming back from search are given only limited access to device programming interfaces and applications, unless the user grants permission for further access."

Officially and unofficially supported devices
The structural similarities between Firefox OS and Android allow the Mozilla platform to run on a number of devices that ship with Android. While some ports of Firefox OS are hardly different from their original versions, others are heavily modified to fit the device in question. There are quite a few to note that are specifically made for Firefox OS as stated above. There are some that are designed for the developers themselves and others that are Consumer phones. While to add to it there are also emulators for testing both apps and the OS itself on the desktop which are designed for both OS testing and the developers themselves.

Firefox OS specific devices for developers:
 * T2Mobile Flame
 * Geeksphone Keon
 * Geeksphone Peak
 * Zte Open
 * Zte Open C

Firefox OS specific devices for consumers:
 * Symphony GoFox F15
 * KDDI Fx0
 * Intex Cloud FX
 * Spice Fire One MI FX1
 * Alcatel Onetouch FireC 4020D

Firefox OS has been ported to the following devices:
 * Sony Xperia SP
 * Huawei Ascend Y300
 * Huawei Ascend G510
 * HTC Pico
 * Nexus 4
 * Nexus 5
 * Nexus 7 (2013)