3. 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.
4. 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 repurchase apps for each device.
6. Using HTML5 and the new Mozillaproposed 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.
8. 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.
10. Consumers who use devices based on the Open
Web platform will be able to easily access and
download their own content regardless of which OS
they use.
12. 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.
16. Lower level operating system, consisting of a
Linux kernel and HAL
(Hardware Abstraction Layer).
Possibility to expose anything from the
hardware to Gecko.
23. 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.
25. // Telephony object
var tel = navigator.mozTelephony;
// Check if the phone is muted (read/write property)
console.log(tel.muted);
// Check if the speaker is enabled (read/write property)
console.log(tel.speakerEnabled);
26. // Place a call
var cal = tel.dial(“123456789”);
27. // Events for that call
call.onstatechange = function (event) {
/*
Possible values for state:
"dialing", "ringing", "busy", "connecting", "connected",
"disconnecting", "disconnected", "incoming"
*/
console.log(event.state);
};
// Above options as direct events
call.onconnected = function () {
// Call was connected
};
call.ondisconnected = function () {
// Call was disconnected
};
28. // Receiving a call
tel.onincoming = function (event) {
var incomingCall = event.call;
// Get the number of the incoming call
console.log(incomingCall.number);
// Answer the call
incomingCall.answer();
};
// Disconnect a call
call.hangUp();
// Iterating over calls, and taking action depending on their changed status
tel.oncallschanged = function (event) {
tel.calls.forEach(function (call) {
// Log the state of each call
console.log(call.state);
});
};
41. 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;
}
}
54. Web apps are apps built using standard Web technologies. They work
in any modern Web browser, and can be developed using your
favorite tools.
The Open Web apps project proposes some small additions to
existing sites to turn them into apps that run in a rich, fun, and
powerful computing environment.
These apps run on desktop browsers and mobile devices, and are
easier for a user to discover and launch than Web sites.
58. Reuse any existing web site/app or develop from scratch with open
web standards.
Utilize HTML5 features such as localStorage, offline manifest,
IndexedDB and access Web APIs for more options.
Responsive web design for adapting to varying resolutions and
screen orientation.