WordPress / gutenberg

The Block Editor project for WordPress and beyond. Plugin is available from the official repository.
https://wordpress.org/gutenberg/
Other
10.32k stars 4.12k forks source link

Proposal to rename "reusable blocks" to "synced blocks" #34352

Closed mtias closed 1 year ago

mtias commented 3 years ago

Reusable blocks have a long history now. The started as "saved blocks" and went through some renaming iterations until we settled on "reusable blocks". This worked alright at the beginning, but with the introduction of patterns its meaning has started to become more fuzzy and confusing (see related comment). In the end, patterns are also reusable pieces of design.

Given the nature of these blocks is to have content in sync wherever it's displayed — edit once; update everywhere — I propose we change the name in the UI to "Synced Blocks" and adjust the block description a little bit to clarify that.

MikeWhelan commented 3 years ago

I agree, "synced blocks" is much more descriptive to the end user and makes a clear distinction between this block and all other reusable patterns, templates and re-usable blocks - of which there are many!

kellychoffman commented 3 years ago

Cosign! Its much more self explanatory.

:shipit:

annezazu commented 3 years ago

Agreed - this makes a lot more sense to me! Thanks for kicking this off.

karmatosed commented 2 years ago

+1 to rename, I'm not absolutely convinced that 'synced' is right but it's better than reusable so 👍🏻

Collieth commented 2 years ago

@mtias I like "Synced Blocks" too. However, if the discussion continues, here are a few more suggestions for the "Reusable Blocks":

If none of those options work, let me know.

ZebulanStanphill commented 2 years ago

The term "synced" is definitely a massive improvement over the current terminology. "Reusable" is a term that could apply to almost every block you can copy-paste, and the older "shared" (remember that?) would have sounded like "sharing to the repository".

"Synced" brings to mind cloud storage, which is pretty close to how the feature works. Additionally, it is something that could not be applied to standard blocks or patterns. You wouldn't say a Paragraph block is synced to any others, and in fact, the most obvious difference between reusable blocks and patterns is that the latter is explicitly not synced.

bph commented 2 years ago

Thinking of other apps "Stored Info Blocks" "Canned snippets" "Content snippets" (:-)

ndiego commented 2 years ago

I personally think that the word "synced" is a bit confusing. It makes sense when you know how these blocks work, but I don't think it really improves things for a new user. It's also kind of a tricky word on its own and is not common vernacular.

What about a more general term that emphasizes that these blocks are used throughout the user's website. I am thinking something like "Global" blocks?

placoderm commented 2 years ago

I personally think that the word "synced" is a bit confusing.

I agree. For a non-specialist, this really doesn't have any meaning. I think global is an improvement. How about "site wide"?

What do the major page builders call them? Because they have had them for years before Gutenberg.

Aren't reusable blocks really a collection of reusable blocks? And is that collection really anything different from a widget area? I think if WordPress 5.x were to drop down from the sky brand new to us today, it would be hard to explain to someone how a widget area filled with blocks was any different from what we now call reusable blocks.

Reusable blocks are really a powerful thing, but it feels like they have been poorly managed by core.

ZebulanStanphill commented 2 years ago

What do the major page builders call them? Because they have had them for years before Gutenberg.

JosVelasco commented 2 years ago

Global blocks sounds better to me, reminds me about global variables with global scope. Synced blocks imply sincronization even for the first time of being created. Also, the word synced is too long for a lot of languages.

svandragt commented 2 years ago

I maintain a reference page to explain the multiple block types. Hopefully this add context for those picking a name that is descriptive not just to authors but also compared to the other block-types. Naming is hard, so it’s great to see the effort here.

https://brain.vandragt.com/books/wordpress/page/blocks-in-simple-english

I would suggest as the aim is to surface content in multiple places, to use the word Content instead of Blocks as part of the name. Perhaps something like Global Content?

pshemek commented 2 years ago

My vote goes to "global". It's intuitive even in non-English world.

placoderm commented 2 years ago

I would suggest as the aim is to surface content in multiple places, to use the word Content instead of Blocks as part of the name. Perhaps something like Global Content?

That's an interesting idea. Again I come back to the question of what, on a practical level, is the difference between a group of reusable blocks an a widget area made of blocks? If they are all just groups of blocks with content, how are they essentially different?

Nahuai commented 2 years ago

+1 to Global Blocks.

luminuu commented 2 years ago

I think "Synced Blocks" is fine but something like "Global Blocks" would be fine too. Unless it would be too confusing with "Global Styles", which is already set?

Looking at other software, for example Notion, their terminology is "Synced Blocks" too for that type of content.

aristath commented 2 years ago

I agree that the name "reusable block" should be changed... But like all others above, I don't believe that "synced block" would be the best choice. Reusable blocks are pieces of content that the user has customized and saved on their site so they can be reused & synchronized everywhere on their site. And it's also important to consider that it can be more than a single block. I can have a collection of blocks nested inside a group saved as a reusable-block... So even the term "block" is inaccurate in this case. It's a user-created, personalized, site-wide, synchronized piece of content. With that in mind, I'd propose the term Personalized Content.

The term "global" is familiar because most other page-builders also use it... but that should not be a real concern IMO. If all others are doing something sub-optimal, that's no reason for us to follow blindly with the excuse that it's familiar.

kevquirk commented 2 years ago

"Global Blocks" makes the most sense to me.

By using "synced blocks" it's inferred they're synced somewhere - is that off-site? Is it a backup mechanism?

By using something more descriptive, like "Global Blocks" I think it's more clearly defines what they are.

bgardner commented 2 years ago

Quick +1 for the term Global Blocks, for many of the reasons others have previously said.

ndiego commented 2 years ago

Reusable blocks are pieces of content that the user has customized and saved on their site so they can be reused & synchronized everywhere on their site. And it's also important to consider that it can be more than a single block. I can have a collection of blocks nested inside a group saved as a reusable-block... So even the term "block" is inaccurate in this case. It's a user-created, personalized, site-wide, synchronized piece of content. With that in mind, I'd propose the term Personalized Content.

I agree that "block" might also be confusing since it can be a collection of blocks as well as a single block. However, every block is/can be "user-created, personalized". So I do not feel that the "Personalized" gets to the root of what this type of content is. So I could see either "Global Blocks" or "Global Content".

The term "global" is familiar because most other page-builders also use it... but that should not be a real concern IMO. If all others are doing something sub-optimal, that's no reason for us to follow blindly with the excuse that it's familiar.

I actually think it being familiar is the greatest asset to "global". I am not saying it is the perfect, but it's recognizable and we are already using it in "Global Styles". Furthermore, those that are coming back to core WordPress from page-builders will instantly recognize the functionality and understand it.

aristath commented 2 years ago

I actually think it being familiar is the greatest asset to "global". I am not saying it is the perfect, but it's recognizable and we are already using it in "Global Styles". Furthermore, those that are coming back to core WordPress from page-builders will instantly recognize the functionality and understand it.

I'm mostly trying to think of what a new user, someone who has never seen WordPress or a builder will think. Does the term "global block" make sense without having the context and experience of another, 3rd-party builder? Is there maybe some other term we can use that will make more sense than something that a random page-builder chose a decade ago and then all other builders adopted because marketing?

pshemek commented 2 years ago

Don't beat me but I'm starting to think that "reusable content" is the most accurate descriptor for this concept. The whole idea - from user's perspective - is about the content piece that can be used in multiple places. Not about the block-based construction (where patterns play their role). EN is not my mother language so I cannot judge if there's anything tasting bad in the word "reusable" in this context.

MikeWhelan commented 2 years ago

What is the process for deciding these issues?

Picking up on the points raised so far: From my experience, the main issue I've observed with 'Reusable Blocks' is that new/novice users edit them without realising they're changing other parts of the site.... and it could take a long time until they realise, if ever.

So: 'global', 'sitewide' or 'synced' are all an improvement - but I still think synced is the most effective way of dealing with this problem as it helps people to understand how they work and the ramifications. Perhaps the "are you ready to save" interface could be changed to: "are you ready to sync"? Notion explain the concept well.

I accept that 'global' is commonly used, but the end user, part time content editor is unlikely to be familiar with 'global styles'.

Content v Blocks v Widgets Widgets and blocks are somewhat interchangeable terms. The difference between "content" and "widget", could be explained as: "site authors create content - in the content area, whereas widgets could be embedded from other sites and mostly appear in sidebars, etc". 'Synced Widget' doesn't really make sense as most site builders know that editing any widget is a sitewide change.... but do end users know that?

My vote is for 'Synced Content'

jcasabona commented 2 years ago

I agree with the previous contributors who've stated "global" is a better term than synced. Synced, as noted, makes it seem like you're moving the blocks to and from some other server (ie Cloud syncing).

Global is a term that's been used by lots of page builders and other tools, and I think will properly invoke the idea that "this is a block that when I change it here, I change it everywhere."

ZebulanStanphill commented 2 years ago

It's also worth remembering the similarities between Reusable Blocks and the full site editing Template Parts. Come to think of it... what exactly are the differences between the two? A Template Part is basically just a glorified Reusable Block provided by the theme, isn't it? Or am I forgetting something?

placoderm commented 2 years ago

what exactly are the differences between the two?

This is the point I was trying to raise.

I also question calling them reusable/global blocks since they are really a group of blocks. At least they can be.

jameskoster commented 2 years ago

Currently the mechanics of Template Parts and Reusable Blocks are virtually identical, and for all intents and purposes one can be interchanged with another. But this probably wont always be the case.

The nuance is their intended purpose... Template Parts are reusable sections of layout that can be used across multiple templates. Consequently it is possible to assign semantic meaning to them, for example one might be defined as a Header, or a Footer.

We're only really scratching the surface of what this unlocks, but for now it means you are able to swap one header for another directly while editing a template. As block themes and the pattern directory mature a need will arise to surface contextual patterns that have been designed for these semantic purposes in the editor. IE when I'm editing my web site header I should be able to browse block patterns that have been designed for that purpose.

My 2c is that it doesn't make sense to insert Template Parts unless you're editing a template (although currently you can insert them anywhere 🥲), and therein lies the distinction. Reusable Blocks are to content, what Template Parts are to templates.

None of this really helps with what to call Reusable Blocks, but I just wanted to share the context :)

ZebulanStanphill commented 2 years ago

I also question calling them reusable/global blocks since they are really a group of blocks. At least they can be.

Technically, a reusable block could still be considered a "block", in the same sense that a Group or Columns is a block. It's just a block that is designed to contain other blocks. Additionally, the editor presents reusable blocks a lot like a Group or Columns: it is a single unit, complete with a single toolbar for moving, transforming, and performing other block-level actions. And on a technical level, it's literally a single block:

<!-- wp:block {"ref":1337} /-->

There is a caveat, however: reusable blocks generate no surrounding markup of their own, and thus have no boundaries on the front-end. There's been some discussion (#17640) about adding alignment controls to reusable blocks, which would require adding real wrapper markup, but I don't know if such a change is desirable. (It would make reusable block markup a bit more consistent between editor and front-end, though I wonder if the same could be accomplished with display: contents.)

Still, from the editor's perspective, the reusable block is just as much a block as a Paragraph, Group, or Template Part.

So I'd argue that having "block" in the title is completely accurate. However, that doesn't mean calling it a block is useful. Everything shown in the inserter is either a block or a list of blocks (AKA patterns), so whatever we end up calling reusable blocks, I don't think they necessarily have to contain "block" in the title.


On another note, I think both "global" and "synced" are improvements over "reusable", and I'd be happy with either. Both are more exclusively descriptive of the feature than reusable... at least in my mind. I do personally prefer "synced", but since "global" is already so widely used, I think it would be fine to go with that for the sake of familiarity.

"Reusable" is a term that could just as easily apply to Patterns, but I wouldn't think of "global" nor "synced" as applying to them. So in my mind, that's a definitive improvement in terms of distinguishing the purpose of Patterns versus Reusable Blocks.

jameskoster commented 2 years ago

One thing I would say is that you can describe a navigation menu, a widget area, or a template parts as a "synced block" or "global block". They all fit the description. So in this context perhaps the label is one level above where it should be.

Since there is already some confusion amongst these concepts (Template Parts and Reusable Blocks in particular), could this be an opportunity to add some clarity by coming up with a name that better indicates the content-centric nature of Reusable Blocks?

I don't think they necessarily have to contain "block" in the title

I agree.

paaljoachim commented 2 years ago

It is nice to see all the activity going on here! One major reason is this article by Sarah Gooding at https://wptavern.com/gutenberg-contributors-propose-renaming-reusable-blocks (There are additional naming comments under the article.)

ZebulanStanphill commented 2 years ago

One comment on that article that stood out to me was this one by Yui:

What about “My blocks” ? It emphasises them belonging to personal (or site) library of blocks, somewhat personal to user.

We’re using this term in russian WordPress translation instead of ‘Reusable blocks’ , there been some discussions about renaming that or finding another term, but ‘My blocks’ has also good point.

I've actually seen this exact terminology before in the LEGO Mindstorms NXT-G visual programming system. The drag-and-drop elements you pieced together to create programs were called "blocks", and you could save a group of them as a "My Block", which was essentially the equivalent of a function. My Blocks were literally the "reusable blocks" of NXT-G.

(In hindsight, it's really funny that people often use LEGO bricks to describe Gutenberg blocks, since LEGO had already used the blocks terminology over a decade earlier to describe a remarkably similar concept.)

However, I would not recommend the usage of "my blocks" as the terminology, mainly because it seems ripe for confusion with custom block types. I just thought it would be interesting to point out that there's actually a precedent for using the term "my blocks" for something remarkably similar.

richtabor commented 2 years ago

I like "Synced Blocks" because the function is in the name; synced blocks are synced together — edit one, edit all. Update the UI to have an "Unsync" control and its very clear.

"Global Blocks" is fine, but it also insinuates this block is available site-wide, which is not what we're attempting to communication.

ndiego commented 2 years ago

Ok so it seems like we have two frontrunners, "Global" and "Synced".

Stepping back a bit, there is a separate debate over the use of "Content" or "Block", since currently a reusable block can be a single block, or a collection of multiple. Because of this, it does make sense to use "Content" over "Block". However, I am concerned about introducing another term. We already have block, pattern, and template. The word "content" is very generic and could be used to describe all of them.

Therefore, on the second debate, I feel we should stick with "Block". Thoughts?

jameskoster commented 2 years ago

The name "synced blocks" certainly helps distinguish reusable blocks from block patterns, and has some other nice improvements in terms of the UX. As mentioned above "Unsync blocks" is much more elegant than "Convert to regular blocks".

However it doesn't really help distinguish reusable blocks from non semantic (general) template parts, which is similar point of confusion in the site editing context. There is currently no practical difference between these features and "synced blocks" doesn't add any clarity in that regard.

So if we do go with "synced blocks" or something similar, as a follow up I would like to explore ways we can address that confusion. Perhaps it's something simple like only making template part blocks accessible in the template editing context. Or perhaps synced blocks and general template parts don't even need to be separate things at all...

ZebulanStanphill commented 2 years ago

@ndiego

Therefore, on the second debate, I feel we should stick with "Block". Thoughts?

Well, a grouped set of content (which is what reusable blocks are) is, conceptually, a "block of content". So yeah, I think it would be better to stick with the term "block" over the far-more-generic "content". Reusable blocks are, on both a technical and interface level, literally single blocks (that contain other blocks). If calling it a " block" is redundant, then calling it " content" would be even less useful.

bvlgn commented 2 years ago

Global blocks makes most sense IMHO Or maybe Site Blocks (they work site wide, just like e.g. the Site Icon). Or maybe Shared Blocks?

I think that 'Synced Blocks' is still confusing to regular users

blogtutor commented 2 years ago

I welcome a name change here, but I'm not in favor of "synced." As others have said, that implies an activity of synchronization that doesn't make sense to me in this context, and this could cause more confusion.

"Global" may not be clear or intuitive to non-technical users.

"My blocks" implies that it's tied to the individual user's account.

My preference is "Sitewide" -- to me this is the clearest name and needs no explanation.

(Sidenote: A much bigger issue than the naming is that users should not be able to edit this sitewide content while editing an individual post or page. We have had many clients accidentally delete, or modify, their sitewide content when they didn't intend to. This got even worse with the interface changers in 5.8. I appreciate @mtias's mention of this comment from @VR51 about that...)

aaroncampbell commented 2 years ago

While "synced blocks" makes perfect sense to me, I worry it will be confusing to our broader, non-technical, audience. Asking some family and friends, most didn't garner any real meaning from the name.

"Global blocks" did better with the people I talked to. Although some, understandably, thought it just meant they could be used everywhere.

"Sitewide blocks" was almost solely understood as being able to be used across the whole site.

Interestingly, "Synchronized blocks" was very well understood as what we are intending. I was honestly a little surprised that synchronized was that much better than synced, but I guess the latter is more common in tech circles?

My biggest question here is: How important is it to have a two word name? "Globally Synchronized Blocks" is admittedly long but also pretty clear.

Note: I'm not sure how any of these translate, but I assume each language can pick what's best for them.

0aveRyan commented 2 years ago

I feel that if Reusable Blocks are renamed, the name has to be substantially clearer and more accurate to warrant the change burden hoisted on users. I'm not sure anything wordsmith-ed clearly passes that threshold.

On Reusable

On Synced

On Sitewide

On Global

Some ideas I explored incase it helps someone else

0aveRyan commented 2 years ago

It doesn't fit into the "__ Blocks" paradigm, but if "Template Parts" are reusable layouts of blocks for use in site templates, the natural pairing is "Content Parts" which are reusable layouts of content for use in site content. But again, I don't think this passes my personal bar for "warrants name change."

carlomanf commented 2 years ago

Reading the referenced comment that sparked this proposal, it appears that what the user really wanted was the ability to save their own patterns, which a mere name change would obviously not achieve. In that case, perhaps reusable blocks should just be renamed patterns, and the behaviour changed to align with theme patterns. This could also open up the possibility for existing theme patterns to be customised through wp_block in the same way as templates with wp_template and template parts with wp_template_part, although the usefulness of this for patterns is questionable.

The question then becomes what to do with existing instances of reusable blocks within post content, should they be automatically forked upon the next save or should the synchronised behaviour continue to be supported? Seeing the introduction of patterns, the query loop block, blocks in widget areas, template parts, and now #35746 does raise the question of whether the original form of reusable blocks is still needed.

placoderm commented 2 years ago

Seeing the introduction of patterns, the query loop block, blocks in widget areas, template parts, and now #35746 does raise the question of whether the original form of reusable blocks is still needed.

Oh, I think they are absolutely needed. They are very different from patterns. That's kind of the root of the confusion, isn't it

pshemek commented 2 years ago

Oh, I think they are absolutely needed. They are very different from patterns. That's kind of the root of the confusion, isn't it

Indeed, reusable blocks are not patterns. Let me say (imperfectly) patterns are about the repetitive shape of some content while reusable/global/sitewide blocks are about the repetitive content - itself.

carlomanf commented 2 years ago

Oh, I think they are absolutely needed. They are very different from patterns. That's kind of the root of the confusion, isn't it

Indeed, reusable blocks are not patterns. Let me say (imperfectly) patterns are about the repetitive shape of some content while reusable/global/sitewide blocks are about the repetitive content - itself.

I'm just echoing exactly what the referenced comment proposed, I don't have a strong opinion on this personally. Here is an excerpt from that comment that literally uses the word patterns:

This is the natural way to think about reusable blocks: not as a single global widget but as a template for reusable block patterns.

mtias commented 2 years ago

The ability to save custom patterns is definitely something we'd want to get to but it should be something done in addition to reusable blocks, not as a replacement. Reusable blocks are widely used in their current behaviour and that should not be messed with.

Once we allow saving custom patterns that work like patterns do, the confusion with reusable blocks will naturally be increased, hence the need to better clarify their behaviour in how we name them. Synced Blocks and Patterns remains the most clear distinction to me so far.

It also bears stating that we don't need to capture every nuance in the name itself and some of the suggestions like "Globally Synchronized Blocks" could be used as aids in contextual descriptions of the feature and so on.

blogtutor commented 2 years ago

@aaroncampbell's comment yesterday about asking family and friends reminded me that we should be surveying real users, getting outside of our developers' echo chamber. So yesterday I posted a poll in the private Facebook group for our clients -- we have hundreds of publishers in the group, all of whom are non-technical, actual end users of WordPress. Many of them use Reusable Blocks heavily and are very active on their sites. (Most of our clients' sites are monetized, high-traffic blogs, not "set and forget" portfolio sites.)

Most responses -- by far -- were that we should stick with the name "Reusable." (Note, too, that I initially goofed on my post and didn't include the "Stick with 'Reusable'" option. I added that a couple of hours later and appended a comment to notify people; it's likely there would have been even more responses for that option if it had been included originally.)

The comments were also very informative:

"Um....am I allowed to say we are overthinking this?"

"not to knock the alternatives but it seems straightforward to me as reusable...repetitive blocks we re-use over time. Syncing or other iterations seem to suggest real time API blocks that are way over complicated for most bloggers. Maybe it's the fact that many have yet to dive in and use them yet as I see in other blogging groups. We use (or reuse) these blocks and like them for ease and efficiency. I couldn't think of a different phrase to be honest. Just my perspective. I will go with the flow as others decide."

"But the reusable blocks are the individual components, and block patterns are a template that you put together using the reusable blocks. Right? Seems really clear to me"

"I am confused about what is confusing… They are reusable…"

"I think the current term is better than the other options."

"Considering how confusing it already is, changing the name of it may be even worse 😂"

"I don't think "reusable" is confusing at all. These new terms are more confusing."

And this last one speaks to what I think is the biggest problem with reusable blocks right now. People are very confused on how to work with them. We have many clients complaining of "disappearing blocks" and we think it's because they're accidentally wiping them and saving the reusable block:

"I'm never ever sure if I'm supposed to check the box before I publish or not...do I want to keep the changes do I not? UGH just leave them alone. They're reusable. Can't we just call them reusable? Signed...the very cranky old person."

mtias commented 2 years ago

Thanks for sharing that :)

placoderm commented 2 years ago

We have many clients complaining of "disappearing blocks" and we think it's because they're accidentally wiping them and saving the reusable block:

By far this is the bigger issue. Its maddening that such a destructive problem has been allowed to exist for so long. Its as if the people making WordPress aren't actually using it.

Thanks for taking the time to do that survey.

Vindulge commented 2 years ago

As one of the end users that weighed in with @blogtutor - don't change it. Spend the energy on improving education and ease of editing/use of the global reusable block series or even an easier way to create reusable post templates. We use 8 iterations of reusable blocks for food recipe repetitive content and like it.

Here are the constructive issues we ran into as we leaned into using it.

Just my thoughts.

jameskoster commented 2 years ago

Once we allow saving custom patterns that work like patterns do, the confusion with reusable blocks will naturally be increased, hence the need to better clarify their behaviour in how we name them.

I was thinking about this earlier today in light of the Pattern block that is being worked on, which feels like a precursor to custom patterns.

Once we enable the creation of custom patterns users would be able to use those, general template parts, or reusable blocks, all to effectively achieve the exact same result – a group of blocks that exist independently of any particular document.

As you said, the UX could do a better job of clarifying the behaviour, but I can't help but wonder if it really needs to. If these features all do such similar jobs and are in many ways interchangeable, do they really need to be separate features in the first place?


As a tangentially related subject, when exploring ways to refine the template part swapping interface, we figured that it probably made more sense to simply place patterns and existing template parts alongside one another, with minimal visual distinction. There was just no value in asking users to understand the difference between the concepts.