Gaia/SMS: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Updated etherpad links)
 
(205 intermediate revisions by 12 users not shown)
Line 1: Line 1:
== Development Team ==
You'll be able to find the current team [[Modules/FirefoxOS#Messages|on the Firefox OS modules page]].
The SMS team is part of the larger [[FirefoxOS/Comms|Comms team]].
== Design Specs ==
== Design Specs ==
=== Panels-specific spec ===
==== Conversation View ====
* https://bug1087933.bmoattachments.org/attachment.cgi?id=8533556
==== Report Panel ====
* top part: https://bug1202061.bmoattachments.org/attachment.cgi?id=8661096
=== Versions specific specs ===
For 2.1, 2.2 and 3.0 we had no visual refresh so we have no visual design specifications. The specifications for the Right To Left work are common to all apps and [https://mozilla.app.box.com/s/bcm3s5i2v6js5uk0ws3tsywse8bgncgo can be found on box.com] ([https://bug906270.bugzilla.mozilla.org/attachment.cgi?id=8629248 mirror on bugzilla]).
For 2.0, the Visual Refresh specifications are on [http://bugzil.la/950175 bug 950175].
For 1.4, please visit :
* https://mozilla.app.box.com/shared/yt7hl2leikogcuili7kp/1/1578257617 for the Wappush DSDS spec
* https://mozilla.app.box.com/shared/yt7hl2leikogcuili7kp/1/1425004300 for DSDS UX spec
* https://bugzilla.mozilla.org/show_bug.cgi?id=947139 for the DSDS Messaging Visual Design spec
For 1.3, please visit https://mozilla.app.box.com/shared/0u4jt353ei9ov2c150ip/1/1170795225 (for the generic specs) and https://mozilla.app.box.com/shared/0u4jt353ei9ov2c150ip/1/1206603879 (for DSDS)
The following link contains the specifications for versions 1.0, 1.1 and 1.2:
https://mozilla.box.com/applications/1/864518430.
Mirror for the UX spec for version 1.3: [[File:FFOS_MessageApp_V1.3_20131125_V8.0.pdf]].<br>
Mirror for the UX spec for versions 1.1 and 1.2: [[File:HTML5_SMS-MMSUserStorySpecifications_20130503_V8.0.pdf]]. This spec is still the authoritative one for anything that has not been redesigned.<br>
Mirror for the UX spec for version 1.0: [[File:HTML5 SMS 20121212 R2S1 V8.0.pdf]]
== Source Code ==
The [https://github.com/mozilla-b2g/gaia/tree/master/apps/sms source code can be found in the gaia repository in github].
== IRC ==
You can find us on the IRC server irc.mozilla.org, channels #gaia and #gaia-messaging.


==== Interaction ====
== Code Style Guidelines ==
* [https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style Mozilla's Code Style Guidelines]


* [https://www.dropbox.com/sh/ygwfxk6chpshxdj/84NUe5i6Cv/Apps/SMS Dropbox]
* [https://public.etherpad-mozilla.org/p/sms-code-style-guidelines Ongoing SMS Team specifc Code Style Guidelines]
* [https://www.dropbox.com/s/sm6z4a8374i7eb8/HTML5_SMS-MMSUserStorySpecifications_20130418_V5.0.pdf HTML5_SMS-MMSUserStorySpecifications_20130418_V5.0.pdf]


== Filing bugs ==
You can file bug [https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox%20OS&component=Gaia%3A%3ASMS on Bugzilla]. Please include the Firefox OS version you use, and possibly a screenshot or a video. Any console from logcat is welcome as well, or you could provide your message sqlite from your device by retrieving the following file & directory(if you don't mind the content):
* /data/local/storage/permanent/chrome/idb/226660312ssm.sqlite
* /data/local/storage/permanent/chrome/idb/226660312ssm.files


== Handling bugs ==
<imagemap>
Image:Gaia_SMS_Handling_Bugs_digraph_handling_bugs_dot.svg|right|thumb|200px|[[Gaia/SMS/Handling_Bugs|Sms Bug Handling Flow]]
default [[Gaia/SMS/Handling_Bugs]]
</imagemap>


==== Visual ====
See [[Gaia/SMS/Handling_Bugs]].


* [https://www.dropbox.com/sh/8jkb0osnvfda96e/TkcQuTbhHj Dropbox] (these are currently outdated)
There are 2 goals:
* making the bug move forward thanks to other people until it's actionable.
* not forgetting an important bug


== Use Cases ==
With this flow, we still need to be careful to:
*Tom wants send a text message and selects the SMS app
* assigned bugs without activity
*Tom can send a new message by:
* needinfo that are not answered
**Selecting an existing contact from the Contacts app list
**Entering a phone number
*Tom is notified of all incoming messages whether he's in the SMS app, on the Home Screen, or in a 3rd party app
*Tom also has the ability to send an MMS
**MMS supports photos and short videos
*Tom has the ability to search through his history of SMS sent/received
*Tom has the ability to delete specific SMS threads
*More user stories related to MMS in [https://bugzilla.mozilla.org/show_bug.cgi?id=842229 Bugzilla meta bug]


== Requirements ==
Indeed these bugs could still be forgotten if they don't move.
;Gaia v1
*User has the ability to send/receive text messages
*User has the ability to send a new SMS:
**Enters a name based on available phone numbers in the Contacts app list
**Enters a phone number
*All text messages sent/received are threaded and displayed in a conversation-like view
*In the messages list view, timestamps are shown based on date of last received/sent messages
**'Today' and 'Yesterday' are used for recent message threads
*User has the ability to search through all messages sent/received
*User has the ability to delete specific message threads


;Gaia v2
== Project Management ==
*User has the ability to forward an individual or group of text messages to another recipient
We try to follow the Scrum methodology. Please have a look to the [[Gaia/SMS/Scrum|SMS Scrum Page]] for more information.
*User has the ability to send MMS messages
**MMS messages support photos and short videos


== Implementation Plan ( established April 18th, 2013) ==
== Some future development ==
* Milestone 1 - Completed by 4/26/2013
=== Using datastores for SMS ===
** SMIL, Multi-recipient, New layout and Gaia's pick activity
* [https://public.etherpad-mozilla.org/p/messages-datastore Etherpad]
* Milestone 2 - Completed by 5/10/2013
** Message composition with attachments, new text-display layout, open/save attachments
* Milestone 3 - Completed by 5/17/2013
** New thread layout, settings UI for automatic content download options
* Milestone 4/Final - Completed by 5/24/2013
** MMS Share activity (for other apps to send media to MMS), Notification of MMS


== Implementation Details: ==
=== Haida and Sheets ===
* [https://public.etherpad-mozilla.org/p/sms-haida Etherpad]


===Milestone 1 (4/26/13)===
=== Feature backlog ===
* SMIL almost done (Steve) {{bug|845173}}
* [https://public.etherpad-mozilla.org/p/sms-feature-backlog Etherpad]
* Multi-recipient (Borja) {{bug|837994}}
* New layout (Borja) almost done {{bug|860680}}
* Activities (pick) (Dominic) almost done {{bug|849766}} {{bug|849768}}


===Milestone 2 (5/10/13)===
=== New Gaia architecture ===
* Code to review by 4/26/13
* [https://wiki.mozilla.org/Gaia/Architecture_Proposal New Gaia Architecture Proposal]
* Composer (Bocoup)
* [https://github.com/gaia-components/threads Bridge library repo]
** {{bug|840035}}
** {{bug|840040}}
*** Need to verify this still works from SMS implementation
** {{bug|840047}}
*** Partly handled by https://github.com/danheberden/gaia/commits/840069_message_preview
*** UX wireframes mention tapping the attachment and options appearing; verifying this currently
** {{bug|840069}}
*** https://github.com/danheberden/gaia/commits/840069_message_preview
* New layout (bubble) - (Steve and Borja)
** {{bug|840051}}
** {{bug|840053}}
** {{bug|840054}}
** {{bug|840055}}
* Attach from activity - need this first (Bocoup)
** Requires {{bug|849766}} {{bug|849768}} to be done first
* Viewer (Steve) - display
*** Corey (gnarf) has code for this written and is implementing that with Steve's SMIL code/message-display stuff
** {{bug|840056}}
** {{bug|840057}}
** {{bug|840059}}
** {{bug|840085}}
* Save from viewer (Steve) - some discussion with Dominic
** {{bug|840065}}


===Milestone 3 (5/17/13)===
== The Gecko API for Mobile Messaging ==
* New layout (thread list) - (Steve and Borja)
The SMS application uses several API from Gecko. Especially it uses the API for Mobile Messaging, which allows to send and receive SMS and MMS.
* Settings UI (Bocoup)
** {{bug|840076}}


===Milestone 4 (5/24/13)===
On this wiki, several pages show the design behind the API: [[WebAPI/WebSMS]] and [[WebAPI/WebMMS]]. They're probably somewhat obsolete noawadays but they will provide useful information about some design.
* MMS "share" activity - is this part of the MVP but it's a P1 on the list
** {{bug|840075}}
* Notification of MMS (Steve has a patch)
** {{bug|840049}}
** {{bug|840090}}
** {{bug|840087}}
** {{bug|840050}}


===User Stories (Taipei)===
[https://developer.mozilla.org/en-US/docs/WebAPI/WebSMS/Introduction_to_Mobile_Message_API MDN has also a good documentation] about this API. It's also lagging a bit but is more uptodate.
* {{bug|840048}}
* {{bug|840061}}
* {{bug|840063}}
* {{bug|840066}}


== Meeting minutes ==
Finally, the most current information is given by the [http://dxr.mozilla.org/mozilla-central/source/dom/mobilemessage/interfaces IDL files in the gecko tree] (and [http://dxr.mozilla.org/mozilla-central/source/dom/webidl/MobileMessageManager.webidl some part is in a separate place]).
* [https://etherpad.mozilla.org/SeUu340ZGQ MMS meeting (March 15, 2013)]
* [https://etherpad.mozilla.org/MMS-v1-1 Taipei office weekly MMS meeting]


== Development ==
== Security Review ==
[https://github.com/mozilla-b2g/gaia/tree/master/apps/sms Source code on Github]
The security review for this app can be found [https://wiki.mozilla.org/Security/Reviews/Gaia/sms here].

Latest revision as of 08:16, 8 October 2015

Development Team

You'll be able to find the current team on the Firefox OS modules page.

The SMS team is part of the larger Comms team.

Design Specs

Panels-specific spec

Conversation View

Report Panel

Versions specific specs

For 2.1, 2.2 and 3.0 we had no visual refresh so we have no visual design specifications. The specifications for the Right To Left work are common to all apps and can be found on box.com (mirror on bugzilla).

For 2.0, the Visual Refresh specifications are on bug 950175.

For 1.4, please visit :

For 1.3, please visit https://mozilla.app.box.com/shared/0u4jt353ei9ov2c150ip/1/1170795225 (for the generic specs) and https://mozilla.app.box.com/shared/0u4jt353ei9ov2c150ip/1/1206603879 (for DSDS)

The following link contains the specifications for versions 1.0, 1.1 and 1.2: https://mozilla.box.com/applications/1/864518430.

Mirror for the UX spec for version 1.3: File:FFOS MessageApp V1.3 20131125 V8.0.pdf.
Mirror for the UX spec for versions 1.1 and 1.2: File:HTML5 SMS-MMSUserStorySpecifications 20130503 V8.0.pdf. This spec is still the authoritative one for anything that has not been redesigned.
Mirror for the UX spec for version 1.0: File:HTML5 SMS 20121212 R2S1 V8.0.pdf

Source Code

The source code can be found in the gaia repository in github.

IRC

You can find us on the IRC server irc.mozilla.org, channels #gaia and #gaia-messaging.

Code Style Guidelines

Filing bugs

You can file bug on Bugzilla. Please include the Firefox OS version you use, and possibly a screenshot or a video. Any console from logcat is welcome as well, or you could provide your message sqlite from your device by retrieving the following file & directory(if you don't mind the content):

  • /data/local/storage/permanent/chrome/idb/226660312ssm.sqlite
  • /data/local/storage/permanent/chrome/idb/226660312ssm.files

Handling bugs

See Gaia/SMS/Handling_Bugs.

There are 2 goals:

  • making the bug move forward thanks to other people until it's actionable.
  • not forgetting an important bug

With this flow, we still need to be careful to:

  • assigned bugs without activity
  • needinfo that are not answered

Indeed these bugs could still be forgotten if they don't move.

Project Management

We try to follow the Scrum methodology. Please have a look to the SMS Scrum Page for more information.

Some future development

Using datastores for SMS

Haida and Sheets

Feature backlog

New Gaia architecture

The Gecko API for Mobile Messaging

The SMS application uses several API from Gecko. Especially it uses the API for Mobile Messaging, which allows to send and receive SMS and MMS.

On this wiki, several pages show the design behind the API: WebAPI/WebSMS and WebAPI/WebMMS. They're probably somewhat obsolete noawadays but they will provide useful information about some design.

MDN has also a good documentation about this API. It's also lagging a bit but is more uptodate.

Finally, the most current information is given by the IDL files in the gecko tree (and some part is in a separate place).

Security Review

The security review for this app can be found here.