Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

[SPIKE] Consider using native share sheet vs custom share sheet #4275

Closed
3 of 6 tasks
vesta0 opened this issue Jul 24, 2019 · 9 comments
Closed
3 of 6 tasks

[SPIKE] Consider using native share sheet vs custom share sheet #4275

vesta0 opened this issue Jul 24, 2019 · 9 comments
Assignees
Labels
E5 Estimation Point: about 5 days Feature:Sharing

Comments

@vesta0
Copy link
Collaborator

vesta0 commented Jul 24, 2019

Goal: Investigate and discuss whether we want to use native share sheet vs custom share sheet

Acceptance criteria:

  1. I can share a link to my other installed apps
  2. I can copy a link to clipboard
  3. I see a list of my most frequently used apps first Add 'n' recently used apps to share sheet #4231
  4. When signed into my FxA, I can send a tab to other FxA connected devices
  5. I see a list of my other FxA connected devices
  6. When not signed into FxA, I see an icon/option directing me to sign in
  7. When Add action states to share sheet Add action states to share sheet #2897
  8. When sharing a tab, I can see a thumbnail or the tab I am sharing Add tab cards to share sheet #2754

Product preference:

Using the custom share sheet because:

Original conversation: #2819

Other related bugs and feature requests to consider

Will likely impact other bugs with the Feature:ShareSheet label

┆Issue is synchronized with this Jira Task

@liuche
Copy link
Contributor

liuche commented Aug 1, 2019

This bug should be timeboxed to explore native share sheet and what of the linked issues/requirements it can accomplish.

Specifically, we MUST be able to add Send Tab.
If that's possible, then use the native sharesheet.

@jonalmeida
Copy link
Contributor

Specifically, we MUST be able to add Send Tab.

Surfacing when an account isn't signed in (for enabling send tab) is also important.

@bifleming bifleming changed the title Consider using native share sheet vs custom share sheet [SPIKE} Consider using native share sheet vs custom share sheet Aug 2, 2019
@liuche
Copy link
Contributor

liuche commented Aug 2, 2019

Vesta will update acceptance criteria to include what the Required share sheet items are + Deliverable. If possible, can size each Requirement.

@liuche liuche added the E5 Estimation Point: about 5 days label Aug 2, 2019
@sblatz sblatz moved this from Prioritized Feature Backlog to Sprint Backlog in Fenix Sprint Kanban Aug 2, 2019
@sblatz sblatz changed the title [SPIKE} Consider using native share sheet vs custom share sheet [SPIKE] Consider using native share sheet vs custom share sheet Aug 2, 2019
@vesta0
Copy link
Collaborator Author

vesta0 commented Aug 6, 2019

@liuche I have updated the description of this issue with the acceptance criteria and the product and UX preference. Please feel free to move on to eng investigation/validation and sizing.

FYI this may be a good issue for @jonalmeida to pick up since he worked on it before.

@liuche
Copy link
Contributor

liuche commented Aug 7, 2019

@jonalmeida if you want to pick this up, feel free to (but please comment/assign, so we don't duplicate work!)

@jonalmeida
Copy link
Contributor

Adding it to the a-c triage for next week since we already have a full sprint right now. Feel free to grab this if I don't get to it by then.

Thanks for the detailed acceptance criteria Vesta!

@vesta0 vesta0 added must and removed should labels Aug 7, 2019
@vesta0 vesta0 moved this from Should to Must in Fenix Q3 Feature Backlog Aug 7, 2019
@pocmo pocmo added this to ⏳ Sprint Backlog in A-C: Android Components Sprint Planning Aug 12, 2019
@jonalmeida jonalmeida self-assigned this Aug 14, 2019
@vesta0
Copy link
Collaborator Author

vesta0 commented Aug 15, 2019

@jonalmeida it would be great to know status of this investigation by end of day today, so we can add the relevant bugs to our next sprint at tomorrow's sprint planning. Let me know if that's possible.

@jonalmeida
Copy link
Contributor

The native share sheet with Direct Share has advantages for ease of implementation, provides sorting of apps and shareable contacts.

The limitations for it however, is that we aren't able to show users that they need to sign into a Sync account (req 6) in order to leverage it or show error states when an account needs to be (re-)authenticated (req 7). The biggest disadvantage is that we can no longer iterate on top of the native share sheet to show the tabs or collections (req 8) that we want to share, or in the future adding "nearby devices" to the sheet.

This seems like a similar strategy other apps with custom share sheets are also taking as well (e.g. Google Photos, Google Maps, Youtube, Spotify). A future consideration to make, is to separate device sharing with sharing links (similar to Instagram) to apps but adds complex user flows that we need to investigate more into.

On the technical side, using direct share with the ShortcutManagerCompat currently wouldn't work well since we do not persist shareable devices and need to consider how we want to query for new ones and invalid old ones that may no longer be available. This would be useful though when trying to share to your other devices from another app (see #1523).

For #4528, we can definitely consider following the suggestion, but I think it would be up to UX to decide on it.

There is also a theme from the linked issues that we can resolve: implement recently shared apps (#4231). This should remove a lot of the pain-points that seem to be mentioned which other custom share sheets have that we currently do not.

TL;DR version: using the native share sheet is NOT recommended for the requirements we want to fulfill. Fix the recently shared apps bug to solve a majority of the issues that users are facing instead.

A-C: Android Components Sprint Planning automation moved this from ⏳ Sprint Backlog to 🏁 Done Aug 15, 2019
Fenix Sprint Kanban automation moved this from Sprint Backlog to Done Aug 15, 2019
Fenix Q3 Feature Backlog automation moved this from Must to Done! Aug 15, 2019
@vesta0 vesta0 removed this from Done! in Fenix Q3 Feature Backlog Sep 2, 2019
@IndefiniteBen
Copy link

Is it possible to have a button in the custom share sheet that opens the native one? Or is that use case considered covered by long pressing a link and using "share link" on the pop-up?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
E5 Estimation Point: about 5 days Feature:Sharing
Projects
No open projects
Development

No branches or pull requests

5 participants