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

"Type a slash (/) to change..." is misleading, misses huge opportunity #4061

Open
kenmanheimer opened this issue Dec 7, 2022 · 13 comments
Open

Comments

@kenmanheimer
Copy link

Describe the bug
The "Block" sidebar instructions to type a "/" to change block type mystified me until I read the discussion where the empty block instructions was proposed. I think it's essential to make the functionality discoverable this way, but the word "change" suggests (to me, and probably others) that it was supposed to be used in a block that already had a type, or that had content, both of which are exactly wrong.

I strongly suggest changing the instruction to indicate that this is to be done in a new empty block, and that it is to set the block type, not change it! I would combine this with information about using the "+" sign.

For instance:

To set the block type, click in a new empty block then:

  • Click on the "+" sign to select a block type, or
  • Type "/" and use the autocomplete menu to select a block type.

More context
I had been using Volto for several weeks, mystified by the "/" instructions and assuming it was just wrong until I stumbled on the discussion where the instructions were proposed. I am a big Notion user, where "/" is used in related but extended ways, so that may have been part of why I was misdirected. However, "change" is just wrong, and unnecessarily misleading, and the opportunity to provide guidance just where it's needed, in the empty block "Block" sidebar tab, should be used to maximum advantage.

@kenmanheimer
Copy link
Author

@sneridagh and @tisto, this issue might make a significant difference for people's first impressions of Volto. Considering the imminent release of Plone 6, there might be an unusual large amount of people getting their first impression, so I thought I'd elevate attention to this small change in case it's seen to possibly make a positive difference for those first experiences.

@davisagli
Copy link
Sponsor Member

@kenmanheimer You might want to try the experimental add button implementation that was added in #3815.

https://6.dev-docs.plone.org/volto/configuration/experimental.html

It doesn't change how the / key works, but it makes it so that you no longer have to add an empty block before you can see an add button.

@tiberiuichim
Copy link
Contributor

@davisagli I think this ticket is about a small improvement (some help text) that would make a difference for those faced with "default Volto experience". As far as I'm concerned, this could be easily implemented, as the content of the sidebar for the text block was mostly a "placeholder" until we figure out exactly what we want there (I can say that, as I'm the initial author of that implementation)

@tiberiuichim
Copy link
Contributor

Actually, changing the placeholder for the text block would be even better.

Also, for context: #3811 (comment)

@stevepiercy
Copy link
Collaborator

This should also be written in the Editor docs. See issue #3827

@kenmanheimer
Copy link
Author

@kenmanheimer You might want to try the experimental add button implementation that was added in #3815.

https://6.dev-docs.plone.org/volto/configuration/experimental.html

Yes, I heard about this in response to the first Volto issue that I posted, #3856 (comment) . I'm quite eager to give it a try, but have been slow to do so because I haven't yet implemented any Volto code artifacts. I may be missing something, but it seems like I would have to implement something like a trivial addon and include that in my build in order to change the experimental setting - is that right?

It doesn't change how the / key works, but it makes it so that you no longer have to add an empty block before you can see an add button.

Yep, it looks to me a more clear way to arrange the "+" functionality!

@kenmanheimer
Copy link
Author

Replying to my own question, it occurred to me that in the "build from packages" method I could include the experimental setting code in some of the package configuration code. I'll have to take a look at that.

@kenmanheimer You might want to try the experimental add button implementation that was added in #3815.
https://6.dev-docs.plone.org/volto/configuration/experimental.html

Yes, I heard about this in response to the first Volto issue that I posted, #3856 (comment) . I'm quite eager to give it a try, but have been slow to do so because I haven't yet implemented any Volto code artifacts. I may be missing something, but it seems like I would have to implement something like a trivial addon and include that in my build in order to change the experimental setting - is that right?

It doesn't change how the / key works, but it makes it so that you no longer have to add an empty block before you can see an add button.

Yep, it looks to me a more clear way to arrange the "+" functionality!

@djay
Copy link
Member

djay commented Mar 24, 2023

@kenmanheimer notion has "'/' for commands..." which is perhaps more general and inviting.
No harm in having better wording. I agree that changing the block type is not actually what you are doing. since it doesn't let you change it halfway through. it's actually giving you a choice of type to get a text block or else / to pick something different

With regard to the the + to add, #3815,
I've been using this in production @davisagli and what I've found is that the most common thing you want to do is add a text block after something. If its after a text block then you will hit enter and all is good. but after a listing or something else you commonly click (+). The annoyance is that you keep having to type text or pick it to get the text block.
I'm wondering if it makes more sense for the + to insert a text block with the invitation to type "'/' for commands..." so users can pick something different if they want.

@davisagli
Copy link
Sponsor Member

@djay Maybe. But you can still press Enter to add a text block even if the currently selected block isn't a text block. At least, I just tried it and it worked to add a text block after a listing block.

@djay
Copy link
Member

djay commented Mar 24, 2023

@davisagli I know this but it doesn't feel natural and it's not very discoverable. even though i know it works I still don't do it. Try making a bunch of pages

@tiberiuichim
Copy link
Contributor

It works with all blocks that don't handle their own focus (which is most blocks).

this.props.handleKeyDown(

if (e.key === 'Enter' && !disableEnter) {
onSelectBlock(onAddBlock(config.settings.defaultBlockType, index + 1));
e.preventDefault();

@djay
Copy link
Member

djay commented Mar 25, 2023

Regardless if you believe me that users won't discover and use this without training,
It still makes sense that the click based way of adding a block should optimise to insert a text block over other blocks as that is far more common. One click would be ideal.
Again, get new users to make a small site and see for yourselves.

@stevepiercy
Copy link
Collaborator

Back to the issue of the slash as reported by @kenmanheimer, I consider myself a new user to Volto. I discovered / out of curiosity. I was editing a text block. Then I noticed the active tab Plone Site to the right, along with another tab Block. "What's this?" thinks me, so I clicked it, and discovered all the shortcuts that I never knew existed. That resulted in two issues #3811 and #3827.

To improve this, I would change the text block's placeholder attribute (as @tiberiuichim suggested as a fix) from Type text... to Type text, or set the block type with the "/" key, and choose the block type from the menu.. Unfortunately that is too verbose and won't fit on narrow screens. For brevity, and to make it fit, Type text, or set block type with "/" key.

Screen Shot 2023-03-24 at 9 15 26 PM

Would that resolve this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

5 participants