Currently, we have only three modules related to FirefoxOS:
https://wiki.mozilla.org/Modules/All#Gaia
https://wiki.mozilla.org/Modules/All#Radio_Interface_Layer
https://wiki.mozilla.org/Modules/All#Widget_-_Gonk
This draft proposal (authored, at Brendan's request, by Tim Chien and
myself with valuable input from a number of others) elevates and renames
the Gaia module to make it the main FirefoxOS module, moves the Radio
Interface Layer and Widget-Gonk modules into this new toplevel FirefoxOS
module, and defines a number of new modules within it. In particular, it
defines a new Gaia module, and creates sub-modules for each of the built
in Gaia apps that will ship on FirefoxOS phones.
There are still some questions remaining about this proposal, in case
anyone wants to offer opinions here:
1) Should we favor single owners for the Gaia apps or multiple owners?
2) Do we need modules for mozbrowser, wifi, or gonk ports?
3) The current Gaia module has 14 peers, and this proposal does not
automatically copy those peers to the new Gaia module. This is largely
because the current list may be out of date. We could just add them now,
or allow the module owners to do that themselves.
The list of proposed modules follows.
David Flanagan
*Firefox OS*
*Owner: *Andreas Gal, Chris Jones
*Peer: *Jonas Sicking
Covers all the code necessary to build an Firefox OS phone, including
Gonk, etc.
*Source dir:*everything in
https://github.com/mozilla-b2g
*_Submodules of Firefox OS:_*
*Gecko B2G runtime*
*Owner: *Vivien Nicolas, FabriceDesré, Chris Jones
Gecko runtime in the B2G stack and B2G Desktop. This includes immature
APIs like mozKeyboard while they still live under the b2g/ directory.
This module does not include APIs like telephony that have their own
gecko directory even though they are currently used only by Firefox OS.
*Source dir:*$GECKO_DIR/b2g
*Widget - Gonk*
See:
https://wiki.mozilla.org/Modules/All#Widget_-_Gonk
*Radio Interface Layer*
See:
https://wiki.mozilla.org/Modules/All#Radio_Interface_Layer
*Gaia*
*Owner: *Vivien Nicolas, Tim Chien
*Peers: *Fabrice Desré (build system), David Flanagan (shared/js),
Ismael González? (shared/style building blocks)
Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project. This module
covers all aspects of Gaia, including all of the apps that are not
sub-modules, the shared JavaScript and CSS code in shared/, the build
system and the interactions between apps.
*Source dir:*
https://github.com/mozilla-b2g/gaia
*_Submodules of Gaia:_*
*System app*
*Owner: *Tim Chien, Vivien Nicholas
*Peers: *Alive Kuo, Etienne Segonzac
System app is the first HTML page and the first web app Gecko loads when
the phone boots up. It provides system UI and functionality of the
Firefox OS Phone, including window management, lock screen,
notification, cards view, attention screen, modal dialogs, application
update handling, application installation handling, etc.
*Source dir:*$GAIA_DIR/apps/system
*Browser app*
*Owner: *Ben Francis
*Peers: *Dale Harvey
Firefox Browser for Firefox OS. (Browser inception!)
*Source dir:*$GAIA_DIR/apps/browser
*Calendar app*
*Owner: *James Lal
*Peers:*
Calendar for Firefox OS
*Source dir:*$GAIA_DIR/apps/calendar
*Camera app*
*Owner: *Dale Harvey, David Flanagan
*Peers: *
Camera for Firefox OS, also secure camera panel in System app
*Source dir:*$GAIA_DIR/apps/camera
*Clock app*
*Owner: *Tim Chien
*Peers: *Ian Liu
Clock for Firefox OS, features alarm too
*Source dir:*$GAIA_DIR/apps/clock
*Communication app*
*Owner: *Etienne Segonzac (dialer), Alberto Pastore (contacts), Borja
Salguero (FTU), Jose Manuel Cantera Fonseca (Facebook Import)
*Peers: *
Communication for Firefox OS covers dialer, contacts, and first time
user experiences (FTU). It implements Facebook/GMail/
live.com contact
import feature, and also performs various system config feature during FTU
*Source dir:*$GAIA_DIR/apps/communications
*Usage app*
*Owner: *Salvador de la Puente González
*Peers: *
Allow cost-sensitive users to track mobile data/wifi usage. It also
implements a widget in the System app.
*Source dir:*$GAIA_DIR/apps/costcontrol
*E-mail app*
*Owner: *Andrew Sutherland(libraries), Dominic Kuo (UI)
*Peers: *Jim Porter
E-mail for Firefox OS
*Source dir:*$GAIA_DIR/apps/email
*FM radio app*
*Owner: *Pin Zhang, Tim Chien
*Peers: *
FM radio for Firefox OS. Listen to FM radio on the Firefox OS phone.
*Source dir:*$GAIA_DIR/apps/fm
*Gallery app*
*Owner: *David Flanagan
*Peers: *Dale Harvey
Allow user to view/edit/manage image in the device media storage and
incoming source.
*Source dir:*$GAIA_DIR/apps/gallery
*Home screen app*
*Owner: *Vivien Nicholas
*Peers: *Evyatar Amitay (
everything.me)
Implements the home screen of Firefox OS. Including Everything.me
functionalities, and some app management features.
*Source dir:*$GAIA_DIR/apps/homescreen
*Keyboard app*
*Owner: *Tim Chien, David Flanagan
*Peers: *Rudy Lu
Implements the virtual keyboard for Firefox OS phone, including word
suggestions (for alphabetical writing systems), Asian IMEs
(experimential, for Traditional Chinese, Simplified Chinese, and Japanese)
*Source dir:*$GAIA_DIR/apps/keyboard
*Music app*
*Owner: *Dominic Kuo
*Peers: *David Flanagan
Allow user to listen to the music in the device media storage and
incoming source.
*Source dir:*$GAIA_DIR/apps/music
*PDF Viewer app*
*Owner: pdf.js team, see **
https://wiki.mozilla.org/Modules/All#PDF*
PDF Viewer for Firefox OS. Only launch-able through inline web activities.
*Source dir:*$GAIA_DIR/apps/pdfjs
*Settings app*
*Owner: *Fabien Cazenave, Evelyn Hung
*Peers: *Arthur Chen
Settings for Firefox OS. Allow users to configure various settings in
the OS.
*Source dir:*$GAIA_DIR/apps/settings
*Message app*
*Owner: *Borja Salguero, Steve Chung
*Peers: *
Message for Firefox OS. Handles SMS messages and soon MMS messages.
*Source dir:*$GAIA_DIR/apps/sms
*Video app*
*Owner: *David Flanagan
*Peers: *Dale Harvey
Allow user to watch the video in the device media storage and incoming
source.
*Source dir:*$GAIA_DIR/apps/video