Closed
Bug 1034088
Opened 10 years ago
Closed 10 years ago
FindMyDevice inconsistent enabled state when device is offline
Categories
(Firefox OS Graveyard :: FindMyDevice, defect)
Tracking
(blocking-b2g:2.0+, b2g-v2.0 verified, b2g-v2.1 verified)
People
(Reporter: gerard-majax, Assigned: ggp)
References
Details
Attachments
(2 files)
Flame, master of today. While reviewing bug 1000323, I came accross of this spurious UX feedback.
STR:
0. Enable data/WiFi
1. Go to Settings, Find My Device
2. Create an account or signin, and enable "Locate my device"
3. Reboot
4. Disable data/WiFi
5. Open Settings
6. Open Find My Device section
Expected:
I have the "Locate my device" checkbox enabled, and maybe something that says that I have no data connectivity hence the feature cannot work until some network is online
Actual:
At step 5, the text under the section name says "Enabled", but when entering the panel, I get the very same UI than when I have not yet created an account or signed in.
From a user point of view, I really think it's a bad UX leading to confusing state.
Assignee | ||
Comment 1•10 years ago
|
||
I'm not convinced we should block over this, but I agree the UX could be much better.
If we decide this doesn't block, then it should probably be a duplicate of bug 998489. If we do want to fix this for 2.0, then perhaps we can reuse the string we already have [1] and display it somewhere else, rather than just alert()ing it when the login button is clicked. We'd need UX guidance on that, though.
1- https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/locales/settings.en-US.properties#L726
Reporter | ||
Comment 2•10 years ago
|
||
(In reply to Guilherme Gonçalves [:ggp] from comment #1)
> I'm not convinced we should block over this, but I agree the UX could be
> much better.
>
> If we decide this doesn't block, then it should probably be a duplicate of
> bug 998489. If we do want to fix this for 2.0, then perhaps we can reuse the
> string we already have [1] and display it somewhere else, rather than just
> alert()ing it when the login button is clicked. We'd need UX guidance on
> that, though.
>
> 1-
> https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/locales/
> settings.en-US.properties#L726
Do you know there is ModalDialog in Gaia ? That's better than alert().
And no, I disagree, this is a major bad UX feedback: people will not kill the settings app by themselves, and we are reporting back a WRONG state.
Comment 3•10 years ago
|
||
hey ggp - this should be pretty simple to fix, I'd think?
When the fmd code loads in settings, add a listener for 'online' and 'offline' events fired by window, and check navigator.onLine to figure out the current state, maybe something like
window.addEventListener('offline', onNetworkChange);
window.addEventListener('online', onNetworkChange);
onNetworkChange();
function onNetworkChange() {
if (navigator.onLine) {
// enable normal stuff
} else {
// display a "sorry please enable network" panel.
// probably could just use the approved string from the alert msg.
}
}
You'd probably need something slightly different for the fmd item in the main settings menu vs. the fmd settings panel. Let me know if this seems unclear.
Comment 4•10 years ago
|
||
I think this flow could do with a better end state than the sign up screen.
ni jsavory
Flags: needinfo?(jsavory)
Comment 5•10 years ago
|
||
:jsavory, we want to use this string:
"This device is currently offline. Connect to a network and try again."
We just need to know how we want to present it to the user...
Thank you!
Updated•10 years ago
|
Assignee: nobody → jsavory
Comment 6•10 years ago
|
||
(In reply to Erin Lancaster [:elan] from comment #5)
> :jsavory, we want to use this string:
>
> "This device is currently offline. Connect to a network and try again."
>
> We just need to know how we want to present it to the user...
>
> Thank you!
I consider this to be a very nice-to-have and bot a blocker for release. I sense some string changes involved here (re-using existing strings is also considered a string change as it needs a new string id, fyi. Checking with :flod/"pike will be best here) so we should be cautious on the approach of fixing this in 2.0 even if end up not blocking and go by the approval route.
Updated•10 years ago
|
Flags: needinfo?(vkrishnamoorthy)
Comment 7•10 years ago
|
||
These results do not reproduce if you put your phone on Airplane Mode.
You will reach the Sign in/Create an Account page. Click on Sign in/Create an Account.
Actual: You will receive a message that says "This device is currently offline. Connect to a network and try again."
Comment 8•10 years ago
|
||
Breaking this down further from a product perspective,
Severity:
the current behavior is confusing to the user as the user is prompted to sign in or create a new FxA account when in reality the user has created an account already and enabled FMD. So definitely a bad experience.
Probability of Occurrence:
My opinion here is that the probability of occurrence is low as the user has to reboot the device, disable data, go to settings and open the FMD menu to see this error.
Given that the probability of occurrence is low, I am tending towards this being kept in the nom state and not moved to a blocker state.
The reason to have it in the nom state is that 2.0 is about polish and to gerard-majax's point, the end state is wrong.
jsavory is looking at options for a better end state.
Flags: needinfo?(vkrishnamoorthy)
Comment 9•10 years ago
|
||
(In reply to vkrishnamoorthy@mozilla.com [:Vishy] from comment #8)
> Breaking this down further from a product perspective,
>
> Severity:
> the current behavior is confusing to the user as the user is prompted to
> sign in or create a new FxA account when in reality the user has created an
> account already and enabled FMD. So definitely a bad experience.
>
> Probability of Occurrence:
> My opinion here is that the probability of occurrence is low as the user has
> to reboot the device, disable data, go to settings and open the FMD menu to
> see this error.
>
> Given that the probability of occurrence is low, I am tending towards this
> being kept in the nom state and not moved to a blocker state.
>
> The reason to have it in the nom state is that 2.0 is about polish and to
> gerard-majax's point, the end state is wrong.
We cannot keep bugs in the nom queue for long as these are not actionable by anyon e:-/, so clearing the nom here. If we end up coming up with a low risk solution without strings before 21, we can consider uplift to 2.0
>
> jsavory is looking at options for a better end state.
blocking-b2g: 2.0? → backlog
Comment 10•10 years ago
|
||
(In reply to bhavana bajaj [:bajaj] [NOT reading Bugmail, needInfo please] from comment #9)
> We cannot keep bugs in the nom queue for long as these are not actionable by
> anyon e:-/, so clearing the nom here. If we end up coming up with a low risk
> solution without strings before 21, we can consider uplift to 2.0
> >
> > jsavory is looking at options for a better end state.
Makes sense, we are also exploring other STRs that bring us to this state. If we have an STR with higher probability, we can re nom
Comment 11•10 years ago
|
||
I think in this case, the user should be presented with the FMD toggle settings screen. If the user has no internet connection and tries to enable/disable FMD they should be presented with a confirmation screen:
Body text "This device is currently offline. Connect to a network and try again." Single button: "Ok"
This way the user can see the status of the FMD but cannot change it until they are connected.
Flags: needinfo?(jsavory)
Assignee | ||
Comment 12•10 years ago
|
||
We can solve this by caching FxA's login state in a setting, then using the cache when offline. The pull request also contains the patch for bug 1000323 until it lands, so we avoid conflicts.
Attachment #8457481 -
Flags: review?(lissyx+mozillians)
Reporter | ||
Comment 13•10 years ago
|
||
Comment on attachment 8457481 [details] [review]
gaia pull request
Works as expected, the panel says that Find My Device is enabled even when I'm offline.
Attachment #8457481 -
Flags: review?(lissyx+mozillians) → review+
Assignee | ||
Updated•10 years ago
|
Assignee: jsavory → ggoncalves
Assignee | ||
Updated•10 years ago
|
Keywords: checkin-needed
Comment 14•10 years ago
|
||
Status: NEW → RESOLVED
Closed: 10 years ago
status-b2g-v2.1:
--- → fixed
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → 2.1 S1 (1aug)
Assignee | ||
Comment 15•10 years ago
|
||
[Blocking Requested - why for this release]: This provides high UX value and has low risk.
blocking-b2g: backlog → 2.0?
Comment 16•10 years ago
|
||
Moving to backlog as product weighed in as not a blocker
blocking-b2g: 2.0? → backlog
Comment 17•10 years ago
|
||
[Blocking Requested - why for this release]: After discussing this further, the STR is more common than we initially thought it to be. For example, the bad experience can be reproduced when the device is offline and there is no need to reboot the device as I had mentioned in comment 8 previously.
Please uplift this for 2.0 as it provides a much better experience
blocking-b2g: backlog → 2.0?
Updated•10 years ago
|
blocking-b2g: 2.0? → 2.0+
Comment 18•10 years ago
|
||
status-b2g-v2.0:
--- → fixed
Comment 19•10 years ago
|
||
This issue has been verified successfully on Flame v2.1 & v2.0
See attachment: verify_video.MP4
Reproducing rate: 0/5
Flame 2.1 versions:
Gaia-Rev 5655269098c7e82254e56933f1af05b4abe2a2f3
Gecko-Rev https://hg.mozilla.org/releases/mozilla-b2g34_v2_1/rev/86608c9389b5
Build-ID 20141204001201
Version 34.0
Device-Name flame
FW-Release 4.4.2
FW-Incremental eng.cltbld.20141204.034958
FW-Date Thu Dec 4 03:50:09 EST 2014
Bootloader L1TC00011880
Flame 2.0 versions:
Gaia-Rev 8d1e868864c8a8f1e037685f0656d1da70d08c06
Gecko-Rev https://hg.mozilla.org/releases/mozilla-b2g32_v2_0/rev/ff1100ba2ab8
Build-ID 20141204000228
Version 32.0
Device-Name flame
FW-Release 4.4.2
FW-Incremental eng.cltbld.20141204.040425
FW-Date Thu Dec 4 04:04:36 EST 2014
Bootloader L1TC00011880
You need to log in
before you can comment on or make changes to this bug.
Description
•