Firefox OS is an open source mobile operating system that uses web technologies. It targets emerging markets with affordable hardware that does not require a credit card. It has multiple hardware and mobile partners. Firefox OS uses a streamlined software stack and allows apps through three levels of access - hosted, privileged, and certified. It has many web APIs to provide capabilities and is defined by a manifest file. The Firefox Marketplace hosts apps and there are developer tools and references provided. Firefox OS is launching in European and Latin American markets through mobile partners. It provides a low-cost alternative that can be reused across platforms and allows various monetization models for developers.
1. Firefox OS
5 August, 2013 0
What it is & why you should care…
Ali Spivak
Product Manager, MDN
Mozilla
2. What it is…
1
- Open Platform
- Targets new, emerging markets
- Very affordable hardware
- No credit card needed - client billing
- Web technologies through and through
- 18 mobile partners, 5 hardware partners
3. What it is not…
2
- iOS or Android (nor is it intended to be)
- Another “walled garden”
- A new ecosystem (it’s the web!)
8. Three levels of access…
Hosted apps - stored on your server, easy to
upgrade, limited access.
Privileged apps - reviewed by the App
store, uses a Content Security Policy, hosted
on trusted server
Certified apps - part of the OS, only by Mozilla
and partners
7
9. Web APIs (hosted apps)
8
— Vibration API
— Geolocation API
— Open WebApps
— Battery Status API
— Push Notifications API
— WebPayment
— Ambient light sensor
— Notification
— Screen Orientation
— Mouse Lock API
— Network Information API
— Alarm API
— WebFM API / FMRadio
— IndexedDB
— Proximity sensor
Using WebAPIs to make the web layer more capable
10. Web APIs (privileged apps)
9
— Device Storage API
— Browser API
— TCP Socket API
— Contacts API
— systemXHR
Using WebAPIs to make the web layer more capable
11. Web APIs (certified apps)
10
— WebTelephony
— Idle API
— Power Management API
— WiFi Information API
— Permissions API
— Camera API
— Attention screen
— WebSMS
— Settings API
— Mobile Connection API
— WebBluetooth
— Network Stats API
— Time/Clock API
— Voicemail
Using WebAPIs to make the web layer more capable
12. Defined by manifest
{
"name": "My App",
"description": "My elevator pitch goes here",
"launch_path": "/",
”icons": { "128": "/img/icon-128.png" },
"developer": {
"name": "Your name or organization",
"url": http://your-homepage-here.org
}
}
11
App manifest
15. European Launch Markets
14
Spain –2 July
Poland - 15 July
Next wave of Firefox OS devices will be available to consumers in
Germany, Greece, & Hungary.
— T-Mobile
— Device: Alcatel One Touch
— 39.90 zloty (€9.25) per month
— Movistar/Telefónica
— Phone: ZTE Open
— €69, including €30 of balance
for prepaid customers and a
4GB microSD card.
16. Latin American Launch Markets
15
Columbia – 1 August
Venezuela - 1 August
Next launch will be in Brazil in Q4 of 2013
— Sold through Movistar (Telefonica)
— Alcatel OneTouch Fire Bs. 1.739 ($276)
— ZTE Open Bs. 1.159 ($184)
— Bs. 165 per month contract
— Sold through Movistar (Telefonica)
— Both devices are COP 199,900 ($102) on
prepay or COP 99,900 ($53) on a 12 month
contract at COP 39,900 ($21) per month
18. Why should I (or my clients) care about
Firefox OS?
17
— Lowers investment; reuse across platforms.
— Not yet another new technology.
— Not locked into one sales or payment model.
— Access to new smartphone markets & users.
— Predictable future support as the browser is the
platform
19. How can I make money?
18
— Paid per download
— Freemium model: Free and paid app are linked in
Marketplace for easy upgrade
— In-app payments using carrier billing
— Use your own in-app payment system
Firefox Marketplace business model is standard 70-30. However you're not
limited to selling your content via the Firefox Marketplace; you can sell on your
website or build your own Marketplace
Notas do Editor
Operators include: AméricaMóvil, China Unicom, Deutsche Telekom, Etisalat, Hutchison Three Group, KDDI, KT, MegaFon, Qtel, SingTel, Smart, Sprint, Telecom Italia Group, Telefónica, Telenor, TMN and VimpelCom. Hardware: Alcatel (TCL), Huawei, LG and ZTE (and Geeksphone)Powered by the Qualcomm Snapdragon™ chipset.
Gaia: User Interface Completely based on HTML5 and open web technologies.Gecko: The Web Runtime Gecko rendering engine also powers the Firefox Web browser.Application layer developed with HTML5, CSS, and JavaScript.No native API layer between the Web engine and the kernel. Exposes the hardware capabilities of the phone through Web APIs.Smaller stack targets low to high-end hardware. Gonk: Kernel and Drivers Open Linux kernel, system libraries, firmware and device drivers Enables hardware features to talk to apps accessing the Web Engine
The Network Information API provides information about the system's connection, such as the current bandwidth of the user's device or whether the connection is metered. This can be used to select high definition content or low definition content based on the user's connection. This example watches for changes to the user's connection. This is similar to how an app would be alerted when the user moves from a high-cost connection to a low-cost one, for example, in order to reduce bandwidth demands to prevent the user from racking up substantial charges.
The Contacts API provides a simple interface to manage a user's contacts stored in the system's address book. A typical use case of the Contacts API is the implementation of an application to manage said address book.Note: Because personal information regarding a user's contact are pieces of sensitive data, only privileged and certified apps are allowed to directly access that API. Other applications are encouraged to use Web Activities to delegate operations on contacts.
SummaryThe Permissions API is used to display and let the user manage all the permissions requested by apps. With this API, an application can read the permissions of another application and is also able to change those permissions.The permission manager is accessible through the navigator.mozPermissionSettings property which is an instance of the PermissionSettings interface.Installed app permissionEach application requests some permission through its app manifest. Each time an application will try to use an API that require an explicit permission, the user will be prompted to grant or deny the permission. If he chooses not to be prompted again, the user has no means for changing his mind. With this API it's possible to give the user an interface to manage all the permissions he gave to any application.