Cockpit Podman redesign! #16059
Replies: 8 comments 22 replies
-
Thank you @garrett ! So I would drop the "Run as user" line and renamed label of "Owner" to "Run as user". For now it would be "System" and current user (omitted when logged in as root) and if we once support running containers as arbitrary users (cockpit-project/cockpit-podman#716) then we can convert it into a dropdown. Thoughts? |
Beta Was this translation helpful? Give feedback.
-
Thanks @garrett , this is really nice! Admittedly I squinted a bit when I saw the image list on the top (as it's not really the primary thing users think about), but the rationale makes sense -- you fear it would otherwise scroll off and not be discoverable? If we can make image lookup in registries work fast enough for type-ahead search, that would be really nice. It does take a few seconds, so a wee bit too slow for typeahead auto-complete, but we can experiment with some spinners. If not, and that feels a bit clumsy, we still have the old full-blown dialog for downloading a new image. Overall it would still a net UX win, though. |
Beta Was this translation helpful? Give feedback.
-
I would like to focus on the main page design itself, not the dialogs. |
Beta Was this translation helpful? Give feedback.
-
The mock-ups looks amazing. Great work. Down the road I think it would be compelling to drive the process of |
Beta Was this translation helpful? Give feedback.
-
There is I don't see this checkbox in the modal, so stating it here, so we hopefully don't forget about it :) |
Beta Was this translation helpful? Give feedback.
-
We're working on an image autocomplete that combines the source and tags @ cockpit-project/cockpit-podman#773 (a current work in progress). This PR implements a create button, the combined image dropdown, and will probably include a download indicator when a container is created (or that will be in an immediate PR right after this one). Combing and expanding the feature of the image dropdown will a little bit of a change for the create dialog, but will mainly impact the source, image, and tag dialogs. These changes should greatly help the container-oriented workflow. @jelly and I had a few meetings about it and today's meeting notes should help illuminate the direction we're taking it. (Many will land in this PR, some are feature enhancements for the future). Popover textInfo popover with something of the following (better explained): (i) popover text for
Placeholder in the dropdown: "Search string or container location" Helper textBelow the dropdown
Verification like this: Minimum for dropdown
User versus system images...
Future
|
Beta Was this translation helpful? Give feedback.
-
I found some older notes I made while brainstorming for the design. A lot of this has been funneled into the redesign, but some of it was left in these notes. There's a bunch of ideas in this list, and just because something is here, it doesn't mean we should implement it. But it does touch on some things like import/export, which are hinted at in the mockup (but not explicitly stated otherwise). Also, some of these concepts already now exist thanks to @marusak and @jelly working on the redesign and adding features outside of the redesign as well. 😉 For the sake of preserving some of these ideas, here they are:
New UI in pods mockup: cockpit-project/cockpit-podman#238 (comment) |
Beta Was this translation helpful? Give feedback.
-
I discovered today there is also |
Beta Was this translation helpful? Give feedback.
-
Hi all! I'm the designer on the Cockpit team and I've been working on a redesign of the Podman UI within Cockpit.
Intro
I've worked with Matej (@marusak), the main developer of the Cockpit-Podman page to come up with a few new concepts and would like to share a preview of what's probably going to be implemented in the not-too-distant future.
Disclaimers
These mockups serve as guidance on the direction of Cockpit-Podman. When they're implemented, it will happen in parts, so don't expect all the new features to land at once. And things may change while we're implementing them, of course. 😉
Goals
Main page
Here's the mockup of a collapsable images section at the top, a new containers list, and contextual menus to the side:
Highlights: Images list
I wanted to downplay the importance of images, and make them mainly an implementation detail as much as possible. You should be able to simply create a container with an image that exists on the network (either on a local server or on an Internet container registry like Fedora's, Quay.io, Docker Hub, etc.) or one that's already local (as it was built locally or already downloaded).
The image list would get quite long and push the container list down the page if it was simply at the top. This is a problem, as containers are actually what people are interested, not images for the containers.
The solution would be to either have a stub and put the full list on another page (similar to what Cockpit already does with the Firewall UI) or make the list itself expandable on the same page. If the images were on a sub page, however, then that would break the existing functionality of being able to start with an image and create a container from it.
Taking all that into consideration, I realized that we do need the list on the main page, but it needed to be in a collapsed state.
I've "bubbled up" as much important information as possible in the form of a summary. Most of the time, you care about images only when there are newer versions or if they're taking up too much space. In the unexpanded view, we intend to have a way to prune unused images (to free up space) and pull down new versions of images (to take up more space 😉, and more importantly, get new versions of the container images).
Here's a mockup what the Images list looks like when expanded:
The play buttons have been changed to much more explicit "create container" buttons and several new options have been added.
Highlights: Containers list
The main goal for the containers list is to make it more modern and similar to what we're doing elsewhere in Cockpit.
You might note that there's a big inconsistency with the new Machines page though, but with good reasons:
I did discuss this with Matej and we did go back and forth a bit on this, but settled on the expandable lists as you see in the mockups due to the above reasons.
When containers are expanded, there are details on the main page. I have also mocked up how they would be grouped and how they would wrap on smaller size screens. The mockups above show it in full width, and this starts with a first wrap on a narrower screen and goes all the way down to mobile:
Create new container modal dialog
Instead of having a 2-step process to create new containers, I wanted to merge the download image step into the creation step. As the image download dialog was basically a source selection and a list, I moved them into a hybrid modal dialog using an autocomplete.
Here are wireframes showing how that would work, with a more featureful main view and integation with ports and such moved to another tab:
The wireframes above gloss over how the source and autocomplete dropdowns would work, but I have that covered in this wireframe:
As having tabs in modal dialogs is something we're not currently doing in Cockpit, I wanted to make sure this would look fine in an implementation, so I also made a high fidelity mockup to see what it would look like:
(We will probably consider if using tabs like this, which is consistent with the rest of Cockpit, or a box version of tabs makes sense visually. It's just a flag in React and we can determine this at the time of implementation.)
This modal is intentionally wider than most other dialogs in Cockpit, as there's a lot of stuff packed in there... especially in the integration view (see modal wireframes above). Because of how these widgets are already made in PatternFly, they will collapse down and work on smaller screens too (mainly by wrapping and getting taller). We'll make sure it works in smaller sizes, but should also optimize it for larger sizes so it doesn't feel too cramped. (Tabs are part of this.)
Also: The modal will have the container image pre-selected when creating a container from an image. As it will also have the pod specified when creating the container from a pod group.
Outro
I hope you like this behind the scenes view of what we're thinking about doing for the future of the Podman part of Cockpit! Please share any ideas you might have that could improve the Podman UI, especially if you're using containers (either Docker or Podman).
Additionally, there are a few new concepts in these mockups that we might use elsewhere in Cockpit:
And we might consider something like the create new container dialog for the "Create VM" dialog Machines page.
Remember: Design is a process, and we'll be iterating as we go along too! (Everything you see here is subject to change, of course.)
Beta Was this translation helpful? Give feedback.
All reactions