Use a system tray notification to show progress on Tab sending and receiving

RESOLVED INCOMPLETE

Status

()

defect
RESOLVED INCOMPLETE
4 years ago
4 years ago

People

(Reporter: antlam, Assigned: jonalmeida)

Tracking

(Blocks 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

As discussed, we can take advantage of the system notifications of Android to show In-progress, Error, and Success states of sending a Tab. I think we already use this for receiving a tab.

In-progress:
 - Title: Sending your Tab to Firefox
 - Subtitle: Sending...
 - Icon: Shareplane

Error:
 - Title: Tab did not send
 - Subtitle: Tap to retry
 - Icon: Shareplane

Success:
 - Title: Tab sent!
 - Subtitle: 
 - Icon: Shareplane
 - Note: Self destructs!
Flags: needinfo?(michael.l.comella)
We want to do this because the toast after the share overlay is currently shown asynchronously (and allows the user to continue to interact with the underlying Activity) and so we can't use antlam's design from bug 1130203. Instead of the toast, we'd show something similar to that design and then display a notification as displayed above (similar to sending tweets from Twitter).

I think I'm NI to bring the filed bug to my attention and (eventually) work on it - since I don't have time to work on it now, clearing NI.
Flags: needinfo?(michael.l.comella)
Note to self: need to determine copy for notifications when receiving tabs as well.
Summary: Use a system tray notification to show progress on Tab sending → Use a system tray notification to show progress on Tab sending and receiving
Screen shot of current "Tab received" notification on L
Assignee: nobody → jalmeida
Assignee

Comment 4

4 years ago
The system tray requires a title, subtitle and icon. When there's a success, we don't have a subtitle so the notification itself looks odd (screenshot below for example).

Do we have a string that we can we use there, antlam? Maybe the url of the tab being sent?
Flags: needinfo?(alam)
Assignee

Comment 5

4 years ago
Screenshot of a successfully sent tab, without a subtitle below it.
Assignee

Comment 6

4 years ago
Also may need another shareplane icon for this. Notice that the shareplane isn't centered in the notification circle icon.
Anthony: we should have a chat about this in July. Lots of things that we'd like to do with notifications and status info here doesn't really make sense in the reality of Sync.
(In reply to Jonathan Almeida [:jonalmeida] from comment #4)
> The system tray requires a title, subtitle and icon. When there's a success,
> we don't have a subtitle so the notification itself looks odd (screenshot
> below for example).
> 
> Do we have a string that we can we use there, antlam? Maybe the url of the
> tab being sent?

This is looking great. Thanks Jon! Also, URL works for me! Otherwise, I was thinking we could just center it.

Does this confirmation "self-dismiss"? E.g. when you tweet on Android, the notification goes away after success. It should only persist if there's something for the user to do, like Retry.

(In reply to Jonathan Almeida [:jonalmeida] from comment #6)
> Also may need another shareplane icon for this. Notice that the shareplane
> isn't centered in the notification circle icon.

Weird thing is, I think that's a visual side affect of the icon design itself. 

I didn't draw this originally and it's something that we share with our Desktop UX side so it'll be better to leave it for now. 

(In reply to Richard Newman [:rnewman] from comment #7)
> Anthony: we should have a chat about this in July. Lots of things that we'd
> like to do with notifications and status info here doesn't really make sense
> in the reality of Sync.

Definitely. This was an idea to help complete the UX of sending and receiving Tabs, but I realize some of this is more hopeful than others :) 

let me know which in particular I'd need to reconsider!
Flags: needinfo?(alam) → needinfo?(rnewman)
(In reply to Jonathan Almeida [:jonalmeida] from comment #5)
> Created attachment 8628562 [details]
> Screenshot_2015-07-01-17-08-23.png
> 
> Screenshot of a successfully sent tab, without a subtitle below it.

Just noticed this, is there a reason we're not going with "Tab sent!" as the copy here? 

I'm open to revising the copy, but just wanted to make sure so we keep consistent and update the strings in the other states too, in comment 0.
Flags: needinfo?(jalmeida)
I think the screenshot I sent was just a premature one; before I changed the string itself. :)
Flags: needinfo?(jalmeida)
> Does this confirmation "self-dismiss"? E.g. when you tweet on Android, the notification goes away after success. It should only persist if there's something for the user to do, like Retry.

This is something that I believe won't work because of the how Sync is designed, which causes issues with the idea of success/failure. Pending is awkward as well since there is no state defined from that. Definitely need to sort this out first.

> Weird thing is, I think that's a visual side affect of the icon design itself. 

Looking at the image asset, there's some whitespacing on the left which probably works for other uses of the image. The notification one looks odd when comparing it to other system app icons which are all centered. I'll try to adjust it myself and run it by mcomella when I get back to this.
(In reply to Jonathan Almeida [:jonalmeida] from comment #11)
> > Does this confirmation "self-dismiss"? E.g. when you tweet on Android, the notification goes away after success. It should only persist if there's something for the user to do, like Retry.
> 
> This is something that I believe won't work because of the how Sync is
> designed, which causes issues with the idea of success/failure. Pending is
> awkward as well since there is no state defined from that. Definitely need
> to sort this out first.
> 
> > Weird thing is, I think that's a visual side affect of the icon design itself. 
> 
> Looking at the image asset, there's some whitespacing on the left which
> probably works for other uses of the image. The notification one looks odd
> when comparing it to other system app icons which are all centered. I'll try
> to adjust it myself and run it by mcomella when I get back to this.

Hm, sounds like Sent and sending are not possible at this moment. Is the "Error" state possible? with a "retry" action?

If that is the case, maybe we should instead push towards polishing the confirmation/feedback screen (in bug 1147653). That way, we can give our users a nicer, polished UX around "Your tab was sent!" and present the notification if it doesn't go through (since the full screen confirmation doesn't persist and only appears for a brief second).
Flags: needinfo?(jalmeida)
> Hm, sounds like Sent and sending are not possible at this moment. Is the "Error" state possible? with a "retry" action?

I was wondering about this as well but rnewman cleared it up for me. It wouldn't seem to make sense to have a retry. The first attempt at sending a tab will and the record in the database, so even if there is (for example) a network failure at the time, the tab will be sent when the database gets synced when there is network connectivity. The action of "retry" wouldn't be able to do anything then.

Will wait for a reply from rnewman though to clarify, or offer an alternative solution.

> If that is the case, maybe we should instead push towards polishing the confirmation/feedback screen (in bug 1147653). That way, we can give our users a nicer, polished UX around "Your tab was sent!" and present the notification if it doesn't go through (since the full screen confirmation doesn't persist and only appears for a brief second).

Yes, polishing up the existing way is doable since it doesn't involve technical design changes.
Flags: needinfo?(jalmeida)
rnewman is PTO.  NI to me to clarify.
Flags: needinfo?(rnewman) → needinfo?(nalexander)
(In reply to Jonathan Almeida [:jonalmeida] from comment #13)
> > Hm, sounds like Sent and sending are not possible at this moment. Is the "Error" state possible? with a "retry" action?
> 
> I was wondering about this as well but rnewman cleared it up for me. It
> wouldn't seem to make sense to have a retry. The first attempt at sending a
> tab will and the record in the database, so even if there is (for example) a
> network failure at the time, the tab will be sent when the database gets
> synced when there is network connectivity. The action of "retry" wouldn't be
> able to do anything then.
> 
> Will wait for a reply from rnewman though to clarify, or offer an
> alternative solution.

Hm, while I do like the fact that we simply send the tab over when we can, I think we still need some sort of visual "call out" for our users. I'm worried that if we don't call it out, the time between "when user presses send" to "tab received" can feel awkwardly disconnected.

Will await further clarification.. but maybe we shouldn't just automatically resend it when the user has connection? Instead, just present the error notification (if we can) with a "Retry" button option or "We will automatically resend when a connection can be establised" message.
Just chatted with Anthony.

About the only thing we can sanely do here is to show a notification while tabs are waiting to be sent. This would leave some status and an action point for users who e.g., don't have automatic syncing enabled.

But we trigger a sync when you send a tab, and our failures are not particularly actionable, so this doesn't seem like a big win.

Closing this as INCOMPLETE in case we have a change of heart.

Icon work is over in Bug 783901.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → INCOMPLETE
This has been resolved incomplete; clearing NI.
Flags: needinfo?(nalexander)
You need to log in before you can comment on or make changes to this bug.