-
Notifications
You must be signed in to change notification settings - Fork 29
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
Only show relevant columns in experiments table #1994
Comments
Thank you @dberenbaum for bringing this in, I am working on a few new concepts and this may help me to have a better story and more convenient workflow. I am sharing the ideas. Let's discuss it friendly, please :) Only show relevant columns in experiments table + and collapse rows without changes or if it's not important to show hidden expS in between |
Thanks @maxagin! I worry those are a bit too specific and inflexible regarding hiding/unhiding only one of rows/columns. Comparing to Studio, they hide rows by default and provide an option to expand to show all, right? I think this could be a sensible default (and probably one we should consider in the CLI also). The default table could hide redundant columns and rows and provide options to:
What is the way to unhide columns now? I can't seem to find it. |
and
@dberenbaum, you will need to run some exps before having information in the table and plots. No?
At the GUI level is at the sidebar/columns
I do not think we have “unhide all”
We already providing tools, filters and sorts. What you had mentioned in the current situation is a very specific option to my mind. Not sure, please correct me if I am wrong.
The concept describes the situation when you will hide (unhide) all the rows and columns that were not changed. Conceptually this is a toggle. |
Sorry @maxagin, I misunderstood your diagrams.
Good point, what is "redundant" will change over time since the table is dynamically updated, so it won't make sense to have this option always "on" by default.
Yup, makes sense.
It sounds specific, but it's actually common and a bit different from what you have above and what I see in Studio. In Studio, it is a long-term view, where often many rows are the same or have slight differences, and those changes may appear in different columns over time. In VS Code, there is active experimentation, so each row is very likely to contain some changes, often on the same subset of columns. For example: In this simplified example, all the blue params columns are the same except for So I guess it's less about showing, hiding, or highlighting, and more about the column order. For example, maybe it would be useful to have an option to reorder columns to show those where any row has a change first, but maybe you can come up with better ideas to solve the problem.
By the way, I still don't understand how to do this 😅 . I'm sure it's my own mental block, but just a note to consider how easy it is to find this option. |
You right. By default, we have all (more correct will be to say: we will have nothing at the start). What you proposed, to my mind, does not affect the main flow. It is only another way to simplify the table for comparison. Updated flow (for v1): !! Another option would be to always highlight differences in the table without any extra UI controls.
You have all the freedom to hide columns and also change their position in the table right now. Talking about our example, I would do: WDYT?
We are working on redefining this and I will use your comment as another good argument :) Thank you @dberenbaum ! |
Just in case you are still stuck => See the view container in the sidebar: Screen.Recording.2022-07-13.at.11.53.15.am.mov |
@dberenbaum @maxagin Screen.Recording.2022-07-19.at.15.37.31.mov |
Great ! |
Hey folks! In relation to - Inform the user about hidden (plots, sidebar) or applied actions with table #2075 Concept: We just highlight changes. The user can still see the same table and continue to work with the information. @dberenbaum especially would like to ask you for your opinion here:) Thanks! BeforeAfterSame two examples, but in context |
Thanks @maxagin! What is considered "changed" here? This seems potentially useful to quickly pick out meaningful values from the table. However, my immediate concern was that those values are often hidden in columns to the right off the screen and potentially spread out, so highlighting won't do much good. Regarding the problem of the columns being off the screen, if I'm doing hyperparameter tuning, I may be trying a different value every experiment for a few columns and all other columns stay unchanged for every row in the table. I was hoping a solution might allow me in a single step to "snap" or reorder columns and bring them to the left of the screen if any values in that column are unequal (and if more experiments come, I can perform the reordering again based on the updated table values). Regarding the problem of quickly seeing meaningful values from the table, highlighting seems nice, but it's unclear to me how we identify which values to highlight. It's not always important whether the value has changed from the previous row since often many experiments will be queued and run together and the order won't matter. At my previous company, their internal experiment tracking tool used color gradients to highlight the extreme values in each column (like conditional formatting in a spreadsheet). I know those are noisy and not that clean looking, but something like that can be a helpful visual aid more than a binary choice of whether the value is interesting or not. |
Hi @dberenbaum ! Please see my response below.
High-fidelity UI solution + actions ribbon concept. The logic we discussed is the same. See below for more details.
You can hide columns and also change their position in the table already Change position Screen.Recording.2022-07-22.at.1.13.12.AM.movHide Screen.Recording.2022-07-22.at.1.13.51.AM.movThe Show Only Changed will help to adjust the table as you would like to. a.toggle --only-changed (simplify the view).
Good. I thought that it may be good if users can see all the information, but have the option to reorder or hide columns manually, but if you think it’s not important we could hide unchanged columns automatically and show them back if the changes happened in the hidden columns. See below: Before After
This is something that will happen also automatically, based on the above, unless you will toggle the Show Only Changed off. Does it make sense?
Yeah. It is why I have proposed keeping all the values, so if the “system” is wrong, the user still can see all info and make the decision.
This is great, but may be very complex to implement. @mattseddon what do you think about this? |
Not impossible but would be painful. We would need a very good reason (or be very brave) to start on this without a lot of data/signal to back it up. |
Sorry, I should have been explicit that I'm aware that I can hide and move columns, but I would like it to be easy and quick to get to the relevant info. Those columns of interest may be way off to the right and spread out from each other. This workflow feels like a lot more work for the user than auto-reordering (which is what I meant by "snapping").
Yes, this is what I would like to see. I agree that it may be aggressive to hide the columns, so I would prefer to reorder them. No strong opinion on whether we do that automatically or via a toggle.
I thought from the above that "Show Only Changed" highlights changes but doesn't reorder anything? If we go with the option to reorder columns, then yes, it makes sense. |
Reorder without user permission would not be good. If we hide unchanged columns with the toggle “--only-changed” this is more correct to my mind, as the user requesting this changes by toggle activation.
Hiding unchanged columns and highlighting changed cell values. So the mockup below is satisfying our requirements to my mind: |
@dberenbaum I have put together a document including four possible options with a detailed analysis of each one. Please review the document and let me know what you think would be the best solution for us to follow. @shcheklein in case you have nothing better to do than browsing GH this beautiful Friday evening :) You are most welcome to share your comments on this issue. |
Hi @maxagin, sounds good, thanks! It looks like I don't have permission to see the figma doc. Can you check? |
Thanks @maxagin! Thoughts on option 1 Option 1 does NOT reorder nor hide any columns, right? If that's true, is a toggle needed? Is it ever helpful to toggle highlighting off? Option 1 seems like a good start no matter what else we decide to do. **Option 5 🤣 ** Let me try to better explain what I have in mind, and you can let me know if it makes sense. The idea is to reorder changed/unchanged columns using something like an action button. This is not a toggle, nor is it automatic. Instead there is some button to "move changed columns to the left." It reorders the columns and then returns control to the user and does not "stay on" like a toggle. The workflow would look like:
Advantages I see to this approach:
Final thoughts Without any reordering, I don't think we address the original request. The step to "manually move and hide columns" to get to a reasonable view still seems painful. It doesn't need to be top priority, but I would like to at least keep the issue open until we have some way to avoid that step. |
A customer complained that they don't use the extension much because it's hard for them to keep the table looking clean as their project grows and metrics and their names change over time (and between different branches). Even though they can hide columns, they find it hard to maintain the right columns as they work on the project. |
@dberenbaum what tools do they use instead now and how? |
Not sure if they use something else or just don't use it as much as they would otherwise. We will meet again next week, so I'll make a note to follow up. |
I was going through the issues here and was looking if this feature has been discussed already. I like the idea of |
Similar to
dvc exp show --only-changed
, the experiments table should be able to show (either by default or through some option) only the columns where there are differences between experiments.The text was updated successfully, but these errors were encountered: