google / site-kit-wp

Site Kit is a one-stop solution for WordPress users to use everything Google has to offer to make them successful on the web.
https://sitekit.withgoogle.com
Apache License 2.0
1.22k stars 278 forks source link

Improve UX/UI on Dashboard Sharing when an admin disconnects Site Kit #5625

Open wpdarren opened 2 years ago

wpdarren commented 2 years ago

Bug Description

There's a weird UX/UI experience in a specific scenario on a site with two admin users for dashboard sharing.

Admin 1 connects Site Kit and gives permission to modules in the dashboard sharing settings modal. Admin 2 logs in to his WordPress account but does not connect his Google account. Instead they go to the shared dashboard. Later on Admin 1 disconnects Site Kit. Then Admin 2 logs back in and when they go to the Site Kit Dashboard, lots of data unavailable messages appear.

I am wondering if we can improve the UX/UI in this scenario.

Maybe we should show a reconnect button so that they can reconnect with their Google account.

You can connect your Google account by going to the View only menu but it isn't obvious.

It's unlikely this scenario would happen often but could create support tickets so feel it needs improving.

image.png


Do not alter or remove anything below. The following sections will be managed by moderators only.

Acceptance criteria

Implementation Brief

Test Coverage

QA Brief

Changelog entry

aaemnnosttv commented 2 years ago

@wpdarren this scenario also applies to non-admins, the only difference of course is that an admin can sign-in with Google and then they'll see permission errors instead if they don't have access to the configured entities on the service.

I'm hesitant about adding a link to every component like this, but we could potentially show a new notice at the top similar to how we do for zero data, that if a module is recoverable and the user is an admin on the view-only dashboard, we prompt them to sign in.

The one thing that is probably relevant here is the "Please contact another admin to restore it" portion of the message. If the user is an admin themselves, then we may want to revise that portion.

wpdarren commented 2 years ago

@aaemnnosttv good point about non admins.

we could potentially show a new notice at the top similar to how we do for zero data, that if a module is recoverable and the user is an admin on the view-only dashboard, we prompt them to sign in.

I like this idea. For a non admin, would they still see all the messages as they do now, or, can we include a more user-friendly message for them as well?

aaemnnosttv commented 2 years ago

For a non admin, would they still see all the messages as they do now, or, can we include a more user-friendly message for them as well?

Yes, they would still see the placeholder widgets as they do now. As for the message, how would you suggest we make that more user-friendly?

wpdarren commented 2 years ago

@aaemnnosttv Maybe I am getting confused with the non admin side. I am assuming the same message appears for them if an admin has disconnected Site Kit. If it does, I was thinking that as it is now, with the data available message all over the dashboard, it would look better with just a message at the top saying contact an admin..

aaemnnosttv commented 2 years ago

I am assuming the same message appears for them if an admin has disconnected Site Kit.

@wpdarren I'm not quite sure what you mean. Module recovery is triggered by something changing for an admin who is the owner of one or more currently shared modules.

If it does, I was thinking that as it is now, with the data available message all over the dashboard, it would look better with just a message at the top saying contact an admin..

It sounds like you're describing a case where all the modules a user has shared with them on the view-only dashboard are recoverable in which case they would see placeholders for everything and doesn't look great. In this case, an alternate placeholder for the whole dashboard may be a bit cleaner experience (which sounds like maybe what you're describing) but we haven't done that before. That could be a nice enhancement though.

This is somewhat similar to zero data states, only it's zero data because there is a problem getting the data – we don't actually know if there is any or not.

It's worth noting though that it isn't always going to be all or nothing – there could be a situation where Analytics is the only recoverable module and so all the other widgets will still show, but only Analytics widgets are in the "Data unavailable" state. Does that make sense?

One reason why there are so many different placeholders is because the message specifies the specific modules that the widget relies on which are recoverable. If we made this message more generic, then we could be more aggressive in the combination to not show duplicates. Then we could add a single notice at the top as mentioned before which mentions the specific modules which are recoverable, similar to zero data states.

aaemnnosttv commented 1 year ago

After further review, we'd like to get Sigal's input on this state, but in general the issue was a bit more about the repetitive messaging than. We might want to establish an alternate state for the dashboard when we identify all modules a user has access to on the view-only dashboard are in a recoverable state.