top | item 39332120

(no title)

adamzochowski | 2 years ago

The problem is twofold:

App developers want consistent look of their application across various OSes, be it Mac/Win/Linux. This means developing with gtk for linux and winUI for windows is out of the window. Why do app developers want consistent look? because alternatively they would have to create documentation and screenshots for each os separately. And users wouldn't be able to help each other because Mac user would know different interface/look from Linux user.

OS developers, Apple/Microsoft don't have singular look. Microsoft didn't rewrite everything into WinUI settings , and anytime anyone needs to do anything serious they have to go through the win32 settings panels. This lack of OS coherency means that app developers don't feel need to stay consistent with OS, since OS itself is not uniform.

discuss

order

darklion|2 years ago

> App developers want consistent look of their application across various OSes, be it Mac/Win/Linux.

No, app developers want to write their code once. A consistent look is just a byproduct of that desire.

I’m also glad you didn’t mention anything about the customer, because ostensibly the app developer is doing this so they can deliver customer value faster, but at the cost of having an application that doesn’t fit into the native operating system. “Consistent look of their application across various OSes” usually means “invent your own custom look and behavior that isn’t standard for any OS”, which means customers have to spend extra time and effort to learn your bespoke UI customs rather than just use the ones they already know from their OS (gives the finger to Visual Studio Code).

The end result is that nobody gets to have an application that looks and feels like their chosen OS, and nobody gets to have a cross-platform application that looks and feels like other cross-platform applications unless they’re from the same vendor (and even then, it can be iffy).

> And users wouldn't be able to help each other because Mac user would know different interface/look from Linux user.

Not really. Customers can handle reasonable variations between software running on different operating systems. They do it today, for applications that work across different operating systems. Even when such an application takes most of its cues from another OS, there’s at least some deference to the native platform design in terms of menu design or control behavior.

What it would mean for the app developer is that they actually have to understand the design systems for the different OSes in order to build a design that can reasonably adapt to Mac/Linux/Windows. That’s why the “one design fits all” approach is so appealing when it comes to look and feel. You don’t have to understand anything. You don’t have to care about the native platform at all. There’s no extra work involved. You do whatever you want, the way you want it, and then throw it over the wall at the customer to deal with.

pornel|2 years ago

Agreed, especially about OSes not being consistent themselves. Even Apple dropped the ball with macOS being a mix of old Cocoa, SwiftUI-isms, and iPadOS transplants.

I think third there's also a third reason: flat design. It used to be nearly impossible to make custom UIs look as polished as the native ones with all their complex gradients and pixel-perfect bevelled edges. Now developers can use anything that can render a rectangle.