Closed
Bug 1069286
Opened 10 years ago
Closed 10 years ago
No tactile feedback when dialling a number
Categories
(Firefox OS Graveyard :: Gaia::Dialer, defect)
Firefox OS Graveyard
Gaia::Dialer
Tracking
(tracking-b2g:backlog, b2g-v2.1 fixed, b2g-v2.2 fixed)
People
(Reporter: olof.wickstrom, Assigned: rik)
References
Details
(Whiteboard: [planned-sprint] [Tako_Blocker])
Attachments
(3 files, 1 obsolete file)
(deleted),
text/x-github-pull-request
|
drs
:
review+
gweng
:
review+
cawang
:
ui-review+
bajaj
:
approval-gaia-v2.1+
|
Details |
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0
Build ID: 20140911151253
Steps to reproduce:
There should be a vibration in addition to the sound when user taps number keys in telephony application
MUT HW: FLAME
MUT SW: Boot2Gecko2.2.0.0-prerelease Buildidentifier: 20140905040204
(MUT = Mobile Under Test)
Actual results:
Vibrating touch feedback missing when dialing a number.
Reporter | ||
Updated•10 years ago
|
Flags: needinfo?(firefoxos-ux-bugzilla)
What's the UX point of view on that behavior?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Updated•10 years ago
|
Flags: needinfo?(firefoxos-ux-bugzilla) → needinfo?(cawang)
Comment 2•10 years ago
|
||
Hi,
Currently we have two vibrate switches on our system, one is in keyboard settings (vibrate when typing) and the other is in Sound settings (vibrate with ringtone). I think both of them can't be linked to the tactile feedback when touching the screen. On android, other than these two options, they provide a "vibrate on touch" which is related to the touch feedback on pressing buttons and the dialerpad is included in it. I'd suggest to adopt this solution, but we may need to add a switch in Settings (I'd say, in Sound menu). ni? Wilfred for feature proposal and Jenny for Settings UX. Thanks!
Flags: needinfo?(wmathanaraj)
Flags: needinfo?(jelee)
Flags: needinfo?(cawang)
Assignee | ||
Comment 3•10 years ago
|
||
Can't we use the keyboard setting? It is already used for the keypad for SIM unlock screen so that would make sense to me.
Comment 4•10 years ago
|
||
(In reply to Anthony Ricaud (:rik) from comment #3)
> Can't we use the keyboard setting? It is already used for the keypad for SIM
> unlock screen so that would make sense to me.
I agree. If we create a new setting we'll have to add strings and we're way past string freeze for 2.1
Assignee | ||
Comment 5•10 years ago
|
||
[Blocking Requested - why for this release]: Feature requested by partner for 2.1.
blocking-b2g: --- → 2.1?
Comment 6•10 years ago
|
||
This is considered as a nice to have triage wouldn't block on that. Please ask for approval.
Removing the flag as per comment 6.
blocking-b2g: 2.1? → ---
Assignee | ||
Updated•10 years ago
|
Blocks: dialer-most-wanted
Assignee | ||
Updated•10 years ago
|
Whiteboard: [planned-sprint]
Target Milestone: --- → 2.1 S6 (10oct)
Assignee | ||
Updated•10 years ago
|
Assignee: nobody → anthony
Status: NEW → ASSIGNED
Assignee | ||
Comment 8•10 years ago
|
||
Attachment #8496004 -
Flags: review?(drs+bugzilla)
Comment 9•10 years ago
|
||
Comment on attachment 8496004 [details]
https://github.com/mozilla-b2g/gaia/pull/24477
A few nits on the PR. Also, did you test this on Mulet? I wonder if navigator.vibrate exists there. The keyboard app has a guard against this if it doesn't.
Attachment #8496004 -
Flags: review?(drs+bugzilla) → review+
Assignee | ||
Comment 10•10 years ago
|
||
I've addressed the review comments.
But before landing this, I've quickly talked with Carrie and it seems we have an issue with re-using the same setting. If the user installs another keyboard, there is a concern that they couldn't disable vibration.
I just tried installing another keyboard and of course, the Gaia keyboard settings are still accessible so I'm not sure what the concern is here. Flagging Carrie for clarification.
Flags: needinfo?(cawang)
Comment 11•10 years ago
|
||
Hi Anthony,
the concern is that user may not know if he wants to have this tactile feedback on his Dialerpad/ Pinpad and actually he is using other 3rd party keyboard, he should go to fxos keyboard settings to switch it on. It's really difficult to connect them together. I've asked some people around and they said they will go "Dialer settings" or "Sound settings". Thanks!
Flags: needinfo?(cawang)
Comment 12•10 years ago
|
||
for now I think its fine where it is for 2.1 - perhaps in the future we canrethink where all of the settings for keyboard is before altering some settings.
Flags: needinfo?(wmathanaraj)
Comment 13•10 years ago
|
||
Hi all,
After UX internal discussion, we will add dial pad tactile feedback in Settings > Sound. Tactile/sound feedback for any other type of keypad is already included in Settings > Keyboard > Built-in keyboard settings. Thanks!
Flags: needinfo?(jelee)
Reporter | ||
Comment 14•10 years ago
|
||
Please fix for 2.1
This impacts first time experience
Users coming from feature phones are accustomed to tactile feedback. Vibration is the way to give them that on a touch screen.
Vibration shall be enabled as default!
blocking-b2g: --- → 2.1?
Assignee | ||
Comment 15•10 years ago
|
||
Comment on attachment 8496004 [details]
https://github.com/mozilla-b2g/gaia/pull/24477
Carrie: I've added the lockscreen vibration.
Tim: I've tried to write new tests for this change but couldn't get anything to work. If you have any hint for me, that would be great!
Attachment #8496004 -
Flags: ui-review?(cawang)
Attachment #8496004 -
Flags: review?(timdream)
Assignee | ||
Comment 16•10 years ago
|
||
(In reply to Jenny Lee from comment #13)
> Hi all,
> After UX internal discussion, we will add dial pad tactile feedback in
> Settings > Sound. Tactile/sound feedback for any other type of keypad is
> already included in Settings > Keyboard > Built-in keyboard settings. Thanks!
Could you open another bug for this? We can't do that for 2.1 because it requires new strings.
Flags: needinfo?(jelee)
Comment 17•10 years ago
|
||
Triage group reviewed and decided blocking- because it doesn't meet any of the criteria we use in order to ship releases on time: https://wiki.mozilla.org/B2G/Triage#Blocker_Triage_Guidelines
Also, it's a new feature after feature freeze, with new strings after string freeze, and it also changes behavior existing users are used to.
Recommend filing a new bug for doing this without string changes (as rik suggests) and also a bug to make this build-configurable so that partners can decide what the default should be in their releases.
blocking-b2g: 2.1? → backlog
Comment 18•10 years ago
|
||
Comment on attachment 8496004 [details]
https://github.com/mozilla-b2g/gaia/pull/24477
It feels good. Great job! Thanks!
Attachment #8496004 -
Flags: ui-review?(cawang) → ui-review+
Comment 19•10 years ago
|
||
Comment on attachment 8496004 [details]
https://github.com/mozilla-b2g/gaia/pull/24477
I was going to r+ the comment add in Keyboard app but I realized that's not what you asked. If you are asking for tests in lockscreen.js let's ask :snowmantw.
Comment 20•10 years ago
|
||
I have left my opinions on the GitHub page. I don't know whether them would be fixed or discussed, since I'm not the reviewer.
Flags: needinfo?(gweng)
Comment 21•10 years ago
|
||
(In reply to Anthony Ricaud (:rik) from comment #16)
> (In reply to Jenny Lee from comment #13)
> > Hi all,
> > After UX internal discussion, we will add dial pad tactile feedback in
> > Settings > Sound. Tactile/sound feedback for any other type of keypad is
> > already included in Settings > Keyboard > Built-in keyboard settings. Thanks!
> Could you open another bug for this? We can't do that for 2.1 because it
> requires new strings.
Hi Anthony,
I will upload the spec including the change mentioned here to sound meta Bug 1068219 once it's ready. Thanks!
Flags: needinfo?(jelee)
Assignee | ||
Comment 22•10 years ago
|
||
(In reply to Greg Weng [:snowmantw][:gweng][:λ] from comment #20)
> I have left my opinions on the GitHub page. I don't know whether them would
> be fixed or discussed, since I'm not the reviewer.
> If we require every modification in System app should come with an unit test, this rule is not be
> satisfied in this patch (add/modify lockscreen related unit tests in System app).
I want to provide tests but wasn't able to write any working ones. I was looking for help on this.
Flags: needinfo?(anthony) → needinfo?(gweng)
Comment 23•10 years ago
|
||
I don't know where did you failed. But if there are any information you can provide I may be able to help you, for the LockScreen part.
Flags: needinfo?(gweng)
Reporter | ||
Updated•10 years ago
|
Whiteboard: [planned-sprint] → [planned-sprint] [Tako_Blocker]
Assignee | ||
Comment 24•10 years ago
|
||
I can't get the lockscreen to respond to click events :( See the attached patch.
Flags: needinfo?(gweng)
Comment 25•10 years ago
|
||
I notice you put dispatchEvent in unit test. We usually directly call 'handleEvent' to handle the specific event, instead of following the dispatching and handling path. Since for the component in unit test, the most important thing is to make sure the event has been handled correctly, rather than to check if dispatching API works. At least this is what I have seen in the unit tests.
I'm not saying dispatching failure isn't important, but for this patch and the test I think to test with handleEvent is enough. If we want to fix dispatching issue, we could fire another bug.
Flags: needinfo?(gweng)
Assignee | ||
Comment 26•10 years ago
|
||
Using real events has a value because you're also testing that the registration of event listeners worked. But even with handleEvent, I'm getting this weird error that I can't understand. See the new patch.
Attachment #8499418 -
Attachment is obsolete: true
Flags: needinfo?(gweng)
Comment 27•10 years ago
|
||
Hi, I've tested your patch on my Mac with './bin/gaia-test -d' to test it with B2G-desktop, and the event handling path works well. You can see I add a debug flag '__CLICKED__' in the handleEvent section, and the test would assert it's true after we handle the click event. If you want to verify it, remove the comment of the assert.isFalse line, and this time it would fail to pass the test.
I don't know whether this is a platform bug let your test fail or not. But the reason I don't print log is that on B2G desktop there is no such console to output the message, unless I open the jsconsole option manually. And I remember that in some test scenario the console.log won't work, so we need to 'dump' it rather than using console.log. Unfortunately, I don't have the detail now, so maybe this is irrelevant.
Flags: needinfo?(gweng)
Assignee | ||
Comment 28•10 years ago
|
||
Sorry I wasn't clear enough. The problem here is not where you put the __CLICKED__ debug but below where I've put console.log('passcodepad == altCameraButton ???')
Flags: needinfo?(gweng)
Comment 29•10 years ago
|
||
Do you mean the line would NOT be executed, since the if statement is failed (since you don't mention what's your expect in Comment 28, could you explain more?). I would try it later, but if it is what I think the issue is caused by the evt.target you passed in is not the same element of the altCameraButton, which may be a new DOM element in the unit test, since we mock the getAllElements:
72 mockGetAllElements = function() {
73 ['area', 'areaCamera', 'areaUnlock', 'altCameraButton', 'iconContainer',
74 'overlay', 'clockTime', 'date'].forEach(function(name) {
75 subject[name] = document.createElement('div');
76 });
And from the name I believe they're i.rrelevant. I now don't know why we need to expect |this.altCameraButton| to equal to |passcodepade| as your debugging patch, since they're different elements.
If you're question is you expect the line should NOT be execute BUT the condition get satisfied, then I think we have a bug should be dig with, and I can help to do more tests later.
Flags: needinfo?(gweng)
Comment 30•10 years ago
|
||
And I don't mean it's your failure to encounter such weird things. LockScreen is always tricky especially when you run into the old lockscreen.js file that I always want to eliminate it with new components, but unfortunately never success unless not yet. I just lack some information about your test, so what I can do is guessing like the above comment, sorry about that.
Assignee | ||
Comment 31•10 years ago
|
||
The problem here is that |this.altCameraButton === evt.target| is true and that doesn't make sense.
Comment 32•10 years ago
|
||
OK I would dig into it. This may also solve other buggy tests. Thanks.
Comment 33•10 years ago
|
||
And since there are some strange issue that :rik shows, I won't block the patch if we fire another bug for fixing and adding test later, if this patch is under the time pressure.
Assignee | ||
Comment 34•10 years ago
|
||
Comment on attachment 8496004 [details]
https://github.com/mozilla-b2g/gaia/pull/24477
I've opened bug 1078351 to track the addition of the related tests.
Here's the new version of the patch with the variable name changes.
Attachment #8496004 -
Flags: review?(gweng)
Comment 35•10 years ago
|
||
Comment on attachment 8496004 [details]
https://github.com/mozilla-b2g/gaia/pull/24477
OK. The lockscreen part now is fine, thanks. And I would take a look about the test issue.
Attachment #8496004 -
Flags: review?(gweng) → review+
Assignee | ||
Comment 36•10 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 37•10 years ago
|
||
Comment on attachment 8496004 [details]
https://github.com/mozilla-b2g/gaia/pull/24477
[Approval Request Comment]
[Bug caused by] (feature/regressing bug #): New feature
[User impact] if declined: From partner request
[Testing completed]: Manual testing by developer and some new unit tests. Other unit tests to be added in bug 1069286
[Risk to taking this patch] (and alternatives if risky): Low and easy to back out.
[String changes made]: None
Attachment #8496004 -
Flags: approval-gaia-v2.1?
Comment 38•10 years ago
|
||
(In reply to Olof Wickström from comment #14)
> Please fix for 2.1
> This impacts first time experience
> Users coming from feature phones are accustomed to tactile feedback.
> Vibration is the way to give them that on a touch screen.
>
> Vibration shall be enabled as default!
Olof, can your team please help verify this functionality once it lands in 2.1? Thanks
Flags: needinfo?(olof.wickstrom)
Updated•10 years ago
|
Attachment #8496004 -
Flags: approval-gaia-v2.1? → approval-gaia-v2.1+
Comment 39•10 years ago
|
||
status-b2g-v2.1:
--- → fixed
status-b2g-v2.2:
--- → fixed
Reporter | ||
Comment 40•10 years ago
|
||
Yes we can test it when it has landed
Flags: needinfo?(olof.wickstrom)
Updated•10 years ago
|
blocking-b2g: backlog → ---
tracking-b2g:
--- → backlog
You need to log in
before you can comment on or make changes to this bug.
Description
•