-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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 more choice when manually creating a new Navigation Menu #56245
Comments
If we wish to pursue this we are lacking any Design direction. Adding relevant labels. |
@WordPress/gutenberg-design Given that creating new menus is probably a common task for anything other than the most basic of sites, do you agree that we should pursue this proposal? |
It is a very good idea Dave @getdave Perhaps when setting up the page structure that a menu navigation should automatically be created as a kind of default navigation. This could also be helpful for various menu plugins that need a default Nav to start out with. |
I was exploring a new approach to the Menu tab for managing menus with basic features. The core change is replacing the page arrangement with a menu list that shows published pages by default, just like the purpose of the Page List block. The menu creation happens in Inspector whereas the page arrangement in List View. The page-movement feature is expected to happen and works better in the left sidebar. I think the main UX pain points is trying to recreate this functionality in Inspector. Here are two key flows in mockups. Inserting the Navigation blockThe default state has a toggle on for showing all published pages. This intends to avoid having empty states where creating a menu is the predominant action. Creating a new menuThe menu creation happens in a custom section where adding a new one sets the name automatically and renaming it in a modal, similar to setting shadows in Styles. |
I can see that working, especially the emphasis on synced menus, having to use the very simple toggle to "unsync" and make it custom. That's great progressive disclosure. Curious about more thoughts, CC: @WordPress/gutenberg-design One nitpick, the ItemGroup leveraged can be a great way to show flyouts with properties for each custom menu you create, or even open a modal if need be. But usually those items are exactly 40px tall. I also wonder if we need the ellipsis for each, presumably it's there for rename, duplicate, delete, though I wonder if those actions should sit inside the flyout or modal either? |
I see value in adding friction to enable an existing menu, preview it, and display editing actions. But I'm not sure which components are the best for the latter according to heuristics. Here is a quick mockup of what @jasmussen's idea might look like. |
Some good instincts there. As a followup to the wonderful "Show published pages" toggle, is there a way we can improve the building aspect? There seems to be an implication from that toggle, that you can sort your menu items in active vs inactive, perhaps it'd be nice to even be able to drag and drop between those major categories. If that were the case though, should that be more prominent than choosing the active menu? Is there a design which simply shows the menu you have active, but relegates the action of choosing a different menu, or creating a different menu, in a dropdown? Without going in circles, because we've had such a dropdown in the past, the fact that you introduced the toggle which affords progressive disclosure well manages the prominence, which was the main challenge with the dropdown in the past. |
Thanks for the feedback. I was exploring an idea for the active/inactive point that surfaces the published pages and their order in a modal to add them without leaving the Editor. I want to avoid the menu item ordering interaction in the Inspector, given that it is expected and successfully solved in the ListView. By keeping the menus visible in the block Inspector, the creation and edition flows happen in context in addition to the menu item order. Forcing users to go to the admin to switch menus seems unnecessary when other blocks also have content settings in Inspector tabs. Here below you can see three key flows. Inserting the Navigation blocksAdding published pagesCreating a menuWhat do you think? |
👋 What is this about? We should not have this anywhere about the block experience afaik. |
There are many things I don't quite follow, possibly b/c I've been.a bit out of the loop re navigation lately.
Where did this come from? The issue started by @getdave is about the 1st steps of menu creation avoiding.a blank state. I don't even know where was this a problem or if it's an opinion. But then later in the proces we move to do an entire revamp of the navigation building UX. We aded the inspector view specifically to keep the context in the block. We had the list view working concurently with the inspector list view. I think I remember precisely rising the issue that "we can already do this in the list view" and getting feedback that the list view is more for power users and block context is more cognitively accessible. So if we want to update this whole thing, we need ot provide something to support the need to change and something to allow us to decide if the followups are actually better. |
I appreciate the energy here @fcoveram 👍
@draganescu I think perhaps this is the missing context. The Issue seems to have pivoted slightly to exploring Navigation more widely. I think we should break that out into lower level goals. I support the following:
These should be covered in the Tracking Issue which I have recently been updating. I am highly nervous about undertaking any big revamps to the Navigation block interface. This could absorb a lot of resource and energy and I feel there are tasks which would potentially have a greater impact whilst making use of what we have today. I'm not saying we shouldn't strive to improve, but I wanted to sound a note of caution and ask whether it's possible to translate some of the thinking here into the Issues identified in #38275 in order that we can delivery impact in a forthcoming release. I'll look forward to continuing to work on this. |
Thanks for all your thoughts
It’s an opinion that comes as a product designer and WordPress user that, from time to time, interacts with other similar services. I don’t handle user data to inform possible frictions with the current experience. However, I do see an opportunity to improve the current way of creating and editing navigation menus. If the above is insufficient to go down that route, I’m fine to push back my ideas and address the specific point reported at the beginning of this ticket.
Great input. Thanks for sharing it.
Yes. Absolutely When I started tackling this issue, I connected points discussed in other issues, and as a consequence, my proposal began to involve different ideas simultaneously. Regardless of the above, here below you can see a narrow version that only spans the menu creation part for use cases with no published pages, no navigation menu, and multiple menus. I finished this prototype a few hours ago so it misses the feedback about keeping the block-context interaction. I acknowledge the ambitious scope proposed in the previous message, so I am more than open to taking the most relevant parts of this idea and continuing from there. Menu.creation.-.flow.1.i2.3.mp4The above involves the auto menu and active menu points made here. The addition/creation of pages in a menu needs to be added. And with the input shared by @draganescu, the block flow in the Inspector could remain as is, and replace the A key question here is what the UI should suggest/insert when toggling off the sync. If users don’t have a menu, showing all published pages without menu assignation feels like missing context. On the other hand, if users have several menus, which one becomes active? For both use cases, the idea prototype is a temporary menu that requires users to click on save to formally save the menu. An alternative could be creating a menu immediately when toggling off the sync, and show the active icon and unsaved “changes” status for users without menus. Still, depending on how users experienced the accidental menu creation, this may introduce another problem. I'd like to know more about the user data gathered there. This is my first design contribution to Gutenberg, so sorry for missing context and derail the issue’s core goal. I appreciate your welcoming boost @getdave |
Hey @fcoveram - I think your designs are quite cool (👏🏻 ) and definitely they offer a more lean UX. But I also think there is a lot to unpack in what they propose. Ideally we should make a new issue and discuss all the new stuff there as it seems there is a lot to track:
I think that the ensuing discussion will push the cool work to be even better. It will also allow tracking the likely many PRs to implement it. As for the current issue, I believe we should scope our explarations to using the current UX as the basis for seeing if we can make new menu creation more intuitive. If we can't that is also fine. |
This is a part of the mockup work here that I personally see as very potent, and something that could be explored even outside of every other change. And I don't see it replacing/removing the Page List block at all, it's abstracting it away. It's a way to say: when this toggle is on, your menu stays in sync. It's a way to divide the navigation contents into two states: synced or unsynced, and provide UI progressively unlocking based on that. Behind the scenes, it does so using the page list block, but you don't have to know that. Toggling this off, is the only part where things get a bit curious as to: what do we do.
2 seems ideal, but likely requires both a mindset change as to how navigation menus are saved, and some code. Curious your thoughts. |
Thanks for all the thinking here. It's very refreshing. I completely support a holistic view of the experience. The current flow of moving from "auto-menu" (i.e. Page List) to "synced" Menu is very poor and needs to be improved. I see quite a number of good ideas here and some other things I'm concerned about. I'm going to take a bit of time to consider them carefully and work out how we can best proceed from here. Thanks again. |
When users create a new Navigation Menu via the block (see Inspector Controls on the List View tab) they are immediately given a new Navigation Menu.
This menu is empty - which can be confusing or undesirable (although this is highly dependent on use case and the user).
I propose that in this specific scenario we provide the user with a choice about what "new" means. For example, we could show a Popover/Modal with options to include:
This would provide the user with more choice and help to avoid the scenario where menus are accidentally created (something that is regularly reported as an Issue).
Please note that we would not have this behaviour on block insertion. This should remain a frictionless experience.
The text was updated successfully, but these errors were encountered: