Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.53k stars 2.88k forks source link

[HOLD][Tracking] Add Native Share Menus to New Dot - Share Into New Expensify #15603

Closed grgia closed 7 months ago

grgia commented 1 year ago

Design Doc

https://docs.google.com/document/d/10agvPMrVzXViEaH47gAXr9CZN62aaI3L5kj4aoj5LhI/edit

Proposal

Let’s implement native share menus so users can both share-to and share-from New Dot.

Problem: There are plenty of times where I want to share something from outside our app into New Expensify. But there’s no way to quickly share links/photos/information while outside Expensify. For example, if I’m in the Photos App and I decide I want to share a photo, I’ll have to leave the app → open New Dot → go to the correct chat → click add attachments → find the same image again → and so on. On the flipside, there’s no easy way to export information from inside the app to outside Expensify. There’s no quick solution to export a PDF to print or to AirDrop a photo from one device to another.

Solution: Let’s utilize one of our external agencies to implement Native Share Menus. Share menus are an essential feature to most other chat apps. If a user wants to send a photo, let’s make it as easy as possible. From the photo app you’d just click share → New Expensify and voila! In fact, we already have this feature for Old Dot. Right now, you can take a picture -> share -> Expensify, and immediately start a smartScan. So adding Share Menus to New Dot would be a requirement to maintain feature parity between Old and New Apps. As for sharing from inside Expensify to outside sources, to make New Expensify our go-to chat and finance collaboration app in the future, we should be able to communicate with those who have not yet adopted the app. For those of us that are eager to use NewDot as our primary chat app in our day-to-day lives, this feature would be a valuable way to encourage that while the rest of the world is still using WhatsApp. Later on, external sharing can feed into our viral business model, where chats/photos/links sent from New Expensify can be wrapped in an advertising moment, incentivizing people to join New Expensify from other chat apps.

https://expensify.slack.com/archives/CC7NECV4L/p1675375866420119

Pre-designs

Initial Pre-design Design Pre-design

Tasks

Related Issues

Mockup: https://github.com/Expensify/App/issues/16256

grgia commented 1 year ago

Started a conversation about working with an external agency here

grgia commented 1 year ago

I have updated the HL Design Doc

Some questions to keep in mind for a predesign:

For Share-to-Expensify: What activity will be triggered when clicking share? Do we want users to send a message? What will our Share Sheet look like? What information can the user customize when sharing into the app? How will a user select the destination of what they are sharing? How can we design this so we can later include sharing a photo -> Scan Receipt?

For Share-from-Expensify: What content should be shareable? Should it just be photos/attachments/QR codes? Should users be able to share IOU's/Report links? How might a share be initiated? Should we use the long-press and add it to the context menu? Should a user be able to share a link to a room with a share icon/button in the chat header?

grgia commented 1 year ago

Some related libraries:

React Native

External (I suggest we consider these, as we will want the ability to better customize the share modal)

grgia commented 1 year ago

Sharing Link / Photo -> Clicking Expensify

Sharing Link / Photo -> Clicking Expensify DM

grgia commented 1 year ago

@lindboe Could you comment on this so I can assign you?

lindboe commented 1 year ago

Commenting!

MelvinBot commented 1 year ago

📣 @lindboe! 📣

Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork. Please follow these steps:

  1. Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
  2. Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
  3. Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.

Screen Shot 2022-11-16 at 4 42 54 PM

Format:

Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
roryabraham commented 1 year ago

Super excited!

MelvinBot commented 1 year ago

:wave: Hello Generalist Track Team - you have been assigned to review this High Level Design Doc. Please, treat this as a priority. Review this Stack Overflow for some tips on reviewing a design doc. Once you are done, simply press the Add "Reviewed Doc" comment button in the right hand side K2 pannel or follow these instructions.


stitesExpensify commented 1 year ago

I have read and reviewed this Design Doc!

grgia commented 1 year ago

@arielgreen @caitlinwhite1 @zsgreenwald @conorpendergrast @stephanieelliott @quinthar @anmurali @HaleyJacobson bump on this HL doc review - https://docs.google.com/document/d/1m4BZ-fhNMnTQhWiglqMk9U2VXYDSrirjeYRLPHf3SkA/edit#

It's short and sweet, so if you have a minute to look, please do!

roryabraham commented 1 year ago

I have read and reviewed this Design Doc!

stephanieelliott commented 1 year ago

I have read and reviewed this Design Doc!

Julesssss commented 1 year ago

I have read and reviewed this Design Doc!

conorpendergrast commented 1 year ago

I have read and reviewed this Design Doc!

caitlinwhite1 commented 1 year ago

I have read and reviewed this Design Doc!

cjjohnson121 commented 1 year ago

I have read and reviewed this Design Doc!

puneetlath commented 1 year ago

I have read and reviewed this Design Doc!

anmurali commented 1 year ago

I have read and reviewed this Design Doc!

arielgreen commented 1 year ago

I have read and reviewed this Design Doc!

jliexpensify commented 1 year ago

I have read and reviewed this Design Doc!

quinthar commented 1 year ago

I have read and reviewed this Design Doc!

grgia commented 1 year ago

Not overdue, waiting on detailed section from @lindboe

grgia commented 1 year ago

Last update - https://expensify.slack.com/archives/C04KQL2HSQ1/p1687201487241649

grgia commented 1 year ago

in progress

grgia commented 1 year ago

Detailed Doc Ready For Review!

melvin-bot[bot] commented 1 year ago

:wave: Hello Generalist Track Team - you have been assigned to review this Detailed Design Doc. Please, treat this as a priority. Review this Stack Overflow for some tips on reviewing a design doc. Once you are done, simply press the Add "Reviewed Doc" comment button in the right hand side K2 pannel or follow these instructions.


Julesssss commented 1 year ago

I have read and reviewed this Design Doc!

puneetlath commented 1 year ago

I have read and reviewed this Design Doc!

grgia commented 1 year ago

Detailed Doc Is In Review

yuwenmemon commented 1 year ago

I have read and reviewed this Design Doc!

conorpendergrast commented 1 year ago

I have read and reviewed this Design Doc!

arielgreen commented 1 year ago

I have read and reviewed this Design Doc!

quinthar commented 1 year ago

I have read and reviewed this Design Doc!

quinthar commented 1 year ago

I'm a broken record here, but I really, really hope we ditch the iOS share extension and just open the app. It feels like 90% of the work is iOS specific, totally avoidable, and goes explicitly against our cross-platform philosophy.

quinthar commented 1 year ago

(But otherwise, it looks great and I can't wait to have it!!)

anmurali commented 1 year ago

I have read and reviewed this Design Doc!

stephanieelliott commented 1 year ago

I have read and reviewed this Design Doc!

grgia commented 1 year ago

Detailed is done, implementation was paused for wave projects. We are working on including scan pending this convo: https://expensify.slack.com/archives/C04KQL2HSQ1/p1696347905090599

pecanoro commented 1 year ago

I have read and reviewed this Design Doc!

grgia commented 12 months ago

Design Doc is being updated

melvin-bot[bot] commented 11 months ago

The design doc reviewers have already been assigned to this issue. If you think this is wrong, reach out to #engineering for help.

grgia commented 11 months ago

@arielgreen @chiragsalian @zsgreenwald @stitesExpensify @robertjchen @pecanoro @puneetlath @yuwenmemon @conorpendergrast @stephanieelliott @anmurali @quinthar

We've updated the detailed doc to include smart scanning in V1. I re-added the label and it did not reassign you as reviewers, so if you're interested in taking a look at the update from the last review, please check out the following updated DD and leave a review!

https://docs.google.com/document/d/10agvPMrVzXViEaH47gAXr9CZN62aaI3L5kj4aoj5LhI/edit

johnmlee101 commented 11 months ago

I have read and reviewed this Design Doc!

tgolen commented 11 months ago

I have read and reviewed this Design Doc!

puneetlath commented 11 months ago

I have read and reviewed this Design Doc!

chiragsalian commented 11 months ago

I have read and reviewed this Design Doc!

jliexpensify commented 11 months ago

I have read and reviewed this Design Doc!

trjExpensify commented 11 months ago

I have read and reviewed this Design Doc!

stitesExpensify commented 11 months ago

I have read and reviewed this Design Doc!