Gaia/New-Architecture-Program/Contacts/FxOS-S7(18 Sep)

From MozillaWiki
Jump to: navigation, search

General info

  • Members
    • Borja Salguero (DEV)
    • Fernando Campo (DEV)
    • Manuel Casas (DEV)
    • Maria Oteo (EPM)
  • Meetings:
    • Daily happening everyday in Mumble at 10:30 CEST
    • Sprint Planning, on Monday (every two weeks)
  • Links of interest:

Sprint objectives

  • Separation in views is also at risk for 2.5 as it seems that the pre-rendering proposal made by Vivien (Bug 1190805) is not going to be landed in System. Platform team have another ideas about how implementing as part of the Pre-rendering (Bug 730101) it but they don't have enough time to do it in 2.5 as they are focused on landing SWs in Desktop and Android. Several proposals are being handled but no decision has been made yet.
    • For the time being, we have been asked to NOT continue landing view separation for settings, list and the overlay.It seems that we have to be ready to not to have the navigation in separated views (possible rollback of #open and #update views in case the pre-rendering is not in time for 2.5 or the white flash while navigating can not be fixed)
    • Content wrapper has also been suggested as a navigation alternative but it won't be the panacea, gecko has problems loading several documents at the same time. We can perform tests to avoid to do everything at the same time (just like prerendering does), but that's not related to sw or prerendering. Besides it implies more work, view separation + content wrapper and there are doubts about the memory consumption:
      • No prerendering support in the platform and mocking it at the app level could imply memory problems. With platform support, we don't prerender anything if we have not enough memory. But we can't emulate that on the app side as we have no idea of the current memory consumption. So we will always be prerendering the next screen no matter what memory we have.
    • Gecko team requested a profiling of the navigation problem (e.g. white flash when moving from a document to another document) so they can be aware of them and try to find an easier fix. Borja and Julien will work on it.
      • Julien has created the bug and has added the profiling info Bug 1199674 , Platform team is looking at it to see if to see why we're slow at changing pages and if a patch could replace the use of the pre-rendering.
    • When Francisco comes back next week from his holidays and Bug 1199674 is investigated, it will be decided what to do.

Bugs for this sprint

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);

Regressions introduced by our work (highest priority)

  • Bug 1191471 - [Contacts] Creating a new contact has no default fields populated. It needs the fix ONLY in NGA branch
  • Bug 1191606 - [Contacts][Import] Contact thumbnails are improperly cropped to the upper left portion of the image on the import screen (Fraancisco) 2.5+ (Resolved)
  • Bug 1192180 - [Contacts]It can't enter contact details page. Feature 2.5+ Regression or better, extra feature. NI to Francisco
  • Bug 1183645 - Performance regression in Contacts
  • Bug 1201419 - [NFC] Unable to share contact via NFC (FerJ) 2.5+ (Resolved)
  • Bug 1201052 - After updating a contact the statusbar turns from blue to grey (Borja) (Resolved)
  • Bug 1202217 - [Contacts]Merge contact B to contact A, but the contact B is also displayed. (Borja) 2.5+ (Resolved)
  • Bug 1200459 - updating a favorite contact removes it from favorites. (Manu) 2.5+
  • Bug 1203063 - [Contacts]custom label of address is displayed as '#TYPE#'(Borja) 2.5+
  • Bug 1196830 - "AssertionError: 9 != 8"

Other bugs to pay attention

other non-blocking bugs related to import functionality

  • Bug 1152237 - [Flame][Message]Device will enter contacts list page when you tap the .vcf (without name and last name) to view. Invalid, the issue will be tracked in Bug 1192180.
  • Bug 1124095 - Incorrect message when receiving contacts via Bluetooth

Bugs we need to revisit when a decision is made about the view separation in Contacts

  • Bug 1191124 - Refactor Contacts to use modern L10n API
  • Bug 1156192 - [NFC] Dialer show shrinking UI when contact (shareable object) running on the background
  • Bug 1190543 - [Contacts] Opening Settings shows all buttons as enabled briefly before then disabling all relevant buttons
  • Bug 1196893 - [Contacts] Navigating to Contact Details flashes blank communications-colored page for too long Resolved, won't fix

Issues found when landing our work but other FxOS teams have to fix

  • Bug 1188350 - When opening a URL with, the title is not set properly. Set as 2.5+
    • Issue found by Borja in system frontend that can be reproduced in master and specially when applying the patch in Bug 1182509 - [Contacts][NGA] Open contacts_matching with
  • Bug 1184953 - [Web Components] Document's element registry is not persisted in the BF Cache
    • Bug ssue detected when working in Bug 1183727 - [Contacts][NGA] Create #update view and connect it to #open within Contacts App
  • Bug 1191288 - Broken UI in Contacts matching screen. RESOLVED WORKSFORME
    • It's due to Bug 1168951 - [User Story] Pin Page, so System FE team should take care of it.
  • Bug 1198522 - Long pressing on an image in edit mode will bring up a menu that does not function.
  • Bug 1202359[Contacts]Tap the check box(small rectangular box) in "Duplicates Found" view for once, actually it performed double taps.
    • It seems similar to the already resolved by Etienne Bug 1190775 - [System] If an activity perform a, the popup will be unresponsive. NI to Etienne for more info.
    • Confirm if it has raised after landing Bug 1182509 - [Contacts][NGA] Open contacts_matching with ni to Etienne if no answer we should ask for the regression window.

Daily meetings

Issues during the sprint

Meeting to analyze the different options for the NGA work (9/9/2015)

  • After some investigation in Bug 1199674, it seems that there are not too many options to fix that issue in 2.5 without Pre-rendering.
  • For that reason, in 2.5 Contacts appplication (at least the official one), we will not land more separated views (so we will not land settings and list views in master).
  • What options do we have now?
    • If Product and UX approve it, we will leave master as it's right (with view and update views separated). For that, they need to analyze if the user experience is good enough with aries and flame device (worse case).
    • If they consider that it's necessary the roll back, we should analyze the commits from that corresponds to Bug 1183727 (Update view) and decide what commits shoud be backed out. Apart of that, we need to decide what we do with our work of separating settings and list views (that it's not landed in master but we have already done in a demo branch)
      • Include it in dev-app.
      • Include it in another different branch
    • In both options, it's necessary to update the branch with the fixes that will go landing in master otherwise it will be very difficult that the already work can be reused
  • Francisco has arranged a meeting today (9/9) with UX and Product team to see what they decide.
  • It's important to stress that if the roll back is decided as soon as we done it the better.
  • In the meantime the NGA Contacts team will analyze the commits to decide what should be the candidates for the back out and also we will update the demo branch with master + settings and list separated views.

Analyzing the candidates commits for the possible backout

Meeting with Product/UX to check Contacts status in master (9/9/2015)

The decision

After visualizing the current effect in master, in both flame an z3c devices, UX, product and enginnering have decided to keep the current version, with the lack of transition between the contact list and the detail view in 2.5 We will need to continue pushing for having pre-render in the platform ASAP. Feature that will be used not just for us but other interesting use cases like search or predictive navigation.

The condition

We will keep the current code after going through an extensive test of current master and checking that we don't introduce a severe number of regressions. Also the integration between contacts and dialer should be checked.

The leftovers

There are still more work on view separation that is ready to launch (settings). But we won't launch it in master, a branch will be prepared with the changes and in a future the work could be retaken.

Meeting to do now rolling back of the separated views in 2.5 (14/9)

  • Some regressions have been detected in master that provokes rebuilds in the contact list when Contacts is in background (see this video to check it )
    • This is due to the use of BFCache that is going to save a lot of memory when the app is going to the background, as it will evict the cached views that we are not using anymore.
  • The options that were proposed:
    • Use the virtual list with the DOM scheduler from Etienne: but there is not enough time to do it in 2.5.
  • Try to free the memory only when there is memory pressure as Vivien just suggested
    • Pros: extra-low engineering workload to implement it.
    • Cons: might not be efficient on devices with extra low memory
  • So the solution for 2.5 will be the rollback of the view separation commits

Steps for the Roll Back of the separated views

  • Confirm if the NGA work that affects to Dialer is also part of the backout
    • Gabrile has confirmed that we can maintain it so the commits to revert are the ones included above
  • Check Francisco's branch ( to test the Contact branch with the roll back already done
    • It seems to be ok and no important regressions have been found but we need to align with QA team to have a look at it.
  • Communicate the decision in the mailing list so everybody is aware of it.
  • Do the revert of the chosen commits in master [Francisco]
  • Create a new branch in /mozilla-b2g ("NGA Contacts" or "Develoment Contacts) with all the commits in master before the revert
  • In the new branch land all the NGA pending work
    • Land 'overlay' [Manu - R+]
    • Land 'list' [Manu - r? Borja]
    • Land 'settings' [FCampo - r? Borja]
  • Choose and inform of the whiteboards that we are to use in bugzilla to differentiate what patches affect to each branch or both two (specially important that QA team are aware of it and agree)
  • Analyze the bugs we have in Contacts, starting with the 2.5+, to see which affects to master or the new branch or both.
    • Bug 1203885 - [Contacts]It always prompts "Imported X contacts. contactsMerged" from a vcard so user don't know how many contacts are merged after importing. Both branches.
    • Bug 1203762 - [Contacts] Images disappear when user enables and disables order by last button inside the contacts list. Both branches (it was happening in 2.2)
    • Bug 1203063 -[Contacts]custom label of address is displayed as '#TYPE#' . [only for NGA Contacts branch]
    • Bug 1202359 - [Contacts]Tap the check box(small rectangular box) in "Duplicates Found" view for once, actually it performed double taps. Both branches
    • Bug 1200459 - updating a favorite contact removes it from favorites. [only for NGA Contacts branch]
    • Bug 1196830 - "AssertionError: 9 != 8". [only for NGA Contacts branch]
    • Bug 1191606 - [Contacts][Import] Contact thumbnails are improperly cropped to the upper left portion of the image on the import screen. Both branches
    • Bug 1191471 - [Contacts] Creating a new contact has no default fields populated. [only for NGA Contacts branch]
    • Bug 1183645 - Performance regression in Contacts
    • Bug 1152475 - [RTL][Contacts] Contacts app will remain in RTL layout when switching to English. [only for NGA Contacts branch]
    • Bug 1144453 - [RTL][Contacts] In contact edit screen the selected date is truncated making it difficult to determine which month is selected
    • Bug 1138259 - [Monitor][Contacts]Some contact doesn't deleted when from dialer to contacts. Both branches.
    • Bug 1115329 - [Contacts]Device fails to import contacts and go back to Home automatically, when you import a large number of contacts from memory card. Both branches as it also happened in older releases.



Actions taken from last sprint

Things that went well

Things that went not that well

Actions for this sprint (apart of the Sprint Objectives)