Firefox OS/Comms/Dialer
The dialer is a component of Gaia, which in turn is the front-end for Firefox OS. The dialer comprises all of the front-end code for making and receiving calls, including the callscreen, which is a separate app. The dialer team is organized under the umbrella of the communications apps team.
In addition, the dialer team is responsible for emergency calling, CDMA, USSD/MMI, DTMF tones, integration with other communications apps, and dealing with partner requirements.
Meetings/Team Communication
IRC
We mostly use IRC. We're available on #fxos-dialer, and #fxos-comms.
Daily Standup Meetings
The daily standup meeting is composed of two parts: the first is async, and happens sometime before the sync meeting. Full-time dialer team members should write the progress that they've made in the last day on the dialer scrum Etherpad. Part-time members and observers can optionally do the same. Additional instructions on what to write are in that section itself.
The second part of the meeting is sync, and happens over IRC at 2:30 pm GMT (10:30 am EST, 4:30 pm CEST) in the #fxos-dialer IRC channel. Here, participants should only discuss major things, blocking issues, and questions that they have for others. The goal is to keep this meeting 10 minutes long or less.
Comms Apps Meetings
Dialer team members participate in the thrice-weekly comms apps meetings and give updates here. There are no established rules for this, but typically only European members participate, due to timezone differences. These meetings are expected to be killed off soon.
Sprints
Past Sprints
- Sprint v2.0-S6, Jul 7 - Jul 21
- Sprint v2.1-S1, Jul 22 - Aug 4
- Sprint 1, Jun 23 - Jul 4
- Different naming system; this was the first sprint that we documented. It is now retroactively named v2.0-S5.
Sprint Planning
Sprint planning happens every 2 weeks on Mondays, at 1:30 pm GMT (9:30 am EST, 3:30 pm CEST) in Joe Cheng's Vidyo room.
Retrospective
We begin sprint planning with a retrospective. This is the place where we change things. Everybody must think ahead of time about what was good and bad during the last sprint. This could be anything, and can be entirely opinion. Participants should also think of any questions that they have.
During the meeting, everybody dumps their thoughts on the sprint planning retrospective Etherpad, and then we take some time to review them. Ideally, all bad things and questions end up having action items.
Estimates
We have 25 points of velocity every sprint based on 8 team members; 2 part-time. We make estimates as to how long features will take to complete in days, but we don't estimate bugs (or we assume they're 1 point).
Between 50% and 75% (depending on the moment in the release cycle) of the velocity is used for blockers. The rest of the velocity is kept for new blockers appearing during the sprint.
We take the list of bugs in the order of priority, and estimate them together. Estimates are identified by:
[planned-sprint c=X]
tag, where X is the estimated number of days, or "cost".
Priorities
Currently, the rough priority order is: 1.3T+ > 1.4+ > 2.0+ > 2.1+ > features > nice-to-have >= dialer-most-wanted. We can have a look at the nominations (2.1?, etc) too. nice-to-have are provided by the EPM, whereas dialer-most-wanted are decided internally within the dialer team.
Assigning
When we reach the available velocity, we stop. We try to take some tech debt bugs or long term projects (at least 1 per sprint would be nice), identified by blocking the dialer-most-wanted bug, bug 1036516.
Whiteboard Tags
- [planned-sprint] - Indicates that we planned to take this at the beginning of a sprint.
- [in-sprint=vXXX] - (e.g. [in-sprint=v2.0-S5]) Indicates that we took this in a previous sprint and had to push it to a later one.
During Sprint
Demos
Features/bug fixes with any user visibility should be demonstrated by providing a before and after screenshot, or a video. These should be added as they are completed to the current sprint's "Demos" section. We recommend not waiting until the end of the sprint since it's easier to make these while you're on that feature branch and remember everything.
We also welcome adding demos for changes that aren't visible to the end user. You can choose how you want to present these. Do whatever makes you happy!
Taking more bugs
Bugs inevitably come up during the sprint, so we take them and don't apply the [planned-sprint] tag to the whiteboard. We try to keep enough velocity available to accomodate these. Ideally, and if we plan correctly, our velocity will always be the same (see the current target velocity) by the end of the sprint. We don't estimate these bugs, but we will discuss them in the next retrospective if they were features that we were unexpectedly able to take.
Current Sprint
FirefoxOS/Comms/Dialer/Sprint/v2.1-S2
Status
- 41,37,35,34,31,31,29,26,25,0
Bugs Taken in Planning
ID | Assigned to | Summary | Blocking b2g | Feature-b2g | Whiteboard | Status | Resolution |
---|---|---|---|---|---|---|---|
982163 | Doug Sherk (:drs) (inactive) | Remove SimSettingsHelper.getCardIndexFrom shim in CallHandler.call() | 2.0M+ | No cf_feature-b2g | [planned-sprint] | RESOLVED | FIXED |
991573 | David Garcia [:davidg][retired] | Change success message for Call Barring and Call Waiting interrogation through MMI | --- | No cf_feature-b2g | [planned-sprint] | VERIFIED | FIXED |
1039643 | Tamara Hills [:thills] | Write some unit tests for shared/js/dialer/contacts.js | --- | No cf_feature-b2g | [planned-sprint c=][in-sprint=v2.1-S1] | RESOLVED | FIXED |
1043133 | Jorge Prudencio [:jorgep] | [Dialer] Call with new taller hang up button | --- | No cf_feature-b2g | [planned-sprint c=1][good first bug] | RESOLVED | INVALID |
1045515 | David Garcia [:davidg][retired] | Always highlight missed calls in call log | --- | No cf_feature-b2g | [planned-sprint c=1] | RESOLVED | FIXED |
1047351 | Anthony Ricaud (:rik) | Insert call durations in the call log database | --- | No cf_feature-b2g | [planned-sprint c=3] | RESOLVED | FIXED |
1047642 | Device stuck in the dialer screen | --- | No cf_feature-b2g | [caf priority: p3][CR 703272][planned-sprint] | RESOLVED | WORKSFORME | |
1048285 | [Dialer][Call Waiting][Rocketbar] Wrong rocket bar height when trying to establish a second call | --- | No cf_feature-b2g | [planned-sprint] | RESOLVED | DUPLICATE | |
1050196 | Germán Toro del Valle (:gtorodelvalle) | [Dialer] Follow up of bug 1024506 - Place new call button momentarily enabled while establishing a second call | --- | No cf_feature-b2g | [planned-sprint c=1] | RESOLVED | FIXED |
9 Total; 0 Open (0%); 8 Resolved (88.89%); 1 Verified (11.11%);
- Does not include Bugs Taken but not Completed.
Bugs Taken but not Completed
ID | Assigned to | Summary | Blocking b2g | Feature-b2g | Whiteboard | Status | Resolution |
---|---|---|---|---|---|---|---|
1026692 | Tamara Hills [:thills] | Access to mute button | --- | No cf_feature-b2g | [tako][planned-sprint c=6][2.1-feature-qa+][in-sprint=v2.1-S2] | VERIFIED | FIXED |
1038701 | Doug Sherk (:drs) (inactive) | [US] Support for ICE Contacts in Lockscreen/Emergency call | --- | No cf_feature-b2g | [planned-sprint c=3][in-sprint=v2.1-S2] | VERIFIED | FIXED |
1045499 | Doug Sherk (:drs) (inactive) | Switch call log to a 2-line layout | --- | No cf_feature-b2g | [planned-sprint c=3][in-sprint=v2.1-S2] | RESOLVED | FIXED |
1047353 | Anthony Ricaud (:rik) | Create a call information page for call log | --- | No cf_feature-b2g | [planned-sprint c=6][in-sprint=v2.1-S2] | RESOLVED | FIXED |
1047356 | Anthony Ricaud (:rik) | Modify the call log user interface to link to the call information page | --- | No cf_feature-b2g | [planned-sprint c=][in-sprint=v2.1-S2] | RESOLVED | FIXED |
5 Total; 0 Open (0%); 3 Resolved (60%); 2 Verified (40%);
Bugs Taken During Sprint
ID | Assigned to | Summary | Blocking b2g | Feature-b2g | Whiteboard | Status | Resolution |
---|---|---|---|---|---|---|---|
1030430 | Yura Zenevich [:yzen] (please use "needinfo") | Call log items should be listbox options | --- | No cf_feature-b2g | [b2ga11y p=1] | RESOLVED | FIXED |
1030431 | Yura Zenevich [:yzen] (please use "needinfo") | When in incoming call screen the SR can land on select audio channel element that should be invisible. | --- | No cf_feature-b2g | [b2ga11y p=1][good first bug] | RESOLVED | FIXED |
1030434 | Yura Zenevich [:yzen] (please use "needinfo") | Add a proper description for the call screen dialog. | --- | No cf_feature-b2g | [b2ga11y p=1] | RESOLVED | FIXED |
1047275 | Tzu-Lin Huang [:dwi2][:tzhuang] | Test ellipsis side on RTL pages for FontSizeManager | --- | No cf_feature-b2g | RESOLVED | FIXED | |
1050144 | Jorge Prudencio [:jorgep] | [Dialer] "Call ended" text not vertically centred | --- | No cf_feature-b2g | RESOLVED | FIXED | |
1050390 | Yura Zenevich [:yzen] (please use "needinfo") | Fix visibility issues around hidden elements within the callscreen dialog. | --- | No cf_feature-b2g | RESOLVED | FIXED | |
1051841 | Gabriele Svelto [:gsvelto] | [dolphin] There's no title (sim index and operator name) on USSD message received | --- | No cf_feature-b2g | RESOLVED | FIXED | |
1052370 | Jorge Prudencio [:jorgep] | [Dialer][Emergency call] Duplicate phone number when typing number | --- | No cf_feature-b2g | RESOLVED | FIXED |
8 Total; 0 Open (0%); 8 Resolved (100%); 0 Verified (0%);
All Issues for this Sprint
ID | Assigned to | Summary | Blocking b2g | Feature b2g | Whiteboard | Status | Resolution |
---|---|---|---|---|---|---|---|
982163 | Doug Sherk (:drs) (inactive) | Remove SimSettingsHelper.getCardIndexFrom shim in CallHandler.call() | 2.0M+ | --- | [planned-sprint] | RESOLVED | FIXED |
991573 | David Garcia [:davidg][retired] | Change success message for Call Barring and Call Waiting interrogation through MMI | --- | --- | [planned-sprint] | VERIFIED | FIXED |
1030430 | Yura Zenevich [:yzen] (please use "needinfo") | Call log items should be listbox options | --- | --- | [b2ga11y p=1] | RESOLVED | FIXED |
1030431 | Yura Zenevich [:yzen] (please use "needinfo") | When in incoming call screen the SR can land on select audio channel element that should be invisible. | --- | --- | [b2ga11y p=1][good first bug] | RESOLVED | FIXED |
1030434 | Yura Zenevich [:yzen] (please use "needinfo") | Add a proper description for the call screen dialog. | --- | --- | [b2ga11y p=1] | RESOLVED | FIXED |
1039643 | Tamara Hills [:thills] | Write some unit tests for shared/js/dialer/contacts.js | --- | --- | [planned-sprint c=][in-sprint=v2.1-S1] | RESOLVED | FIXED |
1043133 | Jorge Prudencio [:jorgep] | [Dialer] Call with new taller hang up button | --- | 2.1 | [planned-sprint c=1][good first bug] | RESOLVED | INVALID |
1045515 | David Garcia [:davidg][retired] | Always highlight missed calls in call log | --- | --- | [planned-sprint c=1] | RESOLVED | FIXED |
1047275 | Tzu-Lin Huang [:dwi2][:tzhuang] | Test ellipsis side on RTL pages for FontSizeManager | --- | --- | RESOLVED | FIXED | |
1047351 | Anthony Ricaud (:rik) | Insert call durations in the call log database | --- | 2.1 | [planned-sprint c=3] | RESOLVED | FIXED |
1047642 | Device stuck in the dialer screen | --- | --- | [caf priority: p3][CR 703272][planned-sprint] | RESOLVED | WORKSFORME | |
1048285 | [Dialer][Call Waiting][Rocketbar] Wrong rocket bar height when trying to establish a second call | --- | --- | [planned-sprint] | RESOLVED | DUPLICATE | |
1050144 | Jorge Prudencio [:jorgep] | [Dialer] "Call ended" text not vertically centred | --- | --- | RESOLVED | FIXED | |
1050196 | Germán Toro del Valle (:gtorodelvalle) | [Dialer] Follow up of bug 1024506 - Place new call button momentarily enabled while establishing a second call | --- | --- | [planned-sprint c=1] | RESOLVED | FIXED |
1050390 | Yura Zenevich [:yzen] (please use "needinfo") | Fix visibility issues around hidden elements within the callscreen dialog. | --- | --- | RESOLVED | FIXED | |
1051841 | Gabriele Svelto [:gsvelto] | [dolphin] There's no title (sim index and operator name) on USSD message received | --- | --- | RESOLVED | FIXED | |
1052370 | Jorge Prudencio [:jorgep] | [Dialer][Emergency call] Duplicate phone number when typing number | --- | --- | RESOLVED | FIXED |
17 Total; 0 Open (0%); 16 Resolved (94.12%); 1 Verified (5.88%);
- Does not include Bugs Taken but not Completed.
Bugs Redirected
ID | Assigned to | Summary | Blocking b2g | Feature b2g | Whiteboard | Status | Resolution |
---|---|---|---|---|---|---|---|
982163 | Doug Sherk (:drs) (inactive) | Remove SimSettingsHelper.getCardIndexFrom shim in CallHandler.call() | 2.0M+ | --- | [planned-sprint] | RESOLVED | FIXED |
991573 | David Garcia [:davidg][retired] | Change success message for Call Barring and Call Waiting interrogation through MMI | --- | --- | [planned-sprint] | VERIFIED | FIXED |
1039643 | Tamara Hills [:thills] | Write some unit tests for shared/js/dialer/contacts.js | --- | --- | [planned-sprint c=][in-sprint=v2.1-S1] | RESOLVED | FIXED |
1043133 | Jorge Prudencio [:jorgep] | [Dialer] Call with new taller hang up button | --- | 2.1 | [planned-sprint c=1][good first bug] | RESOLVED | INVALID |
1045515 | David Garcia [:davidg][retired] | Always highlight missed calls in call log | --- | --- | [planned-sprint c=1] | RESOLVED | FIXED |
1047351 | Anthony Ricaud (:rik) | Insert call durations in the call log database | --- | 2.1 | [planned-sprint c=3] | RESOLVED | FIXED |
1047642 | Device stuck in the dialer screen | --- | --- | [caf priority: p3][CR 703272][planned-sprint] | RESOLVED | WORKSFORME | |
1048285 | [Dialer][Call Waiting][Rocketbar] Wrong rocket bar height when trying to establish a second call | --- | --- | [planned-sprint] | RESOLVED | DUPLICATE | |
1050196 | Germán Toro del Valle (:gtorodelvalle) | [Dialer] Follow up of bug 1024506 - Place new call button momentarily enabled while establishing a second call | --- | --- | [planned-sprint c=1] | RESOLVED | FIXED |
9 Total; 0 Open (0%); 8 Resolved (88.89%); 1 Verified (11.11%);
Bugs
Blockers
- Bugzilla query
- Note that these are each prioritized by EPM, not internally within the dialer team.
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Blockers Without an Assignee
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Features
- Bugzilla query
- Note that these are each prioritized by EPM, not internally within the dialer team.
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Nice-to-have
- Bugzilla query
- Note that these are each prioritized by EPM, not internally within the dialer team.
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Dialer-most-wanted
No results.
0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);
Reference Materials
API/Programming Documentation
Actual code documentation should go on the Mozilla Developer Network. Currently, the documentation is very shallow. Please consider contributing to it!
Feature/Subcomponent Documentation
- Call screen states
- DSDS/DSDA
- USSD/MMI
- CDMA
- DTMF Tones
- WAP Push (not actually really dialer)
UX Specifications
v2.1
v2.0
v1.4
- Dialer: https://mozilla.app.box.com/s/44utizl9oz4eupyu3fuu/1/1464669995
- DSDS: https://mozilla.app.box.com/s/44utizl9oz4eupyu3fuu/1/1425004300
v1.3
- Dialer: https://mozilla.app.box.com/s/44utizl9oz4eupyu3fuu/1/1260971310
- DSDS: https://mozilla.app.box.com/s/44utizl9oz4eupyu3fuu/1/1206603879
Development
Team
Manager
- David "scravag" Scravaglieri - Senior Engineering Manager, Communications
Developers
- Anthony "Rik" Ricaud - Core Developer and Module Peer, Mozilla
- Doug "drs" Sherk - Core Developer, Mozilla
- Tamara "thills" Hills - Core Developer, Mozilla
- Etienne "etienne_s" Segonzac - Developer and Module Owner, Mozilla
- Gabriele "gsvelto" Svelto - Developer, Mozilla
- Germán "gtorodelvalle" Toro del Valle - Developer, Telefonica
- Paco "paco" Rampas - Developer, Telefonica
- David "davidg" Garcia - Developer, Telefonica
User Experience
- Carrie "CarrieW" Wang - UX Designer, Mozilla
Visual Design
- Carol Huang - Visual Designer, Mozilla
Long-Term Project Ideas
- bug 1039131 - Improve stylesheet docs, simplicity, and organization.
- bug 1039130 - Use StyleDocco documentation generator for stylesheets.
- bug 1042576 Move call log to a DataStore.
- This will help memory consumption by not opening the Dialer app after a call.
- General redesign and refactors (a la Haidification).
- Better support for testing emergency calls without accidentally placing them.
- Moving more towards using HTML template fragments for more realistic testing.
- Clean up keypad and DMTF tones code (blocked partially on platform WebAudio work)
- Clean up USSD/MMI code, add multi-SIM support.
- Have a platform for automated integration tests (mulet? emulator? something else?)
- Testing CDMA in regions that don't use it, perhaps using the emulator.
- Improve emulator use and documentation.
- Separate communications apps into different apps.
- Improve Kanban and our dashboard tools.
bug 1035153 - Prototype dialer without tab bar.- We should work on this more and bring it to production based on Carrie's feedback.
bug 1039594 - Use FontSizeUtils in shared instead of our own FontSizeManager
Ideas for Improvement
- Do video demos of important new features.
- Discuss vision for the future of the dialer, including the app itself, the team organization, and how we work.
- Improve communication with VD and UX, e.g. set up progress-based meetings.
- Improve the way we split up bugs and use metabugs to make things easier for UX and VD people.
- Integrate Kanban more into our workflow.
- Get more contributors engaged.