Goal: Investigate and discuss whether we want to use native share sheet vs custom share sheet
Using the custom share sheet because:
Original conversation: #2819
Will likely impact other bugs with the Feature:ShareSheet label
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.
Specifically, we MUST be able to add Send Tab.
Surfacing when an account isn't signed in (for enabling send tab) is also important.
Vesta will update acceptance criteria to include what the Required share sheet items are + Deliverable. If possible, can size each Requirement.
@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.
@jonalmeida if you want to pick this up, feel free to (but please comment/assign, so we don't duplicate work!)
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!
@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.
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.
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?
Most helpful comment
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.