elastic / kibana

Your window into the Elastic Stack
https://www.elastic.co/products/kibana
Other
19.71k stars 8.12k forks source link

[Obs Nav] Create sub-nav hierarchy for stateful and serverless #190458

Closed paulb-elastic closed 1 week ago

paulb-elastic commented 1 month ago

There is requirement to change the design of the left navigation, to be based on a second level navigation pane, in place of the current expanding (nested) sections.

This needs to be applied to both stateful and severless (as a reminder, there are already some differences between the menu options available in stateful and serverless, and this will still be the case even with this new layout).

A clickable version of the figma mock up (specifically for stateful) can be found here.

Note that the Platform team (@sebelga) can help point us in the right direction if there are any questions on how this should be implemented.

Acceptance Criteria

⚠️ NOTE that @kkurstak is confirming the use of title/sentence case for the various menu headings and items

Stateful

The navigation options where there are two levels available for stateful are as follows (see figma for mock up) - note these use Sentence case:

Serverless

The navigation options where there are two levels available for serverless are as follows:

Breadcrumbs

elasticmachine commented 1 month ago

Pinging @elastic/obs-ux-management-team (Team:obs-ux-management)

kkurstak commented 1 month ago

Adding the link to our main figma file. I've passed all relevant information to the obs team - just in case any last-minute changes need to happen. I'll be back next week.

paulb-elastic commented 1 month ago

I've added a note about checking the breadcrumbs aren't impacted by this change

paulb-elastic commented 4 weeks ago

@kkurstak I've added a couple of items that @gbamparop raised were missing:

sebelga commented 3 weeks ago

I just had a quick look at the figma. If we want to use a chevron arrow instead of the 4 square icons used in security solution I think it would be good to confirm first that:

kkurstak commented 3 weeks ago

Update - serverless designs under this link. Waiting for final approval from Vinay :)

@paulb-elastic thank you so much for pointing out the misses. I must have been looking at another version of this menu - really sorry about that. I've added the two items.

kkurstak commented 3 weeks ago

@sebelga -

It plays nicely with an accordion group next to it (I am wondering if it is not confusing to have 2 arrows at 90deg difference)

Good eye! We have actually had a discussion within the team about this. For now we want the simplest behaviour - on click: show secondary menu; second click (unclick;) - hide secondary menu.

Any changes to the behaviour would be decided after we gather some user feedback on this. Our key here is changing the arrow appearance on the active state - instead of adding an additional interaction.

The security team agrees to change their icon (we probably want consistency)

I'm not sure this is in the scope for now. The pattern presented here works a bit differently from the security pattern. Not an ideal solution, but I don't see this as a must.

kkurstak commented 3 weeks ago

I have serverless screens with the final comments from @vinaychandrasekhar. All logic is well-described in the figma. I have spoken with Elizabeth about starting a continuous research project on the Observability navigation - will get back to this topic in the early autumn, as we manage all current initiative priorities first. Thank you for all your support

sebelga commented 2 weeks ago

I'm not sure this is in the scope for now. The pattern presented here works a bit differently from the security pattern. Not an ideal solution, but I don't see this as a must.

Can you clarify your answer?

What I tried to say is that, the icon is not customisable (and we probably don't want to allow it). So if we decide to go with an arrow, it will change the icon for the security team too. This is a reusable component where we want consistency for all users across solutions.

kkurstak commented 2 weeks ago

Thank you @sebelga for clarifying.

One more question from my side - what about the behaviour? The solution we are proposing consists of 1 action -> the clicking on the navigation item opens the secondary menu on the right. Security's pattern consists of 2 actions -> clicking on the icon opens the secondary menu on the right, whereas clicking on the navigation menu title opens a landing page.

With these changes, will the icon still be not customisable? [as these menus would be working differently - the pattern we want is different from the security's one]

sebelga commented 2 weeks ago

With these changes, will the icon still be not customisable? [as these menus would be working differently - the pattern we want is different from the security's one]

Everything can be done, I am just a bit worried about the timing to add another group type to the side navigation.

Is the design finalised? If so it would be good to create an issue for our team with this specific ask so we can keep track of it. Your team would be blocked by it to be able to change the oblt navigation.

kkurstak commented 2 weeks ago

Thank you @sebelga . Yes, the design is finalised. This planning would be out of my control - @vinaychandrasekhar could you please have a look here?

vinaychandrasekhar commented 2 weeks ago

@sebelga are we truly blocked by it or can our team help? I'll also check in with @jasonrhodes tomorrow.

sebelga commented 2 weeks ago

are we truly blocked by it or can our team help?

Yeah sorry I meant blocked by the component not (yet) supporting it. Sure @jasonrhodes can help 👍

paulb-elastic commented 1 week ago

Just checking in on this:

Also, do we need to coordinate this Observability change with other solutions, or can we make this and merge it into main as we're able, at which point it will shortly after be released in serverless (and then hit in 8.16 for those opted into the new navigation)?

sebelga commented 1 week ago

are you both aligned about consistency of the arrows

Yes 👍

Is the expectation that @jasonrhodes's team contribute to change this so it is customisable

I synced with Jason and he is all set to make the changes in the SharedUX component

do we need to coordinate this Observability change with other solutions, or can we make this and merge it into main

You don't need to coordinate with other solutions, the change to the component will not affect them.

jasonrhodes commented 1 week ago

@kkurstak I'm making a new issue (that will reference this one) to clarify a lot of things for my engineers to pick this up ASAP. I am looking at the linked Figmas and I think the Serverless design frames all say "Stateful A" as their title. Can you change those so we can avoid confusion there? I'd change them but I don't have edit access on the Figma. Thank you.

For those following along, this is the other issue I'm creating. I'll close this one once I've got that one finished and delivered to my team. Thanks to @sebelga for the excellent walkthrough last week (which I've recorded and will share with my team, whoever picks this up).

vinaychandrasekhar commented 1 week ago

Folks (@jasonrhodes / @kkurstak ) please note there are a couple bugs in the Figma that we need to fix during our implementation. (thanks @arisonl for letting us know!).

Goal would be to keep the Machine Learning menu intact, the way it's currently presented in the Management / Stack Management area.

cc @paulb-elastic

jasonrhodes commented 1 week ago

This issue has been fully replaced by https://github.com/elastic/kibana/issues/192050