App icon indicating copy to clipboard operation
App copied to clipboard

Conditionally show/hide columns on the Search page depending on available data

Open shawnborton opened this issue 1 year ago • 25 comments

The current Search experience can feel a bit confusing for a Track user. Every expense row on the page shows their own name twice (in the From & To columns), which makes Expensify not seem like the right product for their needs. For workspace users, we run into a similar problem where we repeatedly show the employee's name in the From column which feels overly heavy as well. We also show columns that may not contain any data what so ever (like a Category or Tag column) which can occupy valuable horizontal space on desktop. Furthermore, the repeated "View" button also adds to the heaviness of the page and doesn't serve a good purpose given that a user can simply tap the row to view the expense.

To solve these problems, we've identified the following improvements we'd like to make to the Search page:

  • If all rows in the From or To columns only show your own name, omit those columns
    • Someone that only tracks expenses (From Shawn, to Shawn): do not show From or To
    • Someone that has only ever received expenses from someone else (From Alice or Bob or Cathy, to Shawn): do not show the To column
    • Someone that only sends expenses to a workspace (From Shawn, to Workspace): do not show From
  • If all rows have blank values (not $0.00, but truly nothing) for a certain column, omit the column. If any have a value, show the column.
  • If all rows for the Action column just show a View button, let's omit the column (tapping on the row works the same anyways)
  • Show both Merchant and Description columns on desktop as using the rules above
  • When scrolling on the Search page, when we load new rows that might contain new columns, to prevent the sudden jump/shift that might happen with the table, we should implement a clean fade out/in pattern to make the data load in a smoother manner

For someone who only Tracks expenses, we would get this for our Search page: image

If you did have both Merchants and Descriptions for your tracked expenses, you would see this: image

For someone who only submits expenses to a single workspace, we would get this: image

If you had a combination of tracked expenses and expenses sent to a workspace, we would get this: image

If you had mixed use cases that are From/To multiple people, we would get this: image

cc @luacmartins @JmillsExpensify - not sure if we want to handle this one mostly internally or what the implementation details might look like.

shawnborton avatar Jul 16 '24 06:07 shawnborton

Friendly bump on this one - should we make this one external so we can get it into motion?

shawnborton avatar Aug 01 '24 10:08 shawnborton

Sure, we can make this external since we're still focusing on other Search v2.1-2.2 functionality

luacmartins avatar Aug 01 '24 18:08 luacmartins

Sounds good, will mark as external and we can go from there. Can I assign you as the managing engineer?

shawnborton avatar Aug 02 '24 10:08 shawnborton

Triggered auto assignment to @miljakljajic (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.

melvin-bot[bot] avatar Aug 02 '24 10:08 melvin-bot[bot]

Current assignee @miljakljajic is eligible for the NewFeature assigner, not assigning anyone new.

melvin-bot[bot] avatar Aug 02 '24 10:08 melvin-bot[bot]

Going to move this into #wave-control with Search now. Don't know if you want it in Search v2.1 or later, @JmillsExpensify @luacmartins?

Also, maybe we can ask a C+ or agency dev with bandwidth to work on this?

trjExpensify avatar Aug 08 '24 21:08 trjExpensify

I think this might be internal, since we already do some of this logic on the server.

luacmartins avatar Aug 09 '24 08:08 luacmartins

Ah, okay.

trjExpensify avatar Aug 09 '24 17:08 trjExpensify

@luacmartins let us know what the next steps here should be!

shawnborton avatar Aug 19 '24 11:08 shawnborton

This is internal, so either I or another internal engineer could work on this. That being said, I'm prioritizing other Search issues atm and won't be able to work on this one any time soon. We could look for another volunteer if we want this one out soon though

luacmartins avatar Aug 19 '24 13:08 luacmartins

What do you think @shawnborton - should we try and get this prioritised higher or are we good to wait?

miljakljajic avatar Aug 21 '24 09:08 miljakljajic

I would be down to find another volunteer to do this if Carlos has a lot on his plate. Perhaps the #wave-collect curator can solicit this as a hot pick?

shawnborton avatar Aug 21 '24 12:08 shawnborton

What's the latest on this one? Are we actively looking for volunteers?

shawnborton avatar Sep 03 '24 07:09 shawnborton

@dylanexpensify you're curating wave control - would you be able to give this a shout out in the next update?

miljakljajic avatar Sep 03 '24 13:09 miljakljajic

Still looking for volunteers

luacmartins avatar Sep 11 '24 20:09 luacmartins

posted in wave-control: https://expensify.slack.com/archives/C06ML6X0W9L/p1726153212329969

miljakljajic avatar Sep 12 '24 15:09 miljakljajic

Triggered auto assignment to @alexpensify (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details. Please add this Feature request to a GH project, as outlined in the SO.

melvin-bot[bot] avatar Sep 20 '24 12:09 melvin-bot[bot]

@alexpensify I've reassigned as I head out on parental leave today. I have bumped the thread where we requested volunteers and tagged you so you can keep an eye out. Thank you!

miljakljajic avatar Sep 20 '24 12:09 miljakljajic

Ok, still a hot pick here.

alexpensify avatar Sep 23 '24 17:09 alexpensify

Hot Pick!

alexpensify avatar Sep 30 '24 22:09 alexpensify

Still a Hot Pick

alexpensify avatar Oct 07 '24 21:10 alexpensify

Hot Pick

alexpensify avatar Oct 16 '24 22:10 alexpensify

Heads up, I will be offline until Tuesday, October 22, 2024, and will not actively watch over this GitHub during that period.

If this GitHub requires an urgent update, please ask for help in the #expensify-open-source Slack Room. If the inquiry can wait, I'll review it when I return online.

alexpensify avatar Oct 18 '24 03:10 alexpensify

Hot Pick!

alexpensify avatar Oct 25 '24 23:10 alexpensify

Still a hot pick

alexpensify avatar Nov 02 '24 05:11 alexpensify

Hot Pick

alexpensify avatar Nov 07 '24 21:11 alexpensify

Hot Pick

alexpensify avatar Nov 16 '24 00:11 alexpensify

Still waiting for someone to take this :(

shawnborton avatar Nov 25 '24 14:11 shawnborton

Weekly Update: Hot Pick

alexpensify avatar Dec 03 '24 20:12 alexpensify

I am removing hot pick from any issues with an internal engineer assigned so other engineers can know it's unavailable/taken.

twisterdotcom avatar Dec 06 '24 16:12 twisterdotcom