akuity / kargo

Application lifecycle orchestration
https://kargo.akuity.io/
Apache License 2.0
1.75k stars 145 forks source link

Descriptive names for subscriptions #2839

Open mmclane opened 4 weeks ago

mmclane commented 4 weeks ago

Checklist

Proposed Feature

I would like to be able to give a name to subscriptions in a warehouse. Today it look like this: image

Motivation

This would allow them to be more descriptive and make more sense for none-technical folks.

Suggested Implementation

image

krancour commented 4 weeks ago

I agree. fwiw, it's the way it is because every Warehouse and Stage is a Kubernetes resource, which all naturally have names. Subscriptions are just details of a Warehouse, so they do not. Adding an optional name field seems like it would be a nice convenience. Thank you for this suggestion!

mmclane commented 4 weeks ago

I would like to add to this a little bit.
Today there is only an icon that shows which subscription an artifact comes from in the freight timeline. If there are two artifacts of the same type but from different subscriptions, that could be confusing and difficult to know what is changing. I do know that tool tips can be used for this but it definitely could be more clear. If you do have a descriptive name for subscriptions I would like to see that name repeated in the freight timeline.

Alternately you could use a colored boarder or something to show which subscription each artifact came from.

image

or something like this could even work.

image

Or both?

krancour commented 4 weeks ago

No more colors...

We use colors already to indicate the flow of Freight through a pipeline (the Warehouse border and the connections between nodes) and we also use colors for each Stage so you can easily see what's running where...

And the palette of colors that is aesthetically pleasing AND easily distinguished from one another is limited to such an extent that colors already get reused more than we would like.

If we add colors to more things, it's going to become increasingly harder to see what's actually going on.

mmclane commented 4 weeks ago

I hear that.. but something needs to tie those together. It becomes increasingly difficult to see the difference if you have multiple container repo subscriptions in a single project.

mmclane commented 4 weeks ago

Take this example. What freight goes with which warehouse. Which subscription matches with each artifact?

image

mmclane commented 4 weeks ago

This is even worse because it doesn't even show all of the artifacts.

image

krancour commented 4 weeks ago

There's already a separate issue to color Freight borders with the Warehouse color. That's fine because it correlates one thing to something else that is already color-coded.

Marvin9 commented 4 weeks ago

I have improvements that could resolve the subscription visibility issue. I agree with @krancour that colours are not solution rather it could lead to confusion.

  1. Increase the Warehouse dropdown reachability. Right now it is far right side on screen but I think if we put it in left-most, the readability will increase.
  2. Highlight the selected warehouse from dropdown (if selected individual). Right now if we select warehouse from dropdown, there is filter icon in the pipeline but I believe its not enough and needs more "highlight" design.
  3. Re: When there are more freights, the box adds scrollbar that leaves last freight invisible at quick sight
    • Short term solution: Let the height flow naturally to fit all the freight in box
    • Long term solution: I would split the freight timeline into rows, each row will have distinct freights (1st row git, 2nd row images...). The column logically aligns the freight same as it is right now but splitting into row would open doors for flexibility for different choices of view like show only git or keep the container images in first row)

All these improvements are not directly related to the issue but overall freight/warehouse UI. I will create separate issue for that.

krancour commented 4 weeks ago

@Marvin9 mostly agree with everything, but have some skepticism about:

Long term solution: I would split the freight timeline into rows, each row will have distinct freights (1st row git, 2nd row images...). The column logically aligns the freight same as it is right now but splitting into row would open doors for flexibility for different choices of view like show only git or keep the container images in first row)

We've seen cases in the wild where Warehouses subscribe to lots of different repos. I don't necessarily think that's a good idea because it's naturally quite hard for humans to comprehend the sum total of what's in a piece of Freight when there are dozens of artifacts within... but this is a thing that some users are doing. With this in mind, a row per subscription in the Freight Timeline may eat up all vertical space in the viewport and then some.

Marvin9 commented 3 weeks ago

Oh wait, I meant the same freight timeline view as it is now but just more connected dimensions (as of now its just freight box with freights), once we split into rows there will be common stretched box (say for same git hash for 3-4 consecutive freights). I will put some drawing