Closed Bug 935045 Opened 8 years ago Closed 7 years ago

Allow the user to enter birth date in contact add and contact edit

Categories

(Firefox OS Graveyard :: Gaia::Contacts, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(tracking-b2g:backlog, b2g-master verified)

VERIFIED FIXED
1.4 S3 (14mar)
tracking-b2g backlog
Tracking Status
b2g-master --- verified

People

(Reporter: jmcf, Assigned: jmcf)

References

Details

Attachments

(2 files, 1 obsolete file)

This bug is for allowing the user to enter her contacts birth date and to edit it. Also it includes supporting local dates and FB dates when contacts are linked to FB friends.
Blocks: 935034
No longer blocks: 935034
See Also: → 935034
blocking-b2g: --- → 1.3?
move to 1.4? discussion
blocking-b2g: 1.3? → 1.4?
Depends on: 973648
Depends on: 962399
No longer depends on: 962399
Attached file 16400.html (obsolete) —
functionality developed. Now working on some unit tests.

@Ayman, Please could you have a look at the interaction part?

thanks!
Attachment #8377603 - Flags: review?(francisco.jordano)
Attachment #8377603 - Flags: feedback?(aymanmaat)
unit tests now ready to be reviewed
Comment on attachment 8377603 [details]
16400.html

Hey Jose

I have tested this now I would say a couple of tweaks and its there. I would say that points 1, 2 and 3 are a must, and point 4 is a nice to have:

1) missing year

1.1) open contacts app
1.2) select add contact CTA
1.3) select birthday
1.4) select date
1.5) select ok

expected

day month year displayed

actual

only day and month displayed
rational: we should also display the year is the user can select it from the picker


2) cannot add a contact with only date

2.1) open contacts app
2.2) select add contact CTA
2.3) select birthday
2.4) select date
2.5) select ok

expected
‘Done’ CTA is active

actual 
‘Done’ CTA is inactive
rational: we designed the add contact form so that the user can add any piece of data independently into it and create a contact. We should continue this design philosophy and allow the user to add a contact that has just a birthday associated to it.


3) information hierarchy 

I would advise that Birthday is quite a low priority piece of information and hypothesise that is will be lower in usage. I therefore would therefore suggest that it is presented below the physical address field but above the comments field in both the Contact Detail Card view and Contact Edit view.


4) Flexibility of use  

In order to facilitate the flexibility of usage if the date field I am wondering if we should not extend it to cater for other possible dates the user wishes to add. For example:

   - birthday
   - anneversary
   - other (free text field)

We could follow a similar pattern to what we do with the email address interaction design.
We should certainly do this, whether now or in a future release. What do you think? If you want I can knock up a couple of wireframes for you.  ni? to Jose
Attachment #8377603 - Flags: feedback?(aymanmaat) → feedback-
Flags: needinfo?(jmcf)
Comment on attachment 8377603 [details]
16400.html

cancelling review as we are going to implement UX comments
Attachment #8377603 - Flags: review?(francisco.jordano)
Flags: needinfo?(jmcf)
(In reply to ayman maat :maat from comment #4)
> Comment on attachment 8377603 [details]
> 16400.html
> 
> Hey Jose
> 
> I have tested this now I would say a couple of tweaks and its there. I would
> say that points 1, 2 and 3 are a must, and point 4 is a nice to have:
> 
> 1) missing year
> 
> 1.1) open contacts app
> 1.2) select add contact CTA
> 1.3) select birthday
> 1.4) select date
> 1.5) select ok
> 
> expected
> 
> day month year displayed
> 
> actual
> 
> only day and month displayed
> rational: we should also display the year is the user can select it from the
> picker
>

As we discussed via chat, It is very common that you know the birth day and month of a person but not the exact year. What we need to do is to have a picker that allows to select day and month and not to display year. Gonna file a bug to deal with that.  

> 
> 2) cannot add a contact with only date
> 
> 2.1) open contacts app
> 2.2) select add contact CTA
> 2.3) select birthday
> 2.4) select date
> 2.5) select ok
> 
> expected
> ‘Done’ CTA is active
> 
> actual 
> ‘Done’ CTA is inactive
> rational: we designed the add contact form so that the user can add any
> piece of data independently into it and create a contact. We should continue
> this design philosophy and allow the user to add a contact that has just a
> birthday associated to it.

ok

> 
> 
> 3) information hierarchy 
> 
> I would advise that Birthday is quite a low priority piece of information
> and hypothesise that is will be lower in usage. I therefore would therefore
> suggest that it is presented below the physical address field but above the
> comments field in both the Contact Detail Card view and Contact Edit view.
> 

ok

> 
> 4) Flexibility of use  
> 
> In order to facilitate the flexibility of usage if the date field I am
> wondering if we should not extend it to cater for other possible dates the
> user wishes to add. For example:
> 
>    - birthday
>    - anneversary
>    - other (free text field)

current API provides support for bday and anniversary but there is no room for other dates 

> 
> We could follow a similar pattern to what we do with the email address
> interaction design.
> We should certainly do this, whether now or in a future release. What do you
> think? If you want I can knock up a couple of wireframes for you.  ni? to

We can target it as this does not have the 1.4 pressure now. The wireframes would be great. 

> Jose
Depends on: 974341
triage: add this to backlog
blocking-b2g: 1.4? → backlog
Hey Jose

Please find attached the wireframes for this bug. As discussed to facilitate flexibly of use for the end user this birthday functionality should be extended more to both incorporate other date types and also multiple instances of dates that a user might want to associate with the contact. The wireframes illustrate solution I would be looking for from a UX perspective, as discussed please implement what you can and open bugs for the functionality that cannot be implemented at the moment so that we can track work towards this solution. 

ni? me if you need any further clarification
Attached file 16659.html
Attachment #8377603 - Attachment is obsolete: true
Attachment #8383598 - Flags: review?(francisco.jordano)
Comment on attachment 8383598 [details]
16659.html

Left some comments in the code.
Mostly code organization, when trying on the phone working pretty cool.
Let's get a second round there!

Thanks JMC.
Attachment #8383598 - Flags: review?(francisco.jordano)
Comment on attachment 8383598 [details]
16659.html

a new review round ready

thanks!
Attachment #8383598 - Flags: review?(francisco.jordano)
Comment on attachment 8383598 [details]
16659.html

Nice, tried on the phone and working perfectly.

Please merge once travis is green.
Attachment #8383598 - Flags: review?(francisco.jordano) → review+
Flags: in-testsuite+
landed in master 

https://github.com/mozilla-b2g/gaia/commit/3b84e007c352f0afbe9d79ae21badbbf05984654
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Keywords: verifyme
Target Milestone: --- → 1.4 S3 (14mar)
Duplicate of this bug: 837911
Blocks: 987966
This issue has verified successfully on Flame 3.0.
Reproduce rate:0/5

 Precondition:
 1. There is a Facebook contact in Contacts App.
 2. There are two local contacts(A and B) in Contacts App.
 STR:
 1. Launch Contacts.
 2. Update the birth date of A.
 **The information can be updated succesfully. 
 3. Link the facebook contact to B.
 4. Upate the birth date of B.
 **The information can be updated succesfully.
Attachment:Verify_Flame3.0.MP4
 
Flame 3.0 build:

Gaia-Rev        9d2378a9ef092ab1fc15c3a9f7fc4171aab59d57
Gecko-Rev       https://hg.mozilla.org/mozilla-central/rev/6bfc0e1c4b29
Build-ID        20150129010239
Version         38.0a1
Device-Name     flame
FW-Release      4.4.2
FW-Incremental  eng.cltbld.20150129.043711
FW-Date         Thu Jan 29 04:37:21 EST 2015
Bootloader      L1TC000118D0
Status: RESOLVED → VERIFIED
Keywords: verifyme
QA Whiteboard: [MGSEI-Triage+]
blocking-b2g: backlog → ---
You need to log in before you can comment on or make changes to this bug.