FirefoxOS Introduction

Preview:

Citation preview

FIREFOX OSPavel Ivanov

UX Engineer at Mozilla pivanov@mozilla.com

@ivanovpavel

Bringing the Open Web to Mobile Devices OS

Bringing The Boot to Gecko project was launched to enable the Open Web as a platform for mobile devices. We’re making innovation possible by driving the development of new Web standards.

Freedom From Proprietary Mobile Platforms OS

Operators and developers write apps and services for one platform and then rewrite

them for others. !

Users who want to buy phones, e-readers and game consoles from different

manufacturers often need to re-purchase apps for each device.

Opportunities for Developers

Using HTML5 and the new Mozilla-proposed standard APIs, developers everywhere will be able to create amazing experiences and apps.

!

Developers will no longer need to learn and develop against platform-specific native APIs.

Customization for OEMs & Operators

OEMs and operators will be able to provide content and services across their entire device

portfolio, regardless of OS. !

And they will be able to customize user experiences, manage app distribution and

retain customer attention, loyalty and billing relationships.

New Web Standards

Firefox OS produces an implementation of these new Web standards to free mobile platforms from the encumbrances of the rules and restrictions of

existing proprietary platforms.

Components

GONK GECKO

GAIA

GONK

Lower level operating system, consisting of a Linux kernel and HAL (Hardware Abstraction Layer).

!

Possibility to expose anything from the hardware to Gecko.

GECKO

The application runtime. The rendering engine in Firefox for HTML5, CSS & JavaScript. Implements a

number of APIs.

GAIA

The user interface, built entirely by HTML5 & Open Web APIs.

FIREFOX OSWebAPIs & UI hacking

Using HTML5, CSS and JavaScript together with a number of APIs to build apps and customize the UI.

Web APIs

The Boot to Gecko project is based entirely on open standards and the source code is open and

accessible to all. Where open standards are missing, we're working with standards bodies and

other vendors to create them.

WebTelephony !Vibration API !WebSMS !Idle API !Screen Orientation !Settings API !Resource lock API !Power Management API !Mobile Connection API !Socket API

Sensor API !WiFi Information API !Device Storage API !Contacts API !Camera API !Peer to Peer API !Open WebApps !WebNFC !WebBluetooth !WebUSB

Network Information API !Battery Status API !Alarm API !Browser API !Time/Clock API !Intents/Activities/Actions !Keyboard/IME API

BATTERY STATUS API

var battery = navigator.mozBatteryif (battery) { var batteryLevel = Math.round(battery.level * 100) + "%", charging = (battery.charging)? "" : "not ", chargingTime = parseInt(battery.chargingTime / 60, 10, dischargingTime = parseInt(battery.dischargingTime / 60, 10); // Set events battery.addEventListener("levelchange", setStatus, false); battery.addEventListener("chargingchange", setStatus, false); battery.addEventListener("chargingtimechange", setStatus, false); battery.addEventListener("dischargingtimechange", setStatus, false); }

Web Apps from Mozilla

Dialer !Contacts !Settings !SMS !Web browser !Gallery !Video Player !Music Player !E-mail (POP) !Calendar

Alarm Clock !Camera !Notes !First Run Experience !Notifications !Home Screen !Mozilla Marketplace !System Updater !Localization Support

Demo App :)

It's time for questions?