SlideShare ist ein Scribd-Unternehmen logo
1 von 60
Downloaden Sie, um offline zu lesen
INTRODUCING

FIREFOX OS

Sayak Sarkar (@sayak_sarkar)
http://sayak.in
What is

Firefox OS?

Firefox OS is an open platform for mobile Devices,
built entirely using HTML5 and other open Web standards
which is free from the rules and restrictions of existing
proprietary platforms.
WHY USE HTML5?
In-built distribution - the web
Simple technologies used by lots
of developers
Evolution of existing practices
Open, independent, standardized
PROMISES OF HTML5
firefox OS
How Real is it?
Released in four countries: Spain, Poland, Venezuela
and Columbia (more to come very soon)
18 mobile operator partners, 6 hardware partners
Hardware options: Alcatel One Touch Fire, ZTE Open,
Geeksphone Keon, Geeksphone Peak…
Aimed at emerging markets/low end market
Aimed to be an alternative to feature phones and
unavailable closed environments.
Open source - it is all on GitHub
"Movistar offers
the ZTE Open for
€69, including €30
of balance for
prepaid customers
and a 4GB
microSD card"
ARCHITECTURE
Third Party HTML5 Apps
Third Party HTML5 Apps
GAIA
GAIA
Web APIs / Web Actitivies
Web APIs / Web Actitivies
Gecko rendering engine
Gecko rendering engine
Linux/Gonk (ADB enabled)
Linux/Gonk (ADB enabled)
-

+

=
PREDICTABLE HTML5 SUPPORT
SECURITY
APPLICATION MANIFEST
{
{
"version": "1.0",
"version": "1.0",
"name": "MozillaBall",
"name": "MozillaBall",
"description": "Exciting Open Web development action!",
"description": "Exciting Open Web development action!",
"icons": {
"icons": {
"16": "/img/icon-16.png",
"16": "/img/icon-16.png",
"48": "/img/icon-48.png",
"48": "/img/icon-48.png",
"128": "/img/icon-128.png"
"128": "/img/icon-128.png"
},
},
"developer": {
"developer": {
"name": "Mozilla Labs",
"name": "Mozilla Labs",
"url": "http://mozillalabs.com"
"url": "http://mozillalabs.com"
},
},
"installs_allowed_from": ["*"],
"installs_allowed_from": ["*"],
"appcache_path": "/cache.manifest",
"appcache_path": "/cache.manifest",
"locales": {
"locales": {
"es": {
"es": {
"description": "¡Acción abierta emocionante del desarrollo del Web!",
"description": "¡Acción abierta emocionante del desarrollo del Web!",
"developer": {
"developer": {
"url": "http://es.mozillalabs.com/"
"url": "http://es.mozillalabs.com/"
}
}
}
}
},
},
"default_locale": "en"
"default_locale": "en"
}
}
APPLICATIONS
Web Content
Web Content
Regular web content
Regular web content

Installed Web App
Installed Web App
A regular web app
A regular web app

Privileged Web App
Privileged Web App
More access, more
More access, more
responsibility
responsibility

Certified Web App
Certified Web App
Device-critical
Device-critical
applications
applications
APPLICATIONS
PERMISSIONS

"permissions": {
"permissions": {
"contacts": {
"contacts": {
"description": "Required for autocompletion in the share screen",
"description": "Required for autocompletion in the share screen",
"access": "readcreate"
"access": "readcreate"
},
},
"alarms": {
"alarms": {
"description": "Required to schedule notifications"
"description": "Required to schedule notifications"
}
}
}
}
WEB APIS
WEB APIS (FOR ALL
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
BATTERY
STATUS API
BATTERY STATUS API
var battery = navigator.battery;
var battery = navigator.battery;
if (battery) {
if (battery) {
var batteryLevel = Math.round(battery.level * 100) + "%",
var batteryLevel = Math.round(battery.level * 100) + "%",
charging = (battery.charging)? "" :: "not ",
charging = (battery.charging)? "" "not ",
chargingTime = parseInt(battery.chargingTime // 60, 10),
chargingTime = parseInt(battery.chargingTime 60, 10),
dischargingTime = parseInt(battery.dischargingTime // 60, 10);
dischargingTime = parseInt(battery.dischargingTime 60, 10);

}
}

// Set events
// Set events
battery.addEventListener("levelchange", setStatus, false);
battery.addEventListener("levelchange", setStatus, false);
battery.addEventListener("chargingchange", setStatus, false);
battery.addEventListener("chargingchange", setStatus, false);
battery.addEventListener("chargingtimechange", setStatus, false);
battery.addEventListener("chargingtimechange", setStatus, false);
battery.addEventListener("dischargingtimechange", setStatus, false);
battery.addEventListener("dischargingtimechange", setStatus, false);
SCREEN
ORIENTATION
API
SCREEN ORIENTATION API
// Portrait mode:
// Portrait mode:
screen.mozLockOrientation("portrait");
screen.mozLockOrientation("portrait");
/*
/*

*/
*/

Possible values:
Possible values:
"landscape"
"landscape"
"portrait"
"portrait"
"landscape-primary"
"landscape-primary"
"landscape-secondary"
"landscape-secondary"
"portrait-primary"
"portrait-primary"
"portrait-secondary"
"portrait-secondary"
VIBRATION API
VIBRATION API
// Vibrate for one second
// Vibrate for one second
navigator.vibrate(1000);
navigator.vibrate(1000);
// Vibration pattern [vibrationTime, pause,…]
// Vibration pattern [vibrationTime, pause,…]
navigator.vibrate([200, 100, 200, 100]);
navigator.vibrate([200, 100, 200, 100]);
// Vibrate for 5 seconds
// Vibrate for 5 seconds
navigator.vibrate(5000);
navigator.vibrate(5000);
// Turn off vibration
// Turn off vibration
navigator.vibrate(0);
navigator.vibrate(0);
NETWORK
INFORMATION
API
NETWORK INFORMATION API

var connection = window.navigator.mozConnection,
var connection = window.navigator.mozConnection,
online = connection.bandwidth > 0,
online = connection.bandwidth > 0,
metered = connection.metered;
metered = connection.metered;
☼

AMBIENT LIGHT
EVENTS
AMBIENT LIGHT EVENTS

window.addEventListener("devicelight", function (event) {
window.addEventListener("devicelight", function (event) {
// The level of the ambient light in lux
// The level of the ambient light in lux
// The lux values for "dim" typically begin below 50,
// The lux values for "dim" typically begin below 50,
// and the values for "bright" begin above 10000
// and the values for "bright" begin above 10000
console.log(event.value);
console.log(event.value);
});
});
PAGE VISIBILITY
PAGE VISIBILITY
document.addEventListener("visibilitychange", function () {
document.addEventListener("visibilitychange", function () {
if (document.hidden) {
if (document.hidden) {
console.log("App is hidden");
console.log("App is hidden");
}
}
else {
else {
console.log("App has focus");
console.log("App has focus");
}
}
});
});
WEB APIS (PRIVILEGED APPS)
Device Storage API
Browser API
TCP Socket API
Contacts API
systemXHR
CONTACTS API
CONTACTS API
var contact = new mozContact();
var contact = new mozContact();
contact.init({name: "Tom"});
contact.init({name: "Tom"});
var request = navigator.mozContacts.save(contact);
var request = navigator.mozContacts.save(contact);
request.onsuccess = function() {
request.onsuccess = function() {
console.log("Success");
console.log("Success");
};
};
request.onerror = function() {
request.onerror = function() {
console.log("Error")
console.log("Error")
};
};
WEB APIS (CERTIFIED APPS)
WebTelephony

WebBluetooth

WebSMS

Permissions API

Idle API

Network Stats API

Settings API

Camera API

Power Management API

Time/Clock API

Mobile Connection API

Attention screen

WiFi Information API

Voicemail
CERTIFIED APPS = THE OS 
CERTIFIED APPS
Dialer

Alarm Clock

Contacts

Camera

Settings

Notes

SMS

First Run Experience

Web browser

Notifications

Gallery

Home Screen

Video Player

Mozilla Marketplace

Music Player

System Updater

E-mail (POP, IMAP)

Localization Support

Calendar
WEB
ACTIVITIES
GET A PHOTO?
var getphoto = new MozActivity({
var getphoto = new MozActivity({
name: "pick",
name: "pick",
data: {
data: {
type: ["image/png", "image/jpeg"], "image/jpg"]
type: ["image/png", "image/jpeg"], "image/jpg"]
}
}
});
});
getphoto.onsuccess = function () {
getphoto.onsuccess = function () {
var img = document.createElement("img");
var img = document.createElement("img");
if (this.result.blob.type.indexOf("image") != -1) {
if (this.result.blob.type.indexOf("image") != -1) {
img.src = window.URL.createObjectURL(this.result.blob);
img.src = window.URL.createObjectURL(this.result.blob);
}
}
};
};
getphoto.onerror = function () { // error
getphoto.onerror = function () { // error
};
};
FIREFOX OS + ANDROID!
APP
DISTRIBUTION
FIREFOX OS MARKETPLACE

https://marketplace.firefox.com/
INSTALL FROM THE WEB…
var installapp = navigator.mozApps.install(manifestURL);
installapp.onsuccess = function(data) {
// App is installed
};
installapp.onerror = function() {
// App wasn't installed, info is in
// installapp.error.name
};
DYNAMIC APP WEB SEARCH
DEVELOPMENT
ENVIRONMENT
FIREFOX OS
BOILERPLATE
APP

https://github.com/robnyman/Firefox-OS-Boilerplate-App
FIREFOX OS SIMULATOR

https://addons.mozilla.org/firefox/addon/firefox-os-simulator/
PROTOTYPING WITH JSFIDDLE

1.Write your code as a JSFiddle
2.Append /webapp.manifest to your Fiddle
URL and paste this link into the Firefox
OS simulator to install the app
3.Alternatively, append /fxos.html to your
Fiddle URL to get an install page like a
typical Firefox OS hosted application

https://hacks.mozilla.org/2013/08/using-jsfiddle-to-prototype-firefox-os-apps/
BUILDING
BLOCKS?
CERTIFIED APPS BUILDING BLOCKS

http://buildingfirefoxos.com/
CERTIFIED APPS BUILDING BLOCKS

http://buildingfirefoxos.com/
MOZILLA BRICK

http://mozilla.github.io/brick/
WHAT’S
COOKING?
MORE WEB APIS
Resource lock API

Spellcheck API

UDP Datagram Socket API

LogAPI

Peer to Peer API

Keyboard/IME API

WebNFC

WebRTC

WebUSB

FileHandle API

HTTP-cache API

Sync API

Calendar API
APPMAKER
Resource lock APIUDP Datagram Socket APIPeer to Peer
APIWebNFCWebUSBHTTP-cache APICalendar
APISpellcheck APILogAPIKeyboard/IME API
WebRTC
FileHandle API
Sync API
RESOURCES
DEVELOPER HUB

https://marketplace.firefox.com/developers/
MOZILLA DEVELOPER BLOG

https://hacks.mozilla.org/category/firefox-os/
FIREFOX OS VIDEO SERIES

https://hacks.mozilla.org/category/videoseries/
FIREFOX OS WIKI

https://developer.mozilla.org/en/docs/Mozilla/Firefox_OS
THANKS!
SAYAK SARKAR
@sayak_sarkar
http://sayak.in/

Weitere ähnliche Inhalte

Was ist angesagt?

Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGapDotitude
 
Firefox OS Intro
Firefox OS IntroFirefox OS Intro
Firefox OS IntroRan Byron
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Developmentthedumbterminal
 
Firefox operating system
Firefox operating systemFirefox operating system
Firefox operating systemNishant Mehare
 
Apps with Apache Cordova and Phonegap
Apps with Apache Cordova and PhonegapApps with Apache Cordova and Phonegap
Apps with Apache Cordova and PhonegapChristian Grobmeier
 
Mobile Web Development with HTML5
Mobile Web Development with HTML5Mobile Web Development with HTML5
Mobile Web Development with HTML5Roy Clarkson
 
Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapTed Chien
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap InsightsMonaca
 
Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Matheus Cardoso
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationMuhammad Hakim A
 
Retour d’expérience sur Couchbase par James Nocentini
Retour d’expérience sur Couchbase par James NocentiniRetour d’expérience sur Couchbase par James Nocentini
Retour d’expérience sur Couchbase par James NocentiniCocoaHeads France
 
Extending Spring MVC with Spring Mobile and JavaScript
Extending Spring MVC with Spring Mobile and JavaScriptExtending Spring MVC with Spring Mobile and JavaScript
Extending Spring MVC with Spring Mobile and JavaScriptRoy Clarkson
 
Hybrid Mobile Applications
Hybrid Mobile ApplicationsHybrid Mobile Applications
Hybrid Mobile ApplicationsRuwan Ranganath
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)Aimee Maree Forsstrom
 

Was ist angesagt? (20)

Getting Your Hooks into Cordova
Getting Your Hooks into CordovaGetting Your Hooks into Cordova
Getting Your Hooks into Cordova
 
Hybrid App Development with PhoneGap
Hybrid App Development with PhoneGapHybrid App Development with PhoneGap
Hybrid App Development with PhoneGap
 
Firefox OS Intro
Firefox OS IntroFirefox OS Intro
Firefox OS Intro
 
Apache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application DevelopmentApache Cordova, Hybrid Application Development
Apache Cordova, Hybrid Application Development
 
Firefox operating system
Firefox operating systemFirefox operating system
Firefox operating system
 
Apps with Apache Cordova and Phonegap
Apps with Apache Cordova and PhonegapApps with Apache Cordova and Phonegap
Apps with Apache Cordova and Phonegap
 
Mobile Web Development with HTML5
Mobile Web Development with HTML5Mobile Web Development with HTML5
Mobile Web Development with HTML5
 
Wikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGapWikipedia Mobile App with PhoneGap
Wikipedia Mobile App with PhoneGap
 
Firefox os
Firefox osFirefox os
Firefox os
 
Cordova and PhoneGap Insights
Cordova and PhoneGap InsightsCordova and PhoneGap Insights
Cordova and PhoneGap Insights
 
Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!Ionic Framework: Let's build amazing apps. No Excuses!
Ionic Framework: Let's build amazing apps. No Excuses!
 
Phonegap/Cordova vs Native Application
Phonegap/Cordova vs Native ApplicationPhonegap/Cordova vs Native Application
Phonegap/Cordova vs Native Application
 
Retour d’expérience sur Couchbase par James Nocentini
Retour d’expérience sur Couchbase par James NocentiniRetour d’expérience sur Couchbase par James Nocentini
Retour d’expérience sur Couchbase par James Nocentini
 
Extending Spring MVC with Spring Mobile and JavaScript
Extending Spring MVC with Spring Mobile and JavaScriptExtending Spring MVC with Spring Mobile and JavaScript
Extending Spring MVC with Spring Mobile and JavaScript
 
Hybrid Mobile Applications
Hybrid Mobile ApplicationsHybrid Mobile Applications
Hybrid Mobile Applications
 
Firefox os
Firefox osFirefox os
Firefox os
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
 
Firefox OS
Firefox OSFirefox OS
Firefox OS
 
What's new in ios 7.0
What's new in ios 7.0What's new in ios 7.0
What's new in ios 7.0
 

Ähnlich wie Firefox OS

Øredev2013 - FirefoxOS - the platform HTML5 deserves
Øredev2013 - FirefoxOS - the platform HTML5 deservesØredev2013 - FirefoxOS - the platform HTML5 deserves
Øredev2013 - FirefoxOS - the platform HTML5 deservesChristian Heilmann
 
Firefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webFirefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webChristian Heilmann
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonRobert Nyman
 
Firefox OS - Answering global challenges
Firefox OS - Answering global challengesFirefox OS - Answering global challenges
Firefox OS - Answering global challengesChristian Heilmann
 
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W... 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...Robert Nyman
 
Firefox OS workshop, JSFoo, India
Firefox OS workshop, JSFoo, IndiaFirefox OS workshop, JSFoo, India
Firefox OS workshop, JSFoo, IndiaRobert Nyman
 
WebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.jsWebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.jsRobert Nyman
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - MozillaRobert Nyman
 
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San FranciscoFirefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San FranciscoRobert Nyman
 
Firefox OS - A (mobile) Web Developers dream - DWX14
Firefox OS - A (mobile) Web Developers dream - DWX14Firefox OS - A (mobile) Web Developers dream - DWX14
Firefox OS - A (mobile) Web Developers dream - DWX14Carsten Sandtner
 
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22Frédéric Harper
 
Firefox OS, the Open Web & WebAPIs - Geek Meet Västerås
Firefox OS, the Open Web & WebAPIs - Geek Meet VästeråsFirefox OS, the Open Web & WebAPIs - Geek Meet Västerås
Firefox OS, the Open Web & WebAPIs - Geek Meet VästeråsRobert Nyman
 
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - GOTO confer...
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - GOTO confer...Bringing the Open Web & APIs to 
mobile devices with Firefox OS - GOTO confer...
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - GOTO confer...Robert Nyman
 
Bringing the Open Web & APIs to 
mobile devices with Firefox OS, JSFoo, India
Bringing the Open Web & APIs to 
mobile devices with Firefox OS, JSFoo, IndiaBringing the Open Web & APIs to 
mobile devices with Firefox OS, JSFoo, India
Bringing the Open Web & APIs to 
mobile devices with Firefox OS, JSFoo, IndiaRobert Nyman
 
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...Frédéric Harper
 
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - BrazilJS
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - BrazilJSBringing the Open Web & APIs to 
mobile devices with Firefox OS - BrazilJS
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - BrazilJSRobert Nyman
 
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - SpainJS
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - SpainJSBringing the Open Web & APIs to 
mobile devices with Firefox OS - SpainJS
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - SpainJSRobert Nyman
 
Firefox OS, une plateforme à découvrir - IO Saglac - 2014-09-09
Firefox OS, une plateforme à découvrir - IO Saglac - 2014-09-09Firefox OS, une plateforme à découvrir - IO Saglac - 2014-09-09
Firefox OS, une plateforme à découvrir - IO Saglac - 2014-09-09Frédéric Harper
 
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Frédéric Harper
 

Ähnlich wie Firefox OS (20)

Øredev2013 - FirefoxOS - the platform HTML5 deserves
Øredev2013 - FirefoxOS - the platform HTML5 deservesØredev2013 - FirefoxOS - the platform HTML5 deserves
Øredev2013 - FirefoxOS - the platform HTML5 deserves
 
Firefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-webFirefox OS - HTML5 for a truly world-wide-web
Firefox OS - HTML5 for a truly world-wide-web
 
WebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla LondonWebAPIs & Apps - Mozilla London
WebAPIs & Apps - Mozilla London
 
Firefox OS - Answering global challenges
Firefox OS - Answering global challengesFirefox OS - Answering global challenges
Firefox OS - Answering global challenges
 
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W... 	Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
Bringing the open web and APIs to mobile devices with Firefox OS - Whisky W...
 
Firefox OS workshop, JSFoo, India
Firefox OS workshop, JSFoo, IndiaFirefox OS workshop, JSFoo, India
Firefox OS workshop, JSFoo, India
 
WebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.jsWebAPIs & WebRTC - Spotify/sthlm.js
WebAPIs & WebRTC - Spotify/sthlm.js
 
Web APIs & Apps - Mozilla
Web APIs & Apps - MozillaWeb APIs & Apps - Mozilla
Web APIs & Apps - Mozilla
 
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San FranciscoFirefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
Firefox OS, the Open Web & WebAPIs - HTML5DevConf, San Francisco
 
Firefox OS - A (mobile) Web Developers dream - DWX14
Firefox OS - A (mobile) Web Developers dream - DWX14Firefox OS - A (mobile) Web Developers dream - DWX14
Firefox OS - A (mobile) Web Developers dream - DWX14
 
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
Firefox OS: HTML5 sur les stéroïdes - HTML5mtl - 2014-04-22
 
Firefox OS, the Open Web & WebAPIs - Geek Meet Västerås
Firefox OS, the Open Web & WebAPIs - Geek Meet VästeråsFirefox OS, the Open Web & WebAPIs - Geek Meet Västerås
Firefox OS, the Open Web & WebAPIs - Geek Meet Västerås
 
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - GOTO confer...
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - GOTO confer...Bringing the Open Web & APIs to 
mobile devices with Firefox OS - GOTO confer...
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - GOTO confer...
 
Bringing the Open Web & APIs to 
mobile devices with Firefox OS, JSFoo, India
Bringing the Open Web & APIs to 
mobile devices with Firefox OS, JSFoo, IndiaBringing the Open Web & APIs to 
mobile devices with Firefox OS, JSFoo, India
Bringing the Open Web & APIs to 
mobile devices with Firefox OS, JSFoo, India
 
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
Firefox OS, a startup opportunity - Mobile Startups Toronto & HTML Toronto me...
 
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - BrazilJS
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - BrazilJSBringing the Open Web & APIs to 
mobile devices with Firefox OS - BrazilJS
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - BrazilJS
 
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - SpainJS
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - SpainJSBringing the Open Web & APIs to 
mobile devices with Firefox OS - SpainJS
Bringing the Open Web & APIs to 
mobile devices with Firefox OS - SpainJS
 
Firefox OS, une plateforme à découvrir - IO Saglac - 2014-09-09
Firefox OS, une plateforme à découvrir - IO Saglac - 2014-09-09Firefox OS, une plateforme à découvrir - IO Saglac - 2014-09-09
Firefox OS, une plateforme à découvrir - IO Saglac - 2014-09-09
 
HTML5 WebWorks
HTML5 WebWorksHTML5 WebWorks
HTML5 WebWorks
 
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
 

Mehr von Sayak Sarkar

Google summer of code
Google summer of codeGoogle summer of code
Google summer of codeSayak Sarkar
 
Sculpting a Vibrant Community - MozCamp Asia 2012
Sculpting a Vibrant Community - MozCamp Asia 2012Sculpting a Vibrant Community - MozCamp Asia 2012
Sculpting a Vibrant Community - MozCamp Asia 2012Sayak Sarkar
 
Java API: java.net.InetAddress
Java API: java.net.InetAddressJava API: java.net.InetAddress
Java API: java.net.InetAddressSayak Sarkar
 

Mehr von Sayak Sarkar (7)

Google summer of code
Google summer of codeGoogle summer of code
Google summer of code
 
Webmaker
WebmakerWebmaker
Webmaker
 
Sculpting a Vibrant Community - MozCamp Asia 2012
Sculpting a Vibrant Community - MozCamp Asia 2012Sculpting a Vibrant Community - MozCamp Asia 2012
Sculpting a Vibrant Community - MozCamp Asia 2012
 
Java API: java.net.InetAddress
Java API: java.net.InetAddressJava API: java.net.InetAddress
Java API: java.net.InetAddress
 
MozCarnival Pune
MozCarnival PuneMozCarnival Pune
MozCarnival Pune
 
Mozfest Pune
Mozfest PuneMozfest Pune
Mozfest Pune
 
MozParty Pune
MozParty PuneMozParty Pune
MozParty Pune
 

Kürzlich hochgeladen

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 

Kürzlich hochgeladen (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Firefox OS

  • 1. INTRODUCING FIREFOX OS Sayak Sarkar (@sayak_sarkar) http://sayak.in
  • 2. What is Firefox OS? Firefox OS is an open platform for mobile Devices, built entirely using HTML5 and other open Web standards which is free from the rules and restrictions of existing proprietary platforms.
  • 3. WHY USE HTML5? In-built distribution - the web Simple technologies used by lots of developers Evolution of existing practices Open, independent, standardized
  • 6. How Real is it? Released in four countries: Spain, Poland, Venezuela and Columbia (more to come very soon) 18 mobile operator partners, 6 hardware partners Hardware options: Alcatel One Touch Fire, ZTE Open, Geeksphone Keon, Geeksphone Peak… Aimed at emerging markets/low end market Aimed to be an alternative to feature phones and unavailable closed environments. Open source - it is all on GitHub
  • 7. "Movistar offers the ZTE Open for €69, including €30 of balance for prepaid customers and a 4GB microSD card"
  • 8. ARCHITECTURE Third Party HTML5 Apps Third Party HTML5 Apps GAIA GAIA Web APIs / Web Actitivies Web APIs / Web Actitivies Gecko rendering engine Gecko rendering engine Linux/Gonk (ADB enabled) Linux/Gonk (ADB enabled)
  • 12. APPLICATION MANIFEST { { "version": "1.0", "version": "1.0", "name": "MozillaBall", "name": "MozillaBall", "description": "Exciting Open Web development action!", "description": "Exciting Open Web development action!", "icons": { "icons": { "16": "/img/icon-16.png", "16": "/img/icon-16.png", "48": "/img/icon-48.png", "48": "/img/icon-48.png", "128": "/img/icon-128.png" "128": "/img/icon-128.png" }, }, "developer": { "developer": { "name": "Mozilla Labs", "name": "Mozilla Labs", "url": "http://mozillalabs.com" "url": "http://mozillalabs.com" }, }, "installs_allowed_from": ["*"], "installs_allowed_from": ["*"], "appcache_path": "/cache.manifest", "appcache_path": "/cache.manifest", "locales": { "locales": { "es": { "es": { "description": "¡Acción abierta emocionante del desarrollo del Web!", "description": "¡Acción abierta emocionante del desarrollo del Web!", "developer": { "developer": { "url": "http://es.mozillalabs.com/" "url": "http://es.mozillalabs.com/" } } } } }, }, "default_locale": "en" "default_locale": "en" } }
  • 13. APPLICATIONS Web Content Web Content Regular web content Regular web content Installed Web App Installed Web App A regular web app A regular web app Privileged Web App Privileged Web App More access, more More access, more responsibility responsibility Certified Web App Certified Web App Device-critical Device-critical applications applications
  • 15. PERMISSIONS "permissions": { "permissions": { "contacts": { "contacts": { "description": "Required for autocompletion in the share screen", "description": "Required for autocompletion in the share screen", "access": "readcreate" "access": "readcreate" }, }, "alarms": { "alarms": { "description": "Required to schedule notifications" "description": "Required to schedule notifications" } } } }
  • 17. WEB APIS (FOR ALL 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
  • 19. BATTERY STATUS API var battery = navigator.battery; var battery = navigator.battery; if (battery) { if (battery) { var batteryLevel = Math.round(battery.level * 100) + "%", var batteryLevel = Math.round(battery.level * 100) + "%", charging = (battery.charging)? "" :: "not ", charging = (battery.charging)? "" "not ", chargingTime = parseInt(battery.chargingTime // 60, 10), chargingTime = parseInt(battery.chargingTime 60, 10), dischargingTime = parseInt(battery.dischargingTime // 60, 10); dischargingTime = parseInt(battery.dischargingTime 60, 10); } } // Set events // Set events battery.addEventListener("levelchange", setStatus, false); battery.addEventListener("levelchange", setStatus, false); battery.addEventListener("chargingchange", setStatus, false); battery.addEventListener("chargingchange", setStatus, false); battery.addEventListener("chargingtimechange", setStatus, false); battery.addEventListener("chargingtimechange", setStatus, false); battery.addEventListener("dischargingtimechange", setStatus, false); battery.addEventListener("dischargingtimechange", setStatus, false);
  • 21. SCREEN ORIENTATION API // Portrait mode: // Portrait mode: screen.mozLockOrientation("portrait"); screen.mozLockOrientation("portrait"); /* /* */ */ Possible values: Possible values: "landscape" "landscape" "portrait" "portrait" "landscape-primary" "landscape-primary" "landscape-secondary" "landscape-secondary" "portrait-primary" "portrait-primary" "portrait-secondary" "portrait-secondary"
  • 23. VIBRATION API // Vibrate for one second // Vibrate for one second navigator.vibrate(1000); navigator.vibrate(1000); // Vibration pattern [vibrationTime, pause,…] // Vibration pattern [vibrationTime, pause,…] navigator.vibrate([200, 100, 200, 100]); navigator.vibrate([200, 100, 200, 100]); // Vibrate for 5 seconds // Vibrate for 5 seconds navigator.vibrate(5000); navigator.vibrate(5000); // Turn off vibration // Turn off vibration navigator.vibrate(0); navigator.vibrate(0);
  • 25. NETWORK INFORMATION API var connection = window.navigator.mozConnection, var connection = window.navigator.mozConnection, online = connection.bandwidth > 0, online = connection.bandwidth > 0, metered = connection.metered; metered = connection.metered;
  • 27. AMBIENT LIGHT EVENTS window.addEventListener("devicelight", function (event) { window.addEventListener("devicelight", function (event) { // The level of the ambient light in lux // The level of the ambient light in lux // The lux values for "dim" typically begin below 50, // The lux values for "dim" typically begin below 50, // and the values for "bright" begin above 10000 // and the values for "bright" begin above 10000 console.log(event.value); console.log(event.value); }); });
  • 29. PAGE VISIBILITY document.addEventListener("visibilitychange", function () { document.addEventListener("visibilitychange", function () { if (document.hidden) { if (document.hidden) { console.log("App is hidden"); console.log("App is hidden"); } } else { else { console.log("App has focus"); console.log("App has focus"); } } }); });
  • 30. WEB APIS (PRIVILEGED APPS) Device Storage API Browser API TCP Socket API Contacts API systemXHR
  • 32. CONTACTS API var contact = new mozContact(); var contact = new mozContact(); contact.init({name: "Tom"}); contact.init({name: "Tom"}); var request = navigator.mozContacts.save(contact); var request = navigator.mozContacts.save(contact); request.onsuccess = function() { request.onsuccess = function() { console.log("Success"); console.log("Success"); }; }; request.onerror = function() { request.onerror = function() { console.log("Error") console.log("Error") }; };
  • 33. WEB APIS (CERTIFIED APPS) WebTelephony WebBluetooth WebSMS Permissions API Idle API Network Stats API Settings API Camera API Power Management API Time/Clock API Mobile Connection API Attention screen WiFi Information API Voicemail
  • 34. CERTIFIED APPS = THE OS 
  • 35. CERTIFIED APPS Dialer Alarm Clock Contacts Camera Settings Notes SMS First Run Experience Web browser Notifications Gallery Home Screen Video Player Mozilla Marketplace Music Player System Updater E-mail (POP, IMAP) Localization Support Calendar
  • 37.
  • 38. GET A PHOTO? var getphoto = new MozActivity({ var getphoto = new MozActivity({ name: "pick", name: "pick", data: { data: { type: ["image/png", "image/jpeg"], "image/jpg"] type: ["image/png", "image/jpeg"], "image/jpg"] } } }); }); getphoto.onsuccess = function () { getphoto.onsuccess = function () { var img = document.createElement("img"); var img = document.createElement("img"); if (this.result.blob.type.indexOf("image") != -1) { if (this.result.blob.type.indexOf("image") != -1) { img.src = window.URL.createObjectURL(this.result.blob); img.src = window.URL.createObjectURL(this.result.blob); } } }; }; getphoto.onerror = function () { // error getphoto.onerror = function () { // error }; };
  • 39. FIREFOX OS + ANDROID!
  • 42. INSTALL FROM THE WEB… var installapp = navigator.mozApps.install(manifestURL); installapp.onsuccess = function(data) { // App is installed }; installapp.onerror = function() { // App wasn't installed, info is in // installapp.error.name };
  • 43. DYNAMIC APP WEB SEARCH
  • 47. PROTOTYPING WITH JSFIDDLE 1.Write your code as a JSFiddle 2.Append /webapp.manifest to your Fiddle URL and paste this link into the Firefox OS simulator to install the app 3.Alternatively, append /fxos.html to your Fiddle URL to get an install page like a typical Firefox OS hosted application https://hacks.mozilla.org/2013/08/using-jsfiddle-to-prototype-firefox-os-apps/
  • 49. CERTIFIED APPS BUILDING BLOCKS http://buildingfirefoxos.com/
  • 50. CERTIFIED APPS BUILDING BLOCKS http://buildingfirefoxos.com/
  • 53. MORE WEB APIS Resource lock API Spellcheck API UDP Datagram Socket API LogAPI Peer to Peer API Keyboard/IME API WebNFC WebRTC WebUSB FileHandle API HTTP-cache API Sync API Calendar API
  • 54. APPMAKER Resource lock APIUDP Datagram Socket APIPeer to Peer APIWebNFCWebUSBHTTP-cache APICalendar APISpellcheck APILogAPIKeyboard/IME API WebRTC FileHandle API Sync API
  • 58. FIREFOX OS VIDEO SERIES https://hacks.mozilla.org/category/videoseries/