Firefox OS – Getting to Know The Amazing Open Source

Mozilla is an open source software community well known for producing the Firefox web browser, one of the leading and popular browser in the world. The Mozilla community uses, develops, spreads and supports Mozilla products. The community is supported institutionally by the Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation. In addition to Firefox browser, Mozilla also produces;

Firefox mobile:- Firefox Mobile (codenamed Fennec) is the build of the Mozilla Firefox web browser for devices such as smartphones and tablet computers.

Thunderbird:- Thunderbird is a free, open source, cross-platform email and news client developed by the Mozilla Foundation.

Firefox OS:- (Project name: Boot to Gecko also known as B2G) Firefox OS is an open source operating system in development by Mozilla.

SeaMonkey:- SeaMonkey (formerly the Mozilla Application Suite) is a free and open source cross platform suite of Internet software components including a web browser component, a client for sending and receiving email and USENET newsgroup messages, an HTML editor (Mozilla Composer) and the ChatZilla IRC client.

Firefox OS

Firefox OS is an open source Linux kernel-based Mobile Operating System for smartphones and tablet computers. Firefox OS is Mozilla’s branding that supports services applied on the Boot To Gecko (B2G) which is the OS’s engineering codename. Firefox OS is set to be used on Smart TVs.

The OS is designed 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.

Firefox OS is designed to provide a complete community-based alternative system for mobile devices. Thereby competing with commercially developed operating systems such as Apple’s iOS, Microsoft’s Windows Phone, Google’s Android as well as other open source OS such as Ubuntu Touch.

History

Andreas Gal, Director of Research at Mozilla Corporation, announced the “Boot to Gecko” Project (B2G) on the 25th of July, 2011. 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.

Mozilla’s 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. The goal of the B2G project is to bridge the gap 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.

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. 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.

In July 2012, Boot to Gecko was rebranded as ‘Firefox OS’, after Mozilla’s well-known desktop browser, Firefox.

ADVERTISEMENT

Firefox OS was publicly demonstrated in February 2012, on Android-compatible smartphones. In September 2012, Analysts forecast that Firefox OS would account for 1% of the global smartphone market in 2013 – its first year of commercial availability.

Mozilla announced plans for global commercial roll-out of Firefox OS, in February 2013. 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.

New features were added with the 1.2 release in December 2013, these include 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. “The major work will be on the optimization of Firefox OS running on a 128MB platform” in version 1.3T. The latest version as at of November 2013 is version 2.1.

Firefox OS Terminology

B2G: Short for Boot to Gecko. The engineering codename for the Firefox OS operating system. You will often see this term used to refer to Firefox OS, since it was used for a long time before the project was given an official name.

Firefox OS: Firefox OS is basically Mozilla’s (and OEM partner’s) branding and support services applied on top of Boot to Gecko, to create a final release product.

Gaia: The user interface of the Firefox OS platform. Anything drawn to the screen once Firefox OS is started up is a product of the Gaia layer. Gaia implements the lock screen, home screen, and all the standard applications expected on a modern smartphone. Gaia is implemented entirely using HTML, CSS, and JavaScript.

Its only interfaces to the underlying operating system are through open Web APIs, which are implemented by the Gecko layer. Third party applications can be installed alongside the Gaia layer.

Gecko: This is the Firefox OS application runtime; i.e the layer that provides all of the support for the trifecta of open standards: HTML, CSS, and JavaScript. It makes sure those APIs work well on every operating system Gecko supports. This means that Gecko includes, among other things, a networking stack, graphics stack, layout engine, a JavaScript virtual machine, and porting layers.

Gonk: Gonk is the lower level operating system of the Firefox OS platform, consisting of a Linux kernel (based on the Android Open Source Project (AOSP)) and userspace hardware abstraction layer (HAL). The kernel and several of the user space libraries are common open-source projects: Linux, libusb, bluez, and so forth. Some of the other parts of the HAL are shared with the AOSP: GPS, camera, and others.

Jank: This term, often used in the mobile apps space, refers to the effect of slow/inefficient code operations in an app, which block updating of the UI and cause it to become laggy or unresponsive.