Gaia is the front-end of Firefox OS, which contains system administration functionality and the built-in suite of apps shipped with Firefox OS devices. All the Gaia source code — even the system, and keyboard IMEs — is fully implemented with HTML5 (HTML + CSS + JavaScript) & Open WebAPIs. This set of documents contains information on how each of the default apps available in the Gaia family works.
Gaia functionality categories
The different apps inside Gaia can be roughly categorized into the groups listed below.
Note: Many of the pages linked to for more explanation of how the individual apps work are README pages inside the Gaia Github repo. This is because many of the apps are on rapid development cycles and therefore subject to rapid (often daily) change, so it would make little sense to try to keep MDN pages updated with these changes. The engineer-maintained README pages are currently the most accurate source of information.
Platform
Including the System, Settings, Lockscreen, build scripts, and Bluetooth apps.
Platform apps: further explanation
- System
- The System app is the first web app loaded by Gecko during the Firefox OS bootup procedure, and it handles numerous responsibilities that are required generally for the running of the system, and are therefore not scoped per individual web app.
- Browser
- The Browser app (which is now part of System) provides browser-like functionality where it is needed — including page navigation, search and bookmarks.
- Window Management
- Firefox OS's window management functionality — including app life cycle and interaction, notifications, animations and much more — is handled by a specific part of the System app. This article looks at Firefox OS Window Management in detail.
- Settings
- The Settings app allows Firefox OS users to configure device settings, and responds to incoming activities (Web activities with a name of
configure
), which allows other apps to jump to different panels inside the Settings app to handle configuration as required (for example showing the wifi settings panel if no data connection is available.)
Communication
Including the Dialer, Contact, SMS apps and FTU apps.
Communication apps: further explanation
TBD
Productivity
Including the Email, Calendar, and Clock apps.
Productivity apps: further explanation
- Calendar
- The Firefox OS built-in calendar app.
- Clock
- Firefox OS's default Clock app, which includes alarm, timer and stopwatch functionality.
- The Gaia e-mail app.
Media
Including the Camera, Gallery, Music, and Video apps, and some media related functions such as forward lock DRM and wallpapers.
Media apps: further explanation
- Video
- Video is a simple video player app that will play videos present on your Firefox OS device's storage media.
- Camera
- Camera allows Firefox OS users to capture and manage videos and photos from the device camera(s), and responding the Web activities of type
pick
from other apps that want to grab media using Camera's functionality.
Other Gaia features
Besides these functions, there are several other major features such as browser, homescreen, marketplace, test framework, PDF viewer, and app manager, which are developed closely alongside Gaia.
- pdf.js
- pdf.js is an HTML5-based PDF viewer, used inside Gaia for viewing PDFs. Note that the codebase for pdf.js is maintained in a separate repo, outside Gaia.