57
Firefox OS

Firefox OS Introduction at Bontouch

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Firefox OS Introduction at Bontouch

Firefox OS

Page 2: Firefox OS Introduction at Bontouch
Page 4: Firefox OS Introduction at Bontouch

Mozilla is a global non-profit dedicated to putting you in control of your online experience and shaping the future of the Web for the public good

Page 6: Firefox OS Introduction at Bontouch
Page 7: Firefox OS Introduction at Bontouch

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

Firefox OS

Page 9: Firefox OS Introduction at Bontouch

Open Web Apps

Page 10: Firefox OS Introduction at Bontouch

Build excellent interfaces!

Page 11: Firefox OS Introduction at Bontouch

Packaged vs. Hosted Apps

Page 12: Firefox OS Introduction at Bontouch

WebAPIs

Page 13: Firefox OS Introduction at Bontouch
Page 14: Firefox OS Introduction at Bontouch

Security Levels

Page 15: Firefox OS Introduction at Bontouch

Web Content

Regular web content

Installed Web App

A regular web app

Privileged Web App

More access, more responsibility

Certified Web App

Device-critical applications

Page 17: Firefox OS Introduction at Bontouch

"permissions": { "contacts": { "description": "Required for autocompletion in the share screen", "access": "readcreate" }, "alarms": { "description": "Required to schedule notifications" }}

Page 19: Firefox OS Introduction at Bontouch

Vibration API (W3C)

Screen Orientation

Geolocation API

Mouse Lock API (W3C)

Open WebApps

Network Information API (W3C)

Battery Status API (W3C)

Alarm API

Web Activities

Push Notifications API

WebFM API

WebPayment

IndexedDB (W3C)

Ambient light sensor

Proximity sensor

Notification

REGULAR APIS

Page 20: Firefox OS Introduction at Bontouch

BATTERY STATUS API

Page 21: Firefox OS Introduction at Bontouch

var battery = navigator.battery;if (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 22: Firefox OS Introduction at Bontouch

SCREENORIENTATION API

Page 23: Firefox OS Introduction at Bontouch

// Portrait mode:screen.mozLockOrientation("portrait");

/* Possible values: "landscape" "portrait" "landscape-primary" "landscape-secondary" "portrait-primary" "portrait-secondary"*/

Page 24: Firefox OS Introduction at Bontouch

VIBRATION API

Page 25: Firefox OS Introduction at Bontouch

// Vibrate for one secondnavigator.vibrate(1000);

// Vibration pattern [vibrationTime, pause,…]navigator.vibrate([200, 100, 200, 100]);

// Vibrate for 5 secondsnavigator.vibrate(5000);

// Turn off vibrationnavigator.vibrate(0);

Page 26: Firefox OS Introduction at Bontouch

DEVICEPROXIMITY

Page 27: Firefox OS Introduction at Bontouch

window.addEventListener("deviceproximity", function (event) { // Current device proximity, in centimeters console.log(event.value); // The maximum sensing distance the sensor is // able to report, in centimeters console.log(event.max); // The minimum sensing distance the sensor is // able to report, in centimeters console.log(event.min);});

Page 28: Firefox OS Introduction at Bontouch

AMBIENT LIGHT EVENTS

Page 29: Firefox OS Introduction at Bontouch

window.addEventListener("devicelight", function (event) { // The lux values for "dim" typically begin below 50, // and the values for "bright" begin above 10000 console.log(event.value);});

Page 30: Firefox OS Introduction at Bontouch

Device Storage API

Browser API

TCP Socket API

Contacts API

systemXHR

PRIVILEGED APIS

Page 31: Firefox OS Introduction at Bontouch

DEVICE STORAGE API

Page 32: Firefox OS Introduction at Bontouch

var deviceStorage = navigator.getDeviceStorage("videos");

Page 33: Firefox OS Introduction at Bontouch

// "external", "shared", or "default".deviceStorage.type;

// Add a file - returns DOMRequest with file namedeviceStorage.add(blob);

// Same as .add, with provided namedeviceStorage.addNamed(blob, name);

// Returns DOMRequest/non-editable File objectdeviceStorage.get(name);

// Returns editable FileHandle objectdeviceStorage.getEditable(name);

// Returns DOMRequest with success or failuredeviceStorage.delete(name);

// Enumerates filesdeviceStorage.enumerate([directory]);

// Enumerates files as FileHandlesdeviceStorage.enumerateEditable([directory]);

Page 34: Firefox OS Introduction at Bontouch

var storage = navigator.getDeviceStorage("videos"), cursor = storage.enumerate(); cursor.onerror = function() { console.error("Error in DeviceStorage.enumerate()", cursor.error.name);};

cursor.onsuccess = function() { if (!cursor.result) return; var file = cursor.result;

// If this isn't a video, skip it if (file.type.substring(0, 6) !== "video/") { cursor.continue(); return; }

// If it isn't playable, skip it var testplayer = document.createElement("video"); if (!testplayer.canPlayType(file.type)) { cursor.continue(); return; }};

Page 35: Firefox OS Introduction at Bontouch

WEB ACTIVITIES

Page 37: Firefox OS Introduction at Bontouch
Page 38: Firefox OS Introduction at Bontouch

var activity = new MozActivity({ name: "view", data: { type: "image/png", url: ... }});

activity.onsuccess = function () { console.log("Showing the image!");};

activity.onerror = function () { console.log("Can't view the image!");};

Page 39: Firefox OS Introduction at Bontouch

{ "activities": { "share": { "filters": { "type": ["image/png", "image/gif"] } "href": "sharing.html", "disposition": "window" } }}

Page 40: Firefox OS Introduction at Bontouch

navigator.mozSetMessageHandler("activity", function (a) { var img = getImageObject(); img.src = a.source.url; // Call a.postResult() or a.postError() if // the activity should return a value});

Page 41: Firefox OS Introduction at Bontouch

Future APIs

Page 42: Firefox OS Introduction at Bontouch
Page 43: Firefox OS Introduction at Bontouch

Resource lock API

UDP Datagram Socket API

Peer to Peer API

WebNFC

WebUSB

HTTP-cache API

Calendar API

Spellcheck API

LogAPI

Keyboard/IME API

WebRTC

FileHandle API

Sync API

Page 44: Firefox OS Introduction at Bontouch

Web Apps from Mozilla

Page 45: Firefox OS Introduction at Bontouch
Page 46: Firefox OS Introduction at Bontouch

Dialer

Contacts

Settings

SMS

Web browser

Gallery

Video Player

Music Player

E-mail (POP, IMAP)

Calendar

Alarm Clock

Camera

Notes

First Run Experience

Notifications

Home Screen

Mozilla Marketplace

System Updater

Localization Support

Page 48: Firefox OS Introduction at Bontouch

Get started

Page 51: Firefox OS Introduction at Bontouch

https://marketplace.firefox.com/

Page 53: Firefox OS Introduction at Bontouch

Trying things out

Page 54: Firefox OS Introduction at Bontouch