1. Technology
You can opt-out at any time. Please refer to our privacy policy for contact information.

Discuss in my forum

Firefox OS

HTML5 Based Operating System

By

Firefox OS is a new Linux-based operating system aimed at mobile devices, although components of the project will also be useful for notebook computers and desktops. It is based on HTML5 and is designed to overcome the performance disadvantages and capability deficiencies of web applications relative to native applications. Much of this is accomplished through JavaScript libraries that communicate directly with the device's hardware. The system uses only open standards and no proprietary software at all.

Architecture

The software layers implementing FireFox OS go by the names Gonk, Gecko, and Gaia. Gaia is a user-interface built on HTML5.

Gonk is a simple Linux distribution that combines a Linux kernel with a hardware abstraction layer (HAL) using various open-source libraries such as libusb and BlueZ. GPS and camera support is being developed in conjunction with the Android project.

The application runtime of FireFox OS is called Gecko, which implements HTML, CSS (cascading style sheets), and JS (Java Script). It also includes networking and graphics packages. Porting targets of Gecko include Gonk, Android, and OS X. Gonk provides interfaces to Gecko that enable direct access to hardware functions such as the telephony stack and display framebuffer.

The user interface Gaia is implemented in HTML, CSS, and JavaScript and comes with default implementations of a home screen, contact and texting applications, a telephone dialer, a calendar, a calculator, camera software, and others. Gaia is compatible with other operating systems and browsers since it uses only standard web APIs.

In addition to new Web APIs that expose critical device and operating system capabilities such as telephony, SMA camera, Bluetooth and USB, FireFox OS will include a sound privilege model in order control access and minimize unintended or malicious use to these capabilities. This includes controlled access to the file system so that HTML5 developers have more options reading and writing files to the local file system.

Another major component of Firefox OS the ability to boot directly into Firefox OS on mobile devices.

Interface Implementation

The main development effort for the Firefox OS project relates to the various hardware platforms used by mobile devices. In order provide a unifying Web API with direct access to the central hardware functions, the interfaces have to be customized for each device type.

The Mozilla team initially focussed on off the shelf devices, such as the Samsung Galaxy S II and the Samsung Nexus S and on Qualcomm chipset based devices. Most recent ARM-based mobile devices should be compatible with Firefox OS. Recommended minimum hardware requirements include a Cortex A5 class ARMv7a CPU, a Adreno 200 class GPU, WiFi, 3G network, accelerometer, proximity detector, ambient light detector, and A-GPS.

Using Firefox OS

While Firefox OS is in the early stages of development it may ask for a pass code during start-up. Entering 0000 will unlock the phone.

You can take screenshots by simultaneously pressing the home and power buttons. The screenshot files are saved in the folder /sdcard/screenshots and can be accessed through a file manager or the Gallery app.

You can install a Firefox OS build system on a Linux or OS X computer and connect it to a Firefox OS phone through USB. This way you can control the phone from the computer. For example you can use a terminal window to take a screenshot of the phone using these commands:

cd B2G/gaia
make screenshot

The image is saved as screenshot.png. B2G stands for "Boot to Gecko", which was the original name of Firefox OS.

Web App Development

You can publish a web application the same way a web page is published. B2G applications are written in HTML5, CSS, and JavaScript. In order to make the app operational on the user's machine or device, the user has to install it, which is accomplished through special instructions contained in a manifest included in the web page. For more information see the sample code on the Mozilla Developer Network.

Firefox OS Simulator

Mozilla developers have implemented a Firefox OS simulator to help with the development of apps for Firefox OS. It speeds up the development cycle and allows you to prototype applications when you don't have a physical device running Firefox OS on hand.

The simulator software includes the Firefox OS desktop client and the simular dashboard from which you can start and stop the simulator, install apps, and run and debug them. The dashboard can also be used to install apps on a physical device.

  1. About.com
  2. Technology
  3. Linux
  4. Embedded Linux
  5. Mobile Linux Software
  6. Firefox OS

©2014 About.com. All rights reserved.