Exactly this. I often help others use computers and phones. In the old days it was easy to see what could be clicked. Now input and output look the same. It makes it harder to use.
In many ways it is a victory of style over substance - UI's are now designed by the same crowd who designs high fashion, that is clothes not designed to be worn but to be gawked at.
Oh? Where do the Gnome designers list their runway appearances on their site? https://wiki.gnome.org/Design/
I'm an art-school educated designer, decade+ full-time web developer for over a decade and regular FOSS contributor for about as long, and regular FOSS users since the late 90s. Like most other designer/developers I know— there are way more than you think— I contribute code regularly but never design work. Why? Because it's a sucky experience.
Most FOSS UIs are akin to someone's first website made from cargo-culted code from free tutorials. Fixing it is harder than starting from scratch and either approach takes significant intellectual work before even seriously proposing changes... and those proposals are received with something on a spectrum of suspicion to outright hostility.
Would you contribute code to a project run by people with no coding experience but were extremely opinionated about code, bikeshedded and poopooed all code changes as a matter of course AND referred to developers and their work with the same glib contempt you and so many other developers here displayed in your comments? Gosh I hope not.
I often hear FOSS developers lament lack of designer involvement, but won't even entertain the prospect of having any culpability for that. I mean, come on.
UI design as a discipline fundamentally assumes the person designing the interface doesn't intuitively understand what's better or what's worse— they should investigate, check, and confirm their strategies. The problems you see in UIs are because the people running the projects Solicited the wrong kind of designers or let people without subject matter expertise trampler on some core features of the design.
> solicited the wrong kind of designers
This points to me that the root problem is that we can't tell what kind is the wrong kind. It's a trust issue, but also a competence legibility issue.
That said-
> referred to developers and their work with the same glib contempt
Uh yeah? Developers absolutely refer to developers with glib contempt.
To some extent you can tell from their title and previous work, just like with developers. Foe example, I had an entirely non-technical boss that understood I might not be the guy to re-write some printer drivers because I was a web developer. He didn't know the specifics, but being in charge, knew he had to ask someone who did, or do enough research to figure it out.
Likewise, UI designers will specialize in designing UIs and be better at making buttons look like buttons than Graphic Designers, and Experience Designers will be better at integrating user feedback and research into projects. Just like you wouldn't trust any one developer to implement critical functionality you don't understand without outside input, you probably shouldn't rely on one designer to that either. If you maintain a project, though, you can't expect designers to instinctually work around what you don't know. Being in charge means that you're in charge of figuring out how to evaluate it. I'm positive that a "I'm not sure how to interface with this sort of thing. Let's work through it so I can figure it out." will be received kindly by people you should consider working with. Good design proposals should already come with explanation and justification to help you down the path
This is a random selection from a google image search of proposal ideas. It was from another post where I was talking about higher-level topics but the principle is the same. Changing a set of control widgets should require no less thought and explanation.
https://github.com/openstreetmap/iD/issues/759 https://github.com/stashapp/stash/issues/1549 https://github.com/newrelic/nr1-groundskeeper/issues/3 https://github.com/creativecommons/creativecommons.github.io... https://github.com/godotengine/godot-proposals/issues/1823
> Developers absolutely refer to developers with glib contempt.
ok— now copy and paste the rest of what I wrote. An overly opinionated, defensive person with veto powers that understands the purpose and value of your work is fundamentally different.
The failings of flat design are everywhere.
It is like a mass delusion or something that some segment of the population seems to think it that flat design is actually useful for the everyday user.
We've seen other stupid useless crap spread like a wave across our industry, across our society... so I guess I shouldn't be surprised. Though I've started to question my own sanity.
That's what's going on, as far as I can tell.
a) there probably aren't many lead designers, creative directors and art directors on this developer-centric site b) interface choices for most commercial products are deliberately made by other people c) interface choices for most FOSS projects are made by developers
Second, I didn't directly address the criticism for the same reason I don't go into game forums and argue with the inevitable teen tech wizard lobbing glib, unsubstantiated technical criticism at the "stupid devs." Their peers might believe their saying that a "microservices architecture" caused low frame rates in the last release, but professional developers will roll their eyes hard enough to sprain an eyelid.
I won't waste my time with a point-by-point teardown, but if you're actually interested, here's the first half dozen unsubstantiated assumptions I've seen here about design/designers and the design process:
- 'Flat designs' are uniform enough to judge their value as a unit. - A bad flat design was bad because it was flat— not the hundreds of other problems a design can have. - Designers change things solely to suit their taste or follow trends - Designers don't commonly test or measure usability with quantifiable, auditable data - Bad usability is acceptable if it looks good. - How well you parse something is representative of how everybody else does regardless of their culture, age, experience with other objects, experience with computers, vision, disabilities, etc. - Skeuomorphism was the most effective form to convey those visual cues.
aaaand the list goes on. It's fine that many developers don't totally understand how design works because nobody expects you to be a subject matter expert in anything other than development. That said, confidently making sweeping judgements about design and designers when you don't understand some important fundamentals is just bad form.
As a developer who always had an interest in UI design but has zero formal education in the field, I be really interested to know more about this. Could you maybe explain some of those strategies?
My subjective impression is that design has shifted from building a consistent "language" to a more goal-driven and data-driven approach today. The product owner defines a list of user stories and UI is primarily concerned with making those user stories as frictionless as possible - even if this means a less consistent overall design snd even if it means that less common features become harder to use. Performance is measured in a feedback loop through telemetry and A/B tests.
I might be wrong though, so I'd be interested in a qualified opinion.
(Also disclaimer: I grew up with Windows 98, ME/2000 and XP. So I guess this is my "good old times" spot then, where I'm wearing the rose-coloured glasses.)
What I believe you're noticing is the the adoption of ideas under the (poorly named, IMO) UX umbrella. UI design is either considered part of it, or close enough to get the UX/UI slash treatment. It's not quite there as an idea— people can't decide if UX people are the same or UX Researchers are different than UX Designers or if UX Designers just do wireframes and user flows or also design UIs or if that's left to Interaction designers, blah blah blah. The base ideas seem to be an amalgam of human factors engineering, graphic/media design communication theories, and quantitative marketing type work.
While there are hundreds of trillions of articles on the topic by people thirsty for medium claps, I think the most interesting jumping-off point might be an image search for ux design process and using the charts you see to guide an exploration. The Nielsen Norman group has a TON of stuff online about the topic. Not just design itself, but measuring the maturity of usability organizations, research techniques, best practices and data strategies... I mean all kinds of stuff.
I think a lot of the ideas are tremendously valuable but much of what's written about it feels a little bit too much like marketing material. The ideas are presented a bit too confidently considering how often they change, and too much has that LinkedIN magic bullet kind of vibe. Also, like tech, the industry is subject to spike trends (like tech saw with NoSQL databases) and pendulum swings (like centralization vs. decentralization of services, thin vs thick clients, etc.) For something a bit more structured, the former Lynda.com, now LinkedIn Learning has some really fantastic educational resources on modern design of nearly any stripe.
I'll swing back through if I can think of any specific resources worth checking out.
An example taken right now with Firefox under Windows: https://daveflix.deeohhtee.enneeetee.net/stuff/tmp/FocusNotO...
Which of those has focus? There is actually a difference (and to take the screenshot they overlapped making it obvious that way) but it is subtle. Try spotting it reliably when they are on different monitors.
At some point it'll annoy me enough that I'll write a util to scan for the current window that is top of the stack and draw a bright green border (or otherwise unmissable clue) around it… It'll look ugly, but I'll darn well know where what I'm about to type will go!
a flat element can be re-coloured without having to worry you've gotten the shadows correct on the new color. you can put two buttons beside each other without worrying that one appears to have more depth than the other. we make things flat because we're lazy, not because we think it looks good. a culture of lazy designers has convinced people it looks good, so we can continue being lazy.
> GTK4 has been in development for a bit and has improved a lot of the internals. One of the great upsides is that it can take more advantage of the GPU when rendering the UI.
So there was a clear need to rewrite parts to fix internals.
> The Adwaita theme has also been nicely carried over and looks very similar to the GTK3 counterpart. ... > When I want to make a gtk4 application for mobile I would need libhandy, but libhandy for gtk4 is not a thing. The "solution" is libadwaita. This provides the widgets I need but it comes with the downside of having some of the worst decisions in application theming.
So, there we have it: it's not "UI folks just changing stuff", its a ground-up rebuild of a UI-language.
Now, whether or not that ground-up should be flat, modern, or just copy the old, is another discussion.
Or as Statler and Waldorf would have put it: it is a victory of care over matter - we ( developers) don't care and you ( users) don't matter.
Is it? Style is no style at all if the thing in question does not fulfill its function. The whole point of something stylish is that it accomplishes its end so well and respects the appropriate constraints that is pleases the intellect when it recognizes this perfection.
So if someone is designing a UI that is difficult to use, that is a failure of both style and substance since there is no style without substance.
The best i've seen was a web page with a hamburger menu which had no action.
I don't like saying this because I want Linux desktop apps to have every success, but these small and pointless frustrations kill my enthusiasm.
What, on an iPad, should a designer look at in detail to improve the GTK app, for example?
When I make my own apps one day, I am going to ignore design fads and only make intuitive interfaces.
This rattled my brain, that this is a feature now, says volumes about the quality decline in UI. I am a developer, and mainly use tools on the command line, or with TUIs.
But whenever I use android apps and websites, I constantly find myself longclicking or rightclicking things, hoping for stuff to happen, that just doesnt.
Strangely enough, we don't seem to mess around with steering wheels in cars.
https://ia800200.us.archive.org/0/items/ibmsj2703E/ibmsj2703...
the figure on page 2 shows exactly what you are describing.
I had a win phone 7 device. It was the pinnacle of consistent Gui.
Is it colored? Then it's a button. Is it white? It's a Text box. Is it a giant title? It's tabbed horizontal scroll.
Are you a "designer" who wants to color something non-clickable? Piss off, you don't get to do that.
Things like having pull handles on both sides of a door that has to be pushed from one side. Or having no push plate on either side of a glass door. Do I push? Is it a sliding door that's not working? Don't know!
My car has the climate controls hidden behind a graphic of the current state on the stupid touch screen. It used to be buttons that had three zones for head, body and feet, a wheel for fan and a wheel for temp[1]. Volvo used to pride themselves on having controls you could use with gloves on, so all the buttons had 3D features and a positive press feel.
Now it's not even obvious the graphic is a button at all (it's also incredibly dangerous as you cannot do anything without a multi-click modal process with only visual feedback that you have to look at to use). Thankfully the window demister is still a physical button because that would be incredibly dangerous to hide behind a soft screen interface: when you need it you need it. However, it's lost its 3D profile and is now just a flat button.
My office has an amusing one: there's a door at each end of the building. The building is the same on both sides, neither side looks more "fronty" than the other, and the doors are the same. Only one of these is the main entrance. The door next to the car park (i.e. where anyone unfamiliar with the site will arrive) is not the main door. Therefore there are no call buttons. However, there's also no indication that there is another door on the other side. A whole building basically has no obvious start menu. Just...why do that?
[1] https://bparts-eu.s3-eu-west-1.amazonaws.com/ftp/azor_2/000/...
Now if I can't find anything then I just start clicking on random design elements in case they turn out to be a secret button to a hidden page.
Windows 2.0 - 3.1: 2D
Windows 95 - 7: 3D
Windows 8 - 10: 2D
MacOS 6 - 7: 2D
MacOS 8 - 10: 3D
MacOS 11: 2D
As a side point, I predict Sheriff and Sans-Sheriff fonts to also go into similar phases too though over a longer time scale. We're in a very long Sans-Sheriff phase now but I think Sheriff will be "in" in 20 years.
System 7 and 8 had support for color, and was as 3D as it could muster, like highlight and shadow treatment on buttons and other widgets, and embossed, draggable thumbs.
https://en.wikipedia.org/wiki/System_7#/media/File:Mac_OS_7....
Mac OS X brought Aqua, which was a pinnacle of 3D and skeuomorphic design. You know you're going hard for 3D when you add a drop shadow on all the text in your menubar:
https://en.wikipedia.org/wiki/Mac_OS_X_10.0#/media/File:MacO...
(and that IE logo in the dock wasn't there as a joke: it really was the best browser for OS X until Safari was a thing, years later)
Are you a lawyer? (There is an in-joke here, I swear)
[1] http://bytepointer.com/resources/old_new_thing/20040728_291_...
I'm using macOS 12 right now and there are a lot of 3D elements especially if you compare it to Windows 10 or Gnome in the screenshots of this post. It seems to be a mix of both approaches (similar to GTK 3).
But a black word in a larger font among black text would definitely NOT be recognized as a button by most people. Context matters a lot.
I agree that it might not be ideal, but when it is used literally everywhere I do not believe it's that hard to read.
When designing user interfaces, use the mantra: "Don't make me think!" Don't make the user think about whether something is a button or not. Don't make them have to infer that the label is in fact a button due to context.
Just make it look like a button!
It frustrates me that this sort of design has become not just acceptable but celebrated as 'correct', and I long for the days when interfaces did their best to seek my enthusiastic consent to my chosen course of action.
My initial reaction to a piece of text directly next to a button is "why is there random unrelated text there?" and then the sensation of anger as I come to the realization someone consciously decided to make me think about the UI more than I needed to. It's purely a distraction.
Just make it look like a button. There is literally zero reason not to, and you can eliminate the chance of confusion. Why increase the possibility of uncertainty at all? What value does that provide to anyone?
Every UI or design element that causes me to think about it wastes precious moments I could have been thinking about something I actually cared about, for example the actual task I was in the middle of. On top of that, when you use unconventional design, even after someone learns the seemingly-arbitrary, specific quirks of the design you've used, you will cause them to think about it all again later when you redesign the application.
“Decline invitation” needs to be something you can do, of course, but it will be used < 1% of the time, I imagine.
I find that having buttons side by side forces me to think in a mildly unpleasant way, like I have to read two thinks more carefully because there is more onus on me to decide which is the typical action.
If you want to emphasize/de-emphasize a UI element, you can do something like was established on most GUIs 30+ years ago: make the default/safest option have a thicker border, and the secondary/de-emphasized option have a thin border. Early examples (1985 and 1991 respectively):
https://guidebookgallery.org/pics/gui/settings/appearance/wi...
https://guidebookgallery.org/pics/gui/system/features/search...
Note how immediately-obvious it is which action is the "typical". You don't even have to read the text, you could even squint your eyes or glance from a great distance and still understand which button is the one you probably want.
UI design involves trust, especially for software where people are trying to actually get something done. Making unconventional designs erodes your users' trust. Have respect for them and what you can reasonably expect them to "know" arriving at your software, and they will have an easier time and love you for it. As we can see, these conventions have existed for decades, and deviating from them warrants a very compelling reason, not just "cuz it looks neat".
What's the reason that the designer wants to nudge me to accept invitations again? I missed it.
Also, what's the difference between that and a dark pattern?
I don't know how you can reach that conclusion, because we only recognise it because of how many times we've been fed this exact pattern over and over again in flat UIs (and failed to realise it was clickable the first N times)
It's pretty clear that it's clickable, but I definitely wouldn't think it's a button. My best guess would be that it's a navigation element, and that clicking on it brings you to some other page where a decline invitation button might be found, or where you have to fill out some form to explain why you're declining.
Part of it is because it looks exactly the same as "Test User", and presumably that isn't a button... I imagine that is a navigation element. But part of it is also because quite a few recent Microsoft corporate products (Sharepoint, Dynamics, etc.) seem to use the idiom you're trying to use for signaling that something isn't a button.
buttons should be actions, links should be directions,
directions would take me somewhere, actions would has an effect and consequence. That you think this is okay, and assume no-one would ever be confused by this. Is clearly an issue in the industry at large
I would still prefer a border around the button as I'm not sure what you gain by removing it, but at least you provide hints.
The new "flat" design that pops up everywhere sometimes just feels like a lazy version of UI design, where you basically don't need proper styles anymore and just make everything b/w with maybe a border here and there.
I dunno about that (both Apple using flat, and the "gets it right" part).
I'm looking at activity monitor now, under memory pressure, and the table of memory types has "Memory used" row expanded, and yet none of the rows are actually clickable. I spent a few seconds yesterday trying to click the other rows.
Then I looked at system preferences, and it's not actually flat widgets - they have relief for those things that can be interacted with. Things that are clickable are visually marked as such.
I can see why you might get confused there but it feels like nitpicking. I never expected to click on any of those elements because they don't look like a traditional table or outline view.
> I have had to explain to people tons of times that the random word in the UI somewhere in an application is actually a button they can press to invoke an action.
This is one of my biggest complaints with the super flat modern designs. Many widgets lost their skeuomorphic depth, which encoded a lot if visual information (the clickability, the current status), but in many cases nothing was added to supplant the loss of those visual cues, so now it is just a label (or a label in a white or grey box) and there is no way of knowing if it is clickable or its current status.