Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synced data view is overwhelming #100347

Closed
miguelsolorio opened this issue Jun 17, 2020 · 15 comments
Closed

Synced data view is overwhelming #100347

miguelsolorio opened this issue Jun 17, 2020 · 15 comments
Assignees
Labels
feature-request Request for new features or functionality on-testplan settings-sync ux User experience issues
Milestone

Comments

@miguelsolorio
Copy link
Contributor

I'm assuming that this view is modeled after how we store the data in the backend, but from a user's perspective this view is extremely overwhelming:

  • Everything is grouped by data type (settings, keybindings, etc.) and then by date
  • Every entry includes a non-actionable row for the machine
  • There is no way to rollback to a certain place in time, you have to do it file-by-file
  • The UI state file (globalstate.json) is a weird format that users don't need to see
  • The context item "Show raw JSON data" is another item that users don't need to see

image

Proposal

  • Sort the view based on time
  • Remove the machine item and append to the filename
  • Update actions so that you can rollback to either a single file or to a date in time
  • Move context menu actions into a global ellipsis (logs, reset, etc.)

image

@sandy081
Copy link
Member

Thanks for the feedback and the proposal.

Sort the view based on time

I have to say that we cannot group all requests by time as the requests are independent. We can follow this pattern in the timeline view for each resource (Settings etc., ). I liked your idea, in other issues you filed, of showing a simpler view that shows last synced data. So I can think of showing a simple view with latest data and have a filter or something to load all data.

Remove the machine item and append to the filename

👍

Update actions so that you can rollback to either a single file or to a date in time

Falls into category of grouping by time

Move context menu actions into a global ellipsis (logs, reset, etc.)

👍

@sandy081 sandy081 added the ux User experience issues label Jun 17, 2020
@sandy081 sandy081 added this to the Backlog milestone Jun 17, 2020
@sandy081
Copy link
Member

sandy081 commented Jun 23, 2020

  • It is more helpful to know the latest state on the server (for eg., while turning on syncing). Hence added Synced Data view to show the latest state.

image

  • Added machine name only to the first entry to avoid duplication.
  • Renamed previous synced data view to be called Sync Activity (Remote) as it is indeed showing the sync activity. Made these views hidden by default as they are only used for troubleshooting.
  • Also changed activity view to be sorted by time but did not group due to the reason I mentioned above

image

@sandy081 sandy081 modified the milestones: Backlog, June 2020 Jun 23, 2020
sandy081 added a commit that referenced this issue Jun 23, 2020
- Change existing data views to activity views
- Introduce synced data view to show the latest state
sandy081 added a commit that referenced this issue Jun 23, 2020
@sandy081 sandy081 added the feature-request Request for new features or functionality label Jun 23, 2020
@miguelsolorio
Copy link
Contributor Author

It is more helpful to know the latest state on the server (for eg., while turning on syncing)

I'm not sure I fully understand what the scenario is here. If this view is intended to be an "advanced" view for users to debug what's happening, it makes more sense to see the activity rather than the current state. I think having the additional views (Sync Activity Remote/Local) may just add confusion/noise.

I think this view should just show a list of changes where users can revert back to if needed, and that we should keep it as simple as possible (flat list).

cc @Tyriar @RMacfarlane for additional thoughts

@sandy081
Copy link
Member

I would be removing Synced Data view in favour of Manual Sync view that you recommended in #100346. Manual Sync view is only shown while turning on sync to help users to resolve changes manually while turning on sync.

So this will leave only following views in Sync viewlet

  • Synced Machines
  • Sync Activity (Remote)
  • Sync Activity (Local)

I think this view should just show a list of changes where users can revert back to if needed, and that we should keep it as simple as possible (flat list).

Are you suggesting to merge the activity views?

@miguelsolorio
Copy link
Contributor Author

Are you suggesting to merge the activity views?

Instead of having lots of nodes like this:

image

I propose we simplify the list like this:

image

@sandy081
Copy link
Member

We also need to show the Machine. How about showing machine as description and pushing the time to right aligned?

@sandy081
Copy link
Member

sandy081 commented Jun 25, 2020

BTW Flat list requires resolving data which can cause request rate limit. Given that this view is an advanced view, I think the following is good enough.

image

In order to achieve flat list we need to filter these requests from rate limit @Tyriar FYI

Alternatively, we can show hierarchy only for those resources that has multiple files (as of now it is just snippets) ?

@Tyriar
Copy link
Member

Tyriar commented Jun 25, 2020

Why would rate limiting be a concern? You just need to fetch the latest for 5 or so resources, more snippets maybe but there aren't that many snippets. Rate limiting only happens when the client does 100 requests in 5 minutes

@sandy081
Copy link
Member

Because this is not just fetching latest versions but the view also show all versions. Hence per each resource there will be as number of requests as that of versions. So it hits the rate limit.

@sandy081 sandy081 modified the milestones: June 2020, July 2020 Jun 29, 2020
@Tyriar
Copy link
Member

Tyriar commented Jul 8, 2020

I have no idea what this view does now:

image

Both left and right clicking "settings.json (Current)" does nothing, same for Settings "(16 hrs ago)". The "undo" button looks scary and I'm too scared to click it.

When I'm in a Remote WSL workspace I see these exceptions, but it doesn't do anything in a regular Windows workspace either:

image

@sandy081
Copy link
Member

sandy081 commented Jul 8, 2020

This view will be removed in favour of manual sync view. There is a bug that clicking does nothing and it is fixed in master - #101912

@Tyriar
Copy link
Member

Tyriar commented Jul 8, 2020

@sandy081 does the manual sync view allow viewing history?

@sandy081
Copy link
Member

sandy081 commented Jul 8, 2020

There is a view already to show history which is called Sync Activity view

image

Currently this is hidden by default, but I changed it to be shown by default (in master).

@Tyriar
Copy link
Member

Tyriar commented Jul 8, 2020

@sandy081 oh ok, that's what I was looking for. Will check that out at some point.

@sandy081
Copy link
Member

As mentioned in this comment - #100347 (comment) , flat list is expensive in terms of number of server requests. Hence closing this with the current solution.

@github-actions github-actions bot locked and limited conversation to collaborators Sep 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality on-testplan settings-sync ux User experience issues
Projects
None yet
Development

No branches or pull requests

3 participants