34
FIREFOX OS Pavel Ivanov UX Engineer at Mozilla [email protected] @ivanovpavel

FirefoxOS Introduction

Embed Size (px)

Citation preview

Page 1: FirefoxOS Introduction

FIREFOX OSPavel Ivanov

UX Engineer at Mozilla [email protected]

@ivanovpavel

Page 2: FirefoxOS Introduction

Bringing the Open Web to Mobile Devices OS

Page 3: FirefoxOS Introduction

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.

Page 4: FirefoxOS Introduction

Freedom From Proprietary Mobile Platforms OS

Page 5: FirefoxOS Introduction

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.

Page 6: FirefoxOS Introduction

Opportunities for Developers

Page 7: FirefoxOS Introduction

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.

Page 8: FirefoxOS Introduction

Customization for OEMs & Operators

Page 9: FirefoxOS Introduction

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.

Page 10: FirefoxOS Introduction

New Web Standards

Page 11: FirefoxOS Introduction

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.

Page 12: FirefoxOS Introduction

Components

Page 13: FirefoxOS Introduction

GONK GECKO

GAIA

Page 14: FirefoxOS Introduction

GONK

Page 15: FirefoxOS Introduction

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

!

Possibility to expose anything from the hardware to Gecko.

Page 16: FirefoxOS Introduction

GECKO

Page 17: FirefoxOS Introduction

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

number of APIs.

Page 18: FirefoxOS Introduction

GAIA

Page 19: FirefoxOS Introduction
Page 20: FirefoxOS Introduction

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

Page 21: FirefoxOS Introduction

FIREFOX OSWebAPIs & UI hacking

Page 22: FirefoxOS Introduction

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

Page 24: FirefoxOS Introduction

Web APIs

Page 25: FirefoxOS Introduction

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.

Page 26: FirefoxOS Introduction

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

Page 27: FirefoxOS Introduction

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

Page 28: FirefoxOS Introduction

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

Page 29: FirefoxOS Introduction

BATTERY STATUS API

Page 30: FirefoxOS Introduction

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); }

Page 31: FirefoxOS Introduction

Web Apps from Mozilla

Page 32: FirefoxOS Introduction

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

Page 33: FirefoxOS Introduction

Demo App :)

Page 34: FirefoxOS Introduction

It's time for questions?