Gaia: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Added link to meeting details)
 
(221 intermediate revisions by 25 users not shown)
Line 1: Line 1:
== Hacking Gaia ==
Gaia is the collection of [https://developer.mozilla.org/apps web apps] which make up the front end of [http://www.mozilla.org/firefoxos/ Firefox OS] (codenamed [https://wiki.mozilla.org/B2G Boot to Gecko]).


see [[Gaia/Hacking]]
==Contributing==
* See [[Gaia/Hacking]] to get started hacking
* See [[Gaia/UxContributing]] to get started contributing to UX
* See [[B2G#Meetings]] for meeting details


=== Coding Style ===
== Admin ==
* Background:
* [[Gaia/UXTeam|UX Team]]
** [[MDC:Developer Guide/Coding Style#General practices]]
* [[Gaia/Meeting_Notes|Meeting Notes]]
** [[MDC:Developer Guide/Coding Style#JavaScript practices]]
** [[MDC:Developer Guide/Coding Style#Naming and formatting code]]


* make sure HTML files are declared <!DOCTYPE html> (i.e., HTML5).  IE9+ will load them in compatibility mode otherwise.
== UX Specifications (Wireframes) ==
Here are some guidelines to finding and using the latest UX specifications, wireframes and mock-ups.


* add a <code>"use strict";</code> statement (exactly that!) to the top of your JS files
* TEMPORARILY DELETED; working on recovery: All UX specifications, patterns and building blocks are posted in the User Experience section of the Mozilla Developer Network (MDN) at https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/UX.


* 2 spaces for indentation - do not use tab.
* All UX wireframes and mock-ups are stored in Box (not Dropbox). The main UX directory in Box is called "Firefox OS UX". The folders you should refer to are:
** 1.3 Specs: https://mozilla.box.com/s/0u4jt353ei9ov2c150ip
** 1.4 Specs: https://mozilla.box.com/s/yt7hl2leikogcuili7kp
** 1.5 Specs: https://mozilla.box.com/s/641ovdmhkancwvgxv0vq


* Line break are free (I promise) don't hesitate to use them to separate logical block inside your functions.
* The UX team has set Box folders as "Open Access". This allows view access to anyone with a link: You do not need to create or sign into a Box account in order to see UX specs and wireframes.  For the time being, we prefer to have these files be view only and, for design consistency, to have the UX team be the sole editors of these files.


* Files are named <code>like_this.js</code>.
* The UX team also attaches spec files to individual bugs AND includes a link to Box elsewhere in the bug: in the Attachments section or in Comments. The URLs of the Box folder will also be included on spec documents to ensure that anyone who sees only a PDF also knows where to get the latest specs.


* Use single quote instead of double quotes.
* Please '''contact Stephany''' (swilkes@mozilla.com) '''if you have any issues with access to Box'''.


* Additional rules:
== Shared Code / Styles ==
Bad:
if (expression) doSomething();


Correct:
The Gaia apps share/reuse some JS libraries (localization, gesture detection, etc.), localization strings (relative dates), and styles (from the building blocks effort, see above):
if (expression)
* [[Gaia/Shared|Shared]]
  doSomething();


=== Before submitting a patch ===
== Apps ==
On each javascript files you are adding or you have modified, run:
For the latest UX specifications, please visit: https://mozilla.box.com/s/44utizl9oz4eupyu3fuu
gjslint --nojsdoc my_file.js
* [[Gaia/Browser|Browser]]
* [[Gaia/Calendar|Calendar]]
* [[Gaia/Camera|Camera]]
* [[Gaia/Clock|Clock]]
* [[Gaia/Contacts|Contacts]]
* [[Gaia/Dialer|Dialer]]
* [[Gaia/Email|Email]]
* [[Gaia/FindMyDevice|Find My Device]]
* [[Gaia/FMRadio|FM Radio]]
* [[Gaia/Gallery|Gallery]]
* [[Gaia/Home|Home]]
* [[Gaia/Home/Lock|Lock]]
* [[Marketplace|Marketplace]]
* [[Gaia/Music|Music]]
* [[Gaia/PDFViewer|PDF Viewer]]
* [[Gaia/Settings|Settings]]
* [[Gaia/SMS|SMS/MMS]]
* [[Gaia/Video|Video]]


http://code.google.com/closure/utilities/docs/linter_howto.html
* [[Gaia/AppPermissions|App Permissions]]
 
=== Apps ===
== System ==
* Home screen (webGL cjones/ HTML vingtetun)
For the latest UX specifications, please visit: https://mozilla.box.com/s/44utizl9oz4eupyu3fuu
** Keyboard/IME (vingtetun/timdream)
* [[Gaia/System/Activities|Activities]]
*** Chinese ZhuYing IME (timdream)
* [[Gaia/System/Apps|Apps]] (install, permissions, errors, management, updates, uninstall, reinstall)
* Lock screen (gal)
* [[Gaia/System/Bluetooth|Bluetooth]]
* Dialer (vingtetun)
* [[Gaia/System/InternetSharing|Internet Sharing & Tethering]]
* SMS application (vingtetun)
* [[Gaia/System/ConsumptionControl|Consumption Control]]
*Browser (benfrancis)
* [[Gaia/System/DoNotTrack|Do Not Track]]
** See [[B2G/Gaia/Browser]] for details.
* [[Gaia/System/FileManagement|File Management]]
* Gallery (benfrancis)
* [[Gaia/Design/FirstRun|First Run Experience]]
** Downloads sample photos from the app's web server and saves them as files in IndexedDB to be loaded locally
* [[Gaia/System/Hardware|Hardware]]
** Can select a photo which zooms in using CSS transitions
* [[Gaia/System/Keyboard|Keyboard]] (text-entry ui, predictive and corrective text capabilities)
** Next:
* Value selectors and Pickers
*** Swipe to next photo (asynchronously pre-load nearby photos) https://github.com/andreasgal/gaia/issues/42
* [[Gaia/System/CursorManagement|Text-handling]] (cursor management and text selection)
*** Figure out where to store photos and other media on the device going forward ({{bug|717103}})
* [[Gaia/System/Localization|Localization & Internationalization]]
* Camera (benfrancis)
* [[Gaia/Notifications|Notifications]]
** Currently just a file picker <input type="file" accept="image/*"> which should allow the user to capture a photo from the camera's device. Waiting on back end for gonk ({{bug|708484}})
* [[Gaia/System/Performance|Performance]]
** In future would like to use getUserMedia() from WebRTC to provide a more acceptable user experience (http://dev.w3.org/2011/webrtc/editor/getusermedia.html)
* [[Gaia/System/Sound|Sound]]
** Next:
* [[Gaia/System/StatusBar|Status Bar]]
*** Figure out how to store photos captured with the camera app in the gallery app (Web Intents? Media storage API?)
* [[Gaia/System/SystemOverlays|System Overlays]]
* Music (benfrancis)
* Updates
** Currently just lists ogg files stored in IndexedDB and allows playback using an HTML5 <audio> tag
** [[Gaia/System/Updates/Gonk|Gonk]]
** Next:
** [[Gaia/System/Updates/GeckoGaia|Gecko+Gaia]]
*** Store files as binary blobs in IndexedDB like in the gallery app
** [[Gaia/System/Updates/Apps|Apps]]
*** Discuss MP3 support
* [[Gaia/System/BootScreen|Boot Screen]]
*** Figure out where to store music files on the device going forward (Media Storage API?)
 
*** Work on improving the UI
== Security Reviews ==
* App Manager (justindarc)
* [https://wiki.mozilla.org/Security/B2G/Reviews#Gaia_Reviews Gaia Security Reviews]
* Settings (justindarc)
 
* UI/widget library (justindarc)
==Future==
* Apps store (justindarc)
For 1.3, 1.4 and 1.5, the UX team will focus on a project called Haida: https://wiki.mozilla.org/FirefoxOS/Haida .
* eBook reader
 
Previous items:
* [[Gaia/Calculator|Calculator]]
* [[Gaia/System/DRM|DRM]]
* [[Gaia/eBookReader|eBook Reader]]
* [[Gaia/Design/FlexibleUI|Flexible UI]]
* [[Gaia/Maps|Maps]]
* [[Gaia/System/Microformats|Microformats]]
* [[Gaia/Notes|Notes]]
* [[Gaia/Weather|Weather]]
 
== Subpages of {{FULLPAGENAME}}==
{{Special:PrefixIndex/{{FULLPAGENAME}}/}}

Latest revision as of 16:42, 7 July 2015

Gaia is the collection of web apps which make up the front end of Firefox OS (codenamed Boot to Gecko).

Contributing

Admin

UX Specifications (Wireframes)

Here are some guidelines to finding and using the latest UX specifications, wireframes and mock-ups.

  • The UX team has set Box folders as "Open Access". This allows view access to anyone with a link: You do not need to create or sign into a Box account in order to see UX specs and wireframes. For the time being, we prefer to have these files be view only and, for design consistency, to have the UX team be the sole editors of these files.
  • The UX team also attaches spec files to individual bugs AND includes a link to Box elsewhere in the bug: in the Attachments section or in Comments. The URLs of the Box folder will also be included on spec documents to ensure that anyone who sees only a PDF also knows where to get the latest specs.
  • Please contact Stephany (swilkes@mozilla.com) if you have any issues with access to Box.

Shared Code / Styles

The Gaia apps share/reuse some JS libraries (localization, gesture detection, etc.), localization strings (relative dates), and styles (from the building blocks effort, see above):

Apps

For the latest UX specifications, please visit: https://mozilla.box.com/s/44utizl9oz4eupyu3fuu

System

For the latest UX specifications, please visit: https://mozilla.box.com/s/44utizl9oz4eupyu3fuu

Security Reviews

Future

For 1.3, 1.4 and 1.5, the UX team will focus on a project called Haida: https://wiki.mozilla.org/FirefoxOS/Haida .

Previous items:

Subpages of Gaia