Gaia
About
Gaia is a collection of web apps which make up the UI for the Boot to Gecko project.
Team
- Casey Yee (IRC: cyee)
- Josh Carpenter (IRC: jcarpenter)
- Patryk Adamczyk (IRC: patryk)
Design
Principles, Patterns, Building Blocks
- PDF to come
First Run Experience
Design Implementation
- Flexible UI
- Outline - Draft
- Assets for Testing (file missing)
- Modularization
Apps
Priority 1
Priority 2
System
- Apps Management (install, management, permissions, updates, uninstall)
- Activities
- Consumption Control
- Privacy
- File Management
- Identity
- Localization & Internationalization
- Keyboard (UI, auto-correct)
- Text-Handling (cursor, selection, copy/paste)
- Multitasking
- Notifications
- Search
- Settings
- System Updates
- Type
- Window Management
Miscellaneous
Contributing
Filing Bugs
Issues are filed on Github.
Hacking
You can fork us on Github, then send a pull request.
A lot of the apps should be able to run in a web browser (particularly Firefox Nightly), but sometimes you may need to run them on B2G until new APIs land in browsers. See Gaia/Hacking to get started.
Communicating
You can find us in #gaia on irc.mozilla.org and we use the B2G mailing list.
Reviewers
Gaia does not have formal module owners, but the following developers are good candidates to review patches to the following modules and apps:
Module | Reviewers (irc nick/github username) |
---|---|
Dialer | etienne_s/etiennesegonzac |
Messages | timdream |
Browser | benfrancis/benfrancis |
Camera | benfrancis/benfrancis |
Gallery | djf/davidflanagan, benfrancis/benfrancis |
Video | djf/davidflanagan, kaze/fabi1cazenave |
Homescreen | djf/davidflanagan |
Keyboard | timdream |
Settings | kaze/fabi1cazenave |
Calculator | |
Music | djf/davidflanagan |
Clock | etienne_s/etiennesegonzac |
Coding Style
- Background:
- make sure HTML files are declared <!DOCTYPE html> (i.e., HTML5). IE9+ will load them in compatibility mode otherwise.
- add a
"use strict";
statement (exactly that!) to the top of your JS files
- 2 spaces for indentation - do not use tab.
- Line break are free (I promise) don't hesitate to use them to separate logical block inside your functions.
- Files are named
like_this.js
.
- Use single quote instead of double quotes.
- Additional rules:
Bad:
if (expression) doSomething();
Correct:
if (expression) doSomething();
Before submitting a patch
On each javascript files you are adding or you have modified, run:
gjslint --nojsdoc my_file.js
http://code.google.com/closure/utilities/docs/linter_howto.html
Subpages of Gaia
- Gaia/Alarm
- Gaia/AppPermissions
- Gaia/App Definitions
- Gaia/Architecture Proposal
- Gaia/Architecture Transition Proposal
- Gaia/Architecture Transition Validation
- Gaia/Browser
- Gaia/Build
- Gaia/Build/NewBuildSystem
- Gaia/Build/RefactoringToNodejs
- Gaia/Build/Refactoring Plan
- Gaia/Build/Refactoring Plan/First half of 2014
- Gaia/Build/Roadmap
- Gaia/Build/Specification
- Gaia/CSS Guidelines
- Gaia/Calculator
- Gaia/Calendar
- Gaia/Calendar/Triage
- Gaia/Camera
- Gaia/Clock
- Gaia/Clock/demos
- Gaia/Comms/2.1/Call Length
- Gaia/Comms/2.1/Highlight Actionable Field
- Gaia/Comms/2.1/Ice Contacts
- Gaia/Contacts
- Gaia/Contacts/Bookmarks
- Gaia/Contacts/Data Refactor
- Gaia/Contacts/Data Refactor/mozcontactsProposal
- Gaia/Contacts/Scrum/2.0S6
- Gaia/Contacts/Scrum/2.1S0
- Gaia/Contacts/Scrum/2.1S1
- Gaia/Contacts/Scrum/2.1S2
- Gaia/Contacts/Scrum/2.1S3
- Gaia/Contacts/Scrum/2.1S4
- Gaia/Contacts/Scrum/2.1S5
- Gaia/Contacts/Scrum/2.1S6
- Gaia/Contacts/Scrum/2.1S7
- Gaia/Contacts/Scrum/2.1S8
- Gaia/Contacts/Scrum/2.1S9
- Gaia/Contacts/Scrum/2.2S1
- Gaia/Contacts/Scrum/3
- Gaia/Contacts/Scrum/4
- Gaia/Contacts/Scrums/3
- Gaia/Demos- July 26
- Gaia/Design
- Gaia/Design/ApplicationUXDocumentation
- Gaia/Design/Assets
- Gaia/Design/BuildingBlocks
- Gaia/Design/Components
- Gaia/Design/FirstRun
- Gaia/Design/FlexibleUI
- Gaia/Design/Patterns
- Gaia/Design/UserScenario
- Gaia/Design/Visual
- Gaia/Dialer
- Gaia/Dialer/Restructure
- Gaia/Ecosystem
- Gaia/Email
- Gaia/Email/ActiveSync
- Gaia/Email/Autoconfig
- Gaia/Email/DebuggingTricks
- Gaia/Email/Demos
- Gaia/Email/Features
- Gaia/Email/HistoricalReqs
- Gaia/Email/Implementation/Limits
- Gaia/Email/Implementation/MailSynchronization
- Gaia/Email/Implementation/MessageDisplayAndAttachments
- Gaia/Email/LoggestTestFramework
- Gaia/Email/ProvidingEmailsForDebugging
- Gaia/Email/RequiredBugInfo
- Gaia/Email/SecretDebugMode
- Gaia/Email/Standards/PushNotifications
- Gaia/Email/UX/Decisions
- Gaia/ExistingStylesPatterns
- Gaia/FMRadio
- Gaia/Find My Device
- Gaia/Gaia/New-Architecture-Program/Contacts/NGA SP2
- Gaia/Gallery
- Gaia/HackingOffline
- Gaia/Haida template
- Gaia/Home
- Gaia/Home/Cards
- Gaia/Home/Carousel TF
- Gaia/Home/Dock
- Gaia/Home/Dock TF
- Gaia/Home/Grid
- Gaia/Home/Grid TF
- Gaia/Home/Lock
- Gaia/Home/Search
- Gaia/Marketplace
- Gaia/MediaTeam
- Gaia/Meeting/2011-11-10
- Gaia/Meeting/2012-01-24
- Gaia/Meeting/2012-02-28
- Gaia/Meeting/2012-03-06
- Gaia/Meeting/2012-03-13
- Gaia/Meeting/2012-03-20
- Gaia/Meeting/2012-03-27
- Gaia/Meeting/2012-04-03
- Gaia/Meeting/2012-04-17
- Gaia/Meeting/2012-04-24
- Gaia/Meeting/2012-05-01
- Gaia/Meeting/2012-05-15
- Gaia/Meeting/2012-05-22
- Gaia/Meeting/2012-05-28
- Gaia/Meeting/2012-06-05
- Gaia/Meeting/2012-07-03
- Gaia/Meeting/2012-07-24
- Gaia/Meeting/2012-08-14
- Gaia/Meeting/2012-08-20
- Gaia/Meeting/2012-08-21
- Gaia/Meeting/2012-08-28
- Gaia/Meeting/2012-09-04
- Gaia/Meeting/2012-09-11
- Gaia/Meeting/2012-09-18
- Gaia/Meeting/2012-09-28
- Gaia/Meeting/2012-10-02
- Gaia/Meeting/2012-10-09
- Gaia/Meeting/2012-10-16
- Gaia/Meeting/2012-10-23
- Gaia/Meeting/2012-10-30
- Gaia/Meeting/2012-11-13
- Gaia/Meeting/2012-11-20
- Gaia/Meeting/2012-11-27
- Gaia/Meeting/2012-12-04
- Gaia/Meeting/2012-12-11
- Gaia/Meeting/2013-02-07
- Gaia/Meeting/2013-08-27
- Gaia/Meeting/2013-09-03
- Gaia/Meeting/2013-09-17
- Gaia/Meeting/2013-09-24
- Gaia/Meeting/2013-10-01
- Gaia/Meeting/2013-10-08
- Gaia/Meeting/2013-10-15
- Gaia/Meeting/2013-10-22
- Gaia/Meeting/2013-10-29
- Gaia/Meeting/2013-11-05
- Gaia/Meeting/2013-11-12
- Gaia/Meeting/2013-11-19
- Gaia/Meeting/2013-11-26
- Gaia/Meeting/2013-12-03
- Gaia/Meeting/2013-12-10
- Gaia/Meeting/2013-12-17
- Gaia/Meeting/2014-01-07
- Gaia/Meeting/2014-01-14
- Gaia/Meeting/2014-01-21
- Gaia/Meeting/2014-01-28
- Gaia/Meeting/2014-02-04
- Gaia/Meeting/2014-02-11
- Gaia/Meeting/2014-02-18
- Gaia/Meeting/2014-02-25
- Gaia/Meeting/2014-03-04
- Gaia/Meeting/2014-03-11
- Gaia/Meeting/2014-03-18
- Gaia/Meeting/2014-03-25
- Gaia/Meeting/2014-04-01
- Gaia/Meeting/2014-04-08
- Gaia/Meeting/2014-04-15
- Gaia/Meeting/2014-04-22
- Gaia/Meeting/2014-04-29
- Gaia/Meeting/2014-05-06
- Gaia/Meeting/2014-05-13
- Gaia/Meeting/2014-05-20
- Gaia/Meeting/2014-05-27
- Gaia/Meeting/2014-06-03
- Gaia/Meeting/2014-06-10
- Gaia/Meeting/2014-06-17
- Gaia/Meeting/2014-06-24
- Gaia/Meeting/2014-07-01
- Gaia/Meeting/2014-07-08
- Gaia/Meeting/2014-07-15
- Gaia/Meeting/2014-07-29
- Gaia/Meeting/2014-08-05
- Gaia/Meeting/2014-08-12
- Gaia/Meeting/2014-08-19
- Gaia/Meeting/2014-08-26
- Gaia/Meeting/2014-09-02
- Gaia/Meeting/2014-09-09
- Gaia/Meeting/2014-09-16
- Gaia/Meeting/2014-09-23
- Gaia/Meeting/2014-10-06
- Gaia/Meeting/2014-10-13
- Gaia/Meeting/2014-10-20
- Gaia/Meeting/2014-10-28
- Gaia/Meeting/2014-11-04
- Gaia/Meeting/2014-11-11
- Gaia/Meeting/2015-02-17
- Gaia/Meeting/2015-03-03
- Gaia/Meeting/2015-03-10
- Gaia/Meeting/2015-03-17
- Gaia/Meeting/2015-03-24
- Gaia/Meeting/2015-03-31
- Gaia/Meeting/2015-04-14
- Gaia/Meeting/2015-04-21
- Gaia/Meeting/2015-04-28
- Gaia/Meeting/2015-05-05
- Gaia/Meeting/2015-05-12
- Gaia/Meeting/2015-05-19
- Gaia/Meeting/2015-05-26
- Gaia/Meeting/2015-06-09
- Gaia/Meeting/2015-07-07
- Gaia/Meeting/2015-07-14
- Gaia/Meeting/2015-07-21
- Gaia/Meeting/2015-07-28
- Gaia/Meeting/2015-08-04
- Gaia/Meeting/2015-08-11
- Gaia/Meeting/2015-08-18
- Gaia/Meeting/2015-08-25
- Gaia/Meeting/2015-09-01
- Gaia/Meeting/2015-09-08
- Gaia/Meeting/2015-09-15
- Gaia/Meeting/2015-09-29
- Gaia/Meeting/2015-10-16
- Gaia/Meeting/2015-10-20
- Gaia/Meeting/2015-10-27
- Gaia/Meeting/2015-11-10
- Gaia/Meeting/2015-11-17
- Gaia/Meeting/2015-11-24
- Gaia/Meeting/2016-01-15
- Gaia/Meeting/2016-01-19
- Gaia/Meeting/2016-01-26
- Gaia/Meeting/2016-03-01
- Gaia/Meeting Notes
- Gaia/Metrics
- Gaia/Metting/2013-10-15
- Gaia/Music
- Gaia/Network Alerts
- Gaia/New-Architecture-Program
- Gaia/New-Architecture-Program/Contacts
- Gaia/New-Architecture-Program/Contacts/FxOS-S2(10 Jul)
- Gaia/New-Architecture-Program/Contacts/FxOS-S3(24 Jul)
- Gaia/New-Architecture-Program/Contacts/FxOS-S4(07 Aug)
- Gaia/New-Architecture-Program/Contacts/FxOS-S5(21 Aug)
- Gaia/New-Architecture-Program/Contacts/FxOS-S6(04 Aug)
- Gaia/New-Architecture-Program/Contacts/FxOS-S6(04 Sep)
- Gaia/New-Architecture-Program/Contacts/FxOS-S7(18 Sep)
- Gaia/New-Architecture-Program/Contacts/FxOS-S8(02 Oct)
- Gaia/New-Architecture-Program/Contacts/FxOS-S9(16 Oct)
- Gaia/New-Architecture-Program/Contacts/NGA SP2
- Gaia/New-Architecture-Program/Contacts/NGA SP3
- Gaia/New-Architecture-Program/NavigationTransitions
- Gaia/Notifications
- Gaia/PDFViewer
- Gaia/Planning/2.1
- Gaia/Projects/Email
- Gaia/Projects/MozContacts
- Gaia/Projects/SMSDatabase
- Gaia/Projects/SMSHomescreen
- Gaia/Projects/Tests
- Gaia/Projects/VolumeUI
- Gaia/Projects/WindowManager
- Gaia/QA
- Gaia/SMS
- Gaia/SMS/Current App State
- Gaia/SMS/Handling Bugs
- Gaia/SMS/Scrum
- Gaia/SMS/Scrum/1
- Gaia/SMS/Scrum/1/Planning
- Gaia/SMS/Scrum/2
- Gaia/SMS/Scrum/2.0S6
- Gaia/SMS/Scrum/2.0S6/Planning
- Gaia/SMS/Scrum/2.1S1
- Gaia/SMS/Scrum/2.1S1/Planning
- Gaia/SMS/Scrum/2.1S2
- Gaia/SMS/Scrum/2.1S2/Planning
- Gaia/SMS/Scrum/2.1S3
- Gaia/SMS/Scrum/2.1S3/Planning
- Gaia/SMS/Scrum/2.1S4
- Gaia/SMS/Scrum/2.1S4/Planning
- Gaia/SMS/Scrum/2.1S5
- Gaia/SMS/Scrum/2.1S6
- Gaia/SMS/Scrum/2.1S7
- Gaia/SMS/Scrum/2.1S7/Planning
- Gaia/SMS/Scrum/2.1S8
- Gaia/SMS/Scrum/2.1S8/Planning
- Gaia/SMS/Scrum/2.1S9
- Gaia/SMS/Scrum/2.1S9/Planning
- Gaia/SMS/Scrum/2.2S1
- Gaia/SMS/Scrum/2.2S11
- Gaia/SMS/Scrum/2.2S11/Planning
- Gaia/SMS/Scrum/2.2S13
- Gaia/SMS/Scrum/2.2S13/Planning
- Gaia/SMS/Scrum/2.2S14
- Gaia/SMS/Scrum/2.2S14/Planning
- Gaia/SMS/Scrum/2.2S2
- Gaia/SMS/Scrum/2.2S3
- Gaia/SMS/Scrum/2.2S4
- Gaia/SMS/Scrum/2.2S4/Planning
- Gaia/SMS/Scrum/2.2S5
- Gaia/SMS/Scrum/2.2S5/Planning
- Gaia/SMS/Scrum/2/Planning
- Gaia/SMS/Scrum/3
- Gaia/SMS/Scrum/3/Planning
- Gaia/SMS/Scrum/4
- Gaia/SMS/Scrum/FxOS-S3
- Gaia/SMS/Scrum/FxOS-S3/Planning
- Gaia/SMS/Scrum/FxOS-S4
- Gaia/SMS/Scrum/FxOS-S4/Planning
- Gaia/SMS/Scrum/FxOS-S5
- Gaia/SMS/Scrum/FxOS-S5/Planning
- Gaia/SMS/Scrum/FxOS-S6
- Gaia/SMS/Scrum/FxOS-S6/Planning
- Gaia/SMS/Scrum/FxOS-S7
- Gaia/SMS/Scrum/FxOS-S8
- Gaia/SMS/Scrum/FxOS-S9
- Gaia/SMS/Scrum/Milestone Planning/1
- Gaia/SMS/Scrum/Milestone Planning/2
- Gaia/SMS/Scrum/Template
- Gaia/Settings
- Gaia/Settings/docs
- Gaia/Settings/docs/Apn Settings
- Gaia/Settings/docs/Call Settings
- Gaia/Settings/docs/Dialog Manager
- Gaia/Settings/docs/Dialog Service
- Gaia/Settings/docs/Keyboard Settings
- Gaia/Settings/docs/Operator Settings
- Gaia/Settings/docs/Root
- Gaia/Settings/docs/Sim Manager
- Gaia/Settings/docs/Sim Security
- Gaia/Settings/docs/Wifi
- Gaia/Settings/docs/airplane mode
- Gaia/Shared
- Gaia/Shared/Components
- Gaia/System
- Gaia/System/Activities
- Gaia/System/Apps
- Gaia/System/AppsManagement
- Gaia/System/Bluetooth
- Gaia/System/BootScreen
- Gaia/System/ConsumptionControl
- Gaia/System/Contribution
- Gaia/System/CursorManagement
- Gaia/System/Customization
- Gaia/System/DRM
- Gaia/System/DateTime
- Gaia/System/DeviceSecurity
- Gaia/System/Division