-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
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
[Button] Use fixed outlined stroke color #15242
Conversation
It put to much emphasis on the button
@material-ui/core: parsed: -0.11% 😍, gzip: -0.07% 😍 Details of bundle changes.Comparing: 8a67ecc...efb6af5
|
I was interested in changing the ripple behavior. We were aware of this difference in the outline color with the specification when implementing the outlined variant. We should be able to find some old discussion on why we didn't follow the specification. |
In what capacity? |
I recall this being discussed - there may even have been a previous PR. Rightly or wrongly, we agreed that deviating from the spec on this occasion was the better choice. |
@mbrookes Would be helpful to reference this discussion. The old aggrement might be outdated since the other components/spec changed. |
@eps1lon The specification didn't change as you can see it in #11346. Our implementation was further changed in #12473.
I believe the ripple of the specification has a larger initial size, at least in the list item case 🤔. |
I have looked at the other UI libraries (Bootstrap, Bulma, Semantic UI, Basscss, Tailwind). Using the same color for the border than the text seems to be a common convention. I could only find one usage of the outlined button on a google product: Google docs. They change the border color when hovered (against the spec) (it's grey otherwise). This dilemma is perfect for a Twitter poll :). |
@eps1lon Apologies, I couldn't find it last night / this morning (or whatever ungodly time it was!) I was probably misremembering the PR @oliviertassinari linked to add color to the border, rather than one to remove it. You're right, there isn't a discussion per-se, just an implicit acceptance that it represented an improvement over the spec. I'm acutely aware this contradicts what we normally say about spec > MCW, but I think they got it right this time (the color, not the width!). That said, I'm not invested enough in it to have a heated debate about it. 😜 |
I would have a problem with that. Which spec points are we polling and which not? I'm fine with the decision to follow other reference implementations instead of the spec since we had it for so long and nobody ever raised this issue. We could collect these decision into a single theme and make it public i.e. a "strict" theme and a "loose" theme that is more opinionated. I think this would help with a lot of discussions we have. |
We have made a call 8 months ago to accept a change that goes against the specification in order to be closer to what the other libraries are doing (a.). The specification on this part didn't change over that period of time. And yet, we had zero requests from people to change the behavior. Isn't that weird? It's not like the Button is our most used component (b.) What's a Material Design specification good for if neither Google products nor its reference implementation follows it? (c.) We have 3 signals (a, b, c) that we made the right call by not following the specification. I would vote for not changing it. But I'm happy to be proven otherwise, hence the poll suggestion. |
Interesting. |
Seems like you misunderstood my point. I wasn't arguing for or against this particular change. You didn't provide any argument other than the absent of an argument. My main point was that we shouldn't randomly decide what spec points are decided by twitter! poll that provides no context. How long should this be considered the standard? How many votes make it legitimate? Who should vote etc. You can't seriously argue that the absence of a voice against X is argument enough for X. That's just naive and irresponsible. So I will close this (and the issue since it is incomplete) and flesh out the strict vs. loose theme idea. |
I have found another case for an outlined button on a Google product, this time it's Chrome.
We are building Material-UI for our users, we are accountable to them. At the end of the day, they decide, I don't. Our job is to build intuition on what resonates with them. The simplest binary choice a using Material-UI vs not using it weights a lot compounded. A Twitter poll is one of the best imperfect tools we have to shorten the feedback loop. We can provide a bit of context in a poll.
I'm sure there is some literature about this: decision making by the least resistance. I would use a different angle to see the situation. If nobody mentions it: maybe it's not important? |
All ears. Show me some literature that shows that the best development happens by Yes/No questions answered by random persons on the internet. |
@eps1lon 😆. It remembers me a previous discussion. How do you handle a situation where you have a safe option (follow the specification is our case) and another that might yield more user happiness but is contestable (not following the specification, match the other UI frameworks)? My answer: you test and you learn 🔬. Start with the option that can yield the best ROI. If you don't receive push-backs, keep it. |
Google seems to have pushed forward in the direction of the changes we are originally here: material-components/material-components-web#5268 |
Closes #9526
Breaking
Outlined buttons use a fixed border color for the containers independent of color variant or state.
Get the old look
Visual diff
docs: next vs. docs: PR
argos: next vs. argos: PR