-
Notifications
You must be signed in to change notification settings - Fork 15
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
Add interlaced palettes #305
base: master
Are you sure you want to change the base?
Conversation
b373093
to
013744a
Compare
|
Problems I see:
It can not be guaranteed always as it can be seen in the screenshots below 👇 Why is it happening?Because Apache Superset is designed that way on purpose (that's what I found googling), and it also happens with their palette. It can even happen that the very same color appears twice, one next to the other, as it can be seen from the screenshot I posted when pull requesting the source{d} palettes. As you can see: both Juanjo and Alfredo have the very same pink color. |
013744a
to
d8af79c
Compare
@dpordomingo The Apache SuperSet criteria for colors makes sense to me. Does it make sense to consider that we are not providing the charts in the appropriate dashboard? I am assuming that if we use a different dashboard for that chart, the problem disappears. Am I right? |
Regarding keeping the old palettes, I would say not. We'll check git log for that :P |
I don't see your point @rpau If I understood "the problem", is that "similar colors can appear together".
It was not about storing them for historical reasons, but about keeping them for using them in other charts, where we could want to have this gradient effect. |
Thanks @dpordomingo .
Sorry, my message was not clear enough. Exactly, this is what I understood. My point is that I think that Superset is right from a user point of view. Having different legends/colors for the same "elelement" types produces confusion. So, IMHO from a consistency point of view this is the behavior expected. If it causes confusion is because probably we are merging analytics/charts that might require a different dashboard/view.
Yes. If they are not currently used, I would prefer to remove them. |
Signed-off-by: David Pordomingo <[email protected]>
99d12d3
to
a1a2390
Compare
Previous palettes (gradient versions) were just deleted. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have anything particular to say here, once approved by @src-d/product it's ok for me.
@ricardobaeta is doing further internal user testing before we merge it (see Slack messages from this one).
Feedback so far:
Replying to the Slack messages above: @se7entyse7en, this is likely due to mismatching of color profiles, (not) being embedded in the screenshot images and/or (not) being rendered in a given app it is displayed. If you compare David's screenshot on this PR in a browser vs image on Slack you'll notice they're different. @vmarkovtsev, let me try to “translate” what you meant and add a few bits:
|
I'd say that we should consider the problem in an analytical way. I'd ask:
I think this an important answer because its answer would force us to choose one certain palette, or even more, one certain chart. I also wonder if we could develop a palette that would satisfy both a) differentiate contiguously itemsFrom the issue description, I'd say this is the case because people complained about being "[...] hard to see the different sections" The pie chart from the example would be this case, so since the same item is not repeated, the user only needs to differentiate contiguous items. If we consider the Apache Superset color assignment rules, —which does not rely on palette order (see #305 (comment))—, the palette should have:
An alternative could be choosing charts where the gap between items is clear, no matter the color they have: an edge case could be two consecutive items colored in the very same purple color, that can still be differentiated because both items are separated by a white gutter or a black border. b) identify the same item, which is repeated in many places of the same chartWe need to use a palette which MUST contain (at least) as many colors as different elements will be repeated, otherwise, at least one color will be reused in more than one different element, so we won't achieve this goal. The bar chart of the example would, imo, an example of this situation, because the same repo will be in many columns. In that example each repo should have its very own color, to be clearly identified in each column. Since the example above contains more repos, than colors, the goal of "identifying repeated items" can not be satisfied. I'd purpose something like, as it is explained in #305 (comment): c) identify how one value changes along with another metric (e.g. commits per day),In general, it would be better if we use gradients with only one tint (to represent a single range), or with only two tints (e.g. to represent two sides from a midpoint). Our current d) branding,If that's the case, we should only use plastic criteria. |
I feel we might be getting into a series of local maxima (a.k.a. playing Whac-A-Mole with bugs) with this. Story so far: We implemented our custom default color scheme for charts on UI to improve UX and strengthen the brand—same as the bigger UI branding project. User testing was not thorough and later a number of people internally promptly noticed some usability issues at different degrees since we rolled it out and demo-ed. We listed a few of them, solved one earlier and now trying to solve another, and a few others are arising from there… Let's for a moment take a step back and look at the bigger picture and how we got here, think of the problem as a whole, then assess if the marginal problem is worth solving, when and specially how so we're not repeating the same mistakes in the process. So keep asking why & how, and aiming at the output & outcome… Some context to look at the why & outcome, and think of the how & output:
Given it's important (1) & likely impacting (2) we should deal with this at least to assess B and, given it's pressing (3), do it now and efficiently. Given it's complex (4), it's unlikely we can solve by sheer thinking & skill in a tiny group of people. Testing early key. At last, given it's of our own making (5), we should look whether we made it better or worse than it was. This can be tackled in an iterative approach until the why is not justified by the outcome given the cost of how & output. Example:
This above can be applied at different steps w/ different costs/scales. A good a very simple first step that can be done in just a couple of days from the point we are right now, to validate the why, and make the how/output cheap and ensure an outcome:
In the best case scenario, it might be that the issues we seem to have are minor enough we don't care enough to fix them right now, or that we find a good one. In the worst case scenario, all palettes have problems, but at least we know which ones, to what extent, and can work iteratively to fix them and repeat the process. *A list of goals and constraints for the problem at hand:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd rather not merge this before we do some level of user testing to decide whether this is a better solution or not.
I labeled this PR as |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per requested: I'd rather not merge this before we do some level of user testing to decide whether this is a better solution or not.
fix #303
This PR converts
srcdMain
andsrcdAll
into interlaced palettes.You can see the new
srcdMain
(interlaced) in the first row, and its previous version (gradient-like) in the second row.