-
Notifications
You must be signed in to change notification settings - Fork 458
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
[UI Feature] Reconsider Katib UI design #1277
Comments
Issue-Label Bot is automatically applying the labels:
Please mark this comment with 👍 or 👎 to give our bot feedback! |
Hey @andreyvelich this is a great idea. I think that just starting to change the theme colour would help in making Katib feel more integrated. Also, it's weird that when Katib is embedded in the Centraldashboard's iframe, the top banner has some padding from the top. Also, the main body has a margin on all sides, so that top bar does not adhere to the iframe borders. It's a bit strange and it's not quite clear to me why the UI was implemented in this way, maybe you can shed some light. Fixing these two things alone would greatly improve how the Katib UI looks. I'll throw an additional idea to start thinking about how to reorganize a bit the UI to make it more intuitive and user-friendly: Currently the sidebar has two collapsible sections. One called "HP" ("Submit"/"Monitor") and one called "NAS" ("Submit"/"Monitor"). So each "Submit" or "Monitor" view is entirely a new page. I think that the UI would be much easier to navigate if the Monitor and Submit views were part of the same "page" (i.e. URL). This would mean that the "HP" page shows the current list of experiments, and that a "Create Experiment" button on top could bring up a popup with the submit logic (or behave similarly to how the Kubeflow Notebook app to spin up a new notebook, check it out!) |
Hi @StefanoFioravanzo thank you for the comment!
I think that is because we have padding and margin for root element (https://github.com/kubeflow/katib/blob/master/pkg/ui/v1beta1/frontend/src/components/App.jsx#L25-L27), we can remove it, but we need to fix other pages also, they are dependent with this style.
Do you mean that in Menu we left 3 sections: HP, NAS, Trial Template? As well, I have 2 ideas in my mind.
|
Another improvements that I think would align Katib to what KFP does, is having a page with all the Trials. Each row would have a link to the experiment page, and vice versa. It would be very useful in case you have multiple experiments running, so you have a view over what actual Trials are running concurrently. |
@andreyvelich What are these "other pages"? |
Maybe we could add this list to the main page also in addition to Experiment list? |
We need to investigate in which pages we need to add this margin, because they are all under root element: https://github.com/kubeflow/katib/blob/master/pkg/ui/v1beta1/frontend/src/components/App.jsx#L34-L45 and, if we disable margin from the root element, all other components will move. |
I would advocate for a brand new page that just shows all the Trials, just like the "Runs" page in KFP shows all the pipelines. Then the Home page could show just the "Running" Trials |
Why do you think it is better to create separate page with trial list instead of adding this list to Main page? Looking for KFP UI in pipelines page user can upload/delete pipelines, but with Trials user can't make any manipulations. |
Because the "main page" of a web app is supposed to be a collection of quick actions, summary of the state of the app and it's resources etc.. Since we don't even have a single view of all the running (and past) Trials, it would make sense to start from there.
All of this information can be shows in the Trials page, and then we can recycle some of this logic in the main page to show just the running Trials. Also note that: in general we would like to push for Kubeflow to become a more integrated platform. That is what we showcased in the community meeting with a revamped centraldashboard sidebar (we will push this upstream real soon). In that instance, we are aligning the concept of KFP Experiments and Katib Experiments (because semantically they are the same thing!) and we would love to be able to align KFP Runs with Katib Trials, but there is no corresponding page in Katib as of now. Moreover, a Katib "Main page" would make sense in a Katib standalone deployment. When integrated in Kubeflow, you would have specific buttons in the Kubeflow Centraldashboard sidebar that point to Katib Experiments, Katib Trials, etc.. If we want to have a summary of the Katib state, we could extend the Centraldashboard's main page to show some Katib related information. And this is totally doable! But I'd say this is a next step |
One thing I'd like to add is that aside from the style-guide we also created an SDK for namespace sync for Kubeflow sub-apps. This SDK will allow the app to know whether or not it's running in an iframe, and what namespace is currently selected, along with event binding for said namespace selector.
|
@avdaredevil Absolutely, even KFP uses the Centraldashboard's shared library to automatically receive the current namespace. It should be quite simple to integrate the Katib UI with this. (KFP example: https://github.com/kubeflow/pipelines/blob/8a7ea0fa0d868a95396c1f843f6676c8025c982a/frontend/src/lib/KubeflowClient.tsx) |
I got your point @StefanoFioravanzo, thanks. Do we want to have just a list of Trials or also add some action when user clicks on the Trial? |
@avdaredevil We have already integrated this SDK to Katib UI: https://github.com/kubeflow/katib/blob/master/pkg/ui/v1beta1/frontend/src/components/KubeflowDashboard.jsx#L15-L28 (ref PR: #982). |
/priority p2 |
Issue-Label Bot is automatically applying the labels:
Please mark this comment with 👍 or 👎 to give our bot feedback! |
1 similar comment
Issue-Label Bot is automatically applying the labels:
Please mark this comment with 👍 or 👎 to give our bot feedback! |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
/lifecycle frozen |
We can close this issues since we are creating new Katib UI: #1421. |
/kind feature
See comment: #972 (comment).
I think we should try to optimise Katib UI design to make Kubeflow User Experience more uniform and clear.
We already use Material UI, which make components similar to other Kubeflow UI application.
We can start with colours and try to use Kubeflow style guide to mark buttons, menu, etc.
@gaocegege @johnugeorge @avdaredevil @sperlingxx please let me know, if you would like to change some UI components.
/cc @jlewi
The text was updated successfully, but these errors were encountered: