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

Provide a way for users to recognize the changes made in a block #16433

Closed
onuro opened this issue Jul 5, 2019 · 8 comments
Closed

Provide a way for users to recognize the changes made in a block #16433

onuro opened this issue Jul 5, 2019 · 8 comments
Labels
Needs Design Feedback Needs general design feedback. [Priority] Low Used to indicate that the issue at hand isn't a top priority to address and can be handled later

Comments

@onuro
Copy link

onuro commented Jul 5, 2019

Is your feature request related to a problem? Please describe.
When a block has extensive options, users might get easily overwhelmed and get lost tracking the changes they applied in blocks.

Right now there is no other way figuring out what change has been made on a setting, especially if the PanelBody is set to initialOpen={false}, unless the panel is expanded and settings checked after selecting the block.

Describe the solution you'd like
In this example, we have a block called Kinetic Wrapper, which is a wrapper block for containing other blocks, and it has plenty of settings. But once a setting, such as padding is applied, the panel and the block reflects the change applied to it, the panel displaying a tick/indicator that a setting or change has been applied.

Screen Shot 2019-07-05 at 18 08 56

There may be better ways to reflect changes, open for discussion! What do you guys think?

@karmatosed
Copy link
Member

Thanks for this @onuro. @jasmussen and @kjellr I would love to get your insights around this.

@karmatosed karmatosed added the Needs Design Feedback Needs general design feedback. label Jul 5, 2019
@jasmussen
Copy link
Contributor

Just to be sure I'm understanding you correctly — the only change you are suggesting is the blue dot on a panel, to indicate it contains non-default user-made changes, correct? The blue color around the paragraph on the left is not part of the suggestion, correct?


Interesting idea to have this marker. It reminds me of the "unsaved changes" marker you see in editors like VSCode. Unsaved changes:

Screenshot 2019-07-08 at 10 17 18

No unsaved changes:

Screenshot 2019-07-08 at 10 17 28

It's also the classic pattern for "There's new stuff" serving as notification indicator for things like Instagram and such.

In that vein, the pattern of a dot seems fairly right for the task. I can also see how a collapsed panel with could benefit from some indicator that changes were made. For example a user might have removed a CSS class from a responsive video and now struggling to debug why it isn't working. So from a high level, this makes sense.

However it feels like this dot should be paired with a "reset to default" button, in some way. Otherwise, the point of the dot feels sort of lost: why show that changes were made if I can't revert them?

An alternate solution is that the dot is present ONLY until the chagnes are saved. I.e. it becomes an unsaved changes indicator exactly like how it is in VS Code or others. This would require no additional buttons, which would be a challenge given that every panel would have one.

Would love to hear thoughts from others.

@kjellr
Copy link
Contributor

kjellr commented Jul 8, 2019

Hmm interesting. As @jasmussen notes above, I tend to associate those dots with "unsaved" changes, not necessarily "something has changed". To that end, I think something like this would make more sense to me:

An alternate solution is that the dot is present ONLY until the chagnes are saved. I.e. it becomes an unsaved changes indicator exactly like how it is in VS Code or others. This would require no additional buttons, which would be a challenge given that every panel would have one.

... but I'm not sure that actually solves the problem at hand.

The way Gutenberg tends to handle this now, is through the use of "Reset" buttons within each panel:

43159083-54e653f8-8f4f-11e8-924a-99d83f5e8d3e

But as I noted in #8179, those labels aren't consistent. They also appear whether or not you've made any changes in the panel.

I wonder if a more complete solution to this issue would be to standardize reset buttons across all panels?

@jasmussen
Copy link
Contributor

... but I'm not sure that actually solves the problem at hand.

Insofar as the use case I described of figuring out which user made change is messing things up, absolutely right.

I wonder if a more complete solution to this issue would be to standardize reset buttons across all panels?

Very good call surfacing those clear and reset buttons. I wonder if a single unified reset button could appear in a consistent panel place, as soon as a change is made? In a way it makes sense for most panels.

@onuro
Copy link
Author

onuro commented Jul 9, 2019

I think there's more way to get before GB gets to this.

The unification of reset/clear was actually existent in earlier GB versions, can't pin point an SS right now. The hyperlink clear/resets came after 5+ GB updates.

Other than that, I think this type of indicator feature needs existence as a GB extension/component rather than as a core feature to assist plugin developers like us.

Because right now I really can't point a single core block that needs this feature deadly, but is it super necessary? Well Would be cool! :).

@mapk
Copy link
Contributor

mapk commented Jan 28, 2020

The Design Team in slack thought this is a good issue to leave open right now. Some ideas and concepts are being explored around this. One example related to responsive previews: #19082 (comment)

Let's see how this pans out and if there are learnings there that can help inform design here.

@mapk mapk added the [Priority] Low Used to indicate that the issue at hand isn't a top priority to address and can be handled later label Jan 28, 2020
@jasmussen
Copy link
Contributor

There are some additional mockups that leverage the "unread dot" here: #19909

@mapk
Copy link
Contributor

mapk commented May 5, 2020

Raised this in today's slack meeting with the Design Team again.

Adding block-by-block indicators feel like a lot of notifications that may not be all too beneficial. Gutenberg offers a way to see revisions and undo changes, but this request feels like an overwhelming amount of communication.

Do indicators appear when users are just adding text to a Paragraph block? Or do they appear when text is made bold? What sort of block changes warrant a "change" indicator?

Do these indicators persist through an auto-save event? Or do they reset once auto-save occurs?

It feels that an indicator that notifies the user that the document as a whole has changed fits better. I'm going to close this in favor of the explorations being done in #19909, but if anyone feels this should be opened up, please do so.

@mapk mapk closed this as completed May 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs Design Feedback Needs general design feedback. [Priority] Low Used to indicate that the issue at hand isn't a top priority to address and can be handled later
Projects
None yet
Development

No branches or pull requests

5 participants