Secondly, "good design" is subjective as opposed to a program that achieves its goals. No matter what you do, you will have a substantial amount of people hate your designs. So when people come in and tell them that the design sucks, there are a lot of people also telling them that it is good and it works.
What needs to happen is people come up with objective shortfalls in existing designs and let them know how that can be fixed.
An API is almost as binding as a law of nature. People will grumble, and maybe write adaptors, pile on abstractions, possibly even send you pull requests. But to change an API against the owners' will requires a bold and binary decision to fork with all it entails.
It also doesn't matter. There's only one limitation programmers are often exposed to: that of the choice of language/framework/platform... And witness how much flack a perfectly innocent language* like JS gets.
Within their implementation, programmers have free reign (within reason, don't get your hopes up, tab-indenting freaks)
For design, it starts out with a somewhat arbitrary definition of what is meant by a "style guide". Methods to validate implementations are tacked-on (if existing). A fully-formed style guide (...doesn't exist, but...) would reduce those implementing it to mere tools, while any style guide that allows creativity will inevitably lead to design-by-committee-that-never-meets. At a company, this tension is resolved by iteration, team-work and constant communication, allowing people to form a group identity. But that requires some sort of authority, a hiring/education process that creates a group with some basic, shared understanding/ideology/vocabulary and lots of FaceTime.
*applying the insanity defense
As a front-end web-dev with a passion for Design/UI/UX I can tell you that many designers just don't know how to contribute and a large portion don't know that contributing to a project as large as an OS is even something you can do.
Programming has a history of collaboration going way back, and because of things like Git/package managers etc, this sharing economy is presented very early on and it sticks on the programmers mind. The designers equivalent is stuff like free stock-photo websites and icon packs, their sharing economy lacks comparable concepts.
edit: formatting
This is why many of us that enjoy UI design ended up going to platforms where it is praised.
That said, not all design is made equal, sometimes a little dose of reality check from the community can be helpful.
Which means it took 4 years to get it to usable state where i don't have to download tons of plugins to make it effective environment for work and multitasking.
Designers do their own part by putting out the design equivalent of free open source code, in other words free icons, fonts, templates, concepts, etc.
The only well designed open-source projects are usualy from people who are designers who can code. Or led by company hiring designers.
Most of the open source software manages to ask for logo and thats it. Logos are hardly passion, in fact its boring and its not design.
- There is a lack of contrast for the text in the left bar.
- The icons in the bottom bar are off: the colors are dull too (too low saturation is a common theme in elementaryOS).
- The size of the icons in the bottom bar is also off. They are way to big if you compare them to the main navigation (left bar). The visual hierarchy is not ok.
If you ask me: the best looking linux distro atm is manjaro kde.
That said, my favorite UI design was mid-to-late 2000s GNOME, as implemented by Ubuntu 6.09 Edgy Eft. It was simple, and everything just worked. Sadly, Ubuntu has become a bit more complex and buggy these days.
I think that, if I want to get the best of Linux as a developer, running a text-based keyboard-driven environment (mutt, emacs...) on a tiling manager is the best route to happiness.
Part of the problem is that people confuse good design with pretty design (on both sides). The purpose of design is not to improve aesthetics but to improve usability. Aesthetics is an important component of usability, to be sure, but it is not the primary goal.
The difficulty is that power-user control/discoverability/aesthetics ends up being a pick-two triangle. And most designs pushing aesthetics also push discoverability, and power users feel shafted with an overly simplistic tool that isn't as productive as their tool which emphasizes control but totally lacks in discoverability and maybe leaves aesthetics to plug-in themes.
Good design tries to maximize all three.
I'm not aware of any slurs against designers that are equivalent to the slur against OSS developers as "neckbeards."
Ugh, I know exactly what you mean. It's maddening to see stereotypically uncultured nerds celebrate ugly UIs and clumsy CLI apps. It's so ridiculous.
- dismissal of design as a sort of thin veneer, somewhat fake, lipstick-on-good-bacon
- design as a kludge aimed at amateurs, to the point of preferring the worse UI (all else being equal) so as to prove something
- design = prettiness, and, by extensions, design being entirely a matter of taste and therefore impossible to criticize
- the complete rejection of any argument or evidence that cannot be derived from any of the laws of thermodynamics, Shannon, or at least an RFC
That being said, having browsed the elementary OS website, I'm not sure if isn't the victim of some of these errors itself. It sure seems to be a ripoff of macOS ca. 5 years ago applied as thin veneer to Linux. Their "brand" page may also be the first implementation of cargo-cult design.