[0]: HN comment -(https://news.ycombinator.com/item?id=19746440)
[0]: HN comment -(https://news.ycombinator.com/item?id=19746440)
> 2.1) I want to ship something that looks the same on Windows / Linux / MacOS
As a user: No no no, please, no.
I want apps to fit the look, feel, and idioms of the OS I'm currently in, not "look the same" on every OS.
For example. macOS in particular has many builtin features that work in all apps with standard controls. Like text-to-speech, or converting selected text into all-caps, lowercase, or capitalized. Or custom services/scripts built in Automator.
I may not always use these little tricks all the time, but when they fail to work in some app, it immediately feels lower quality, suspicious, and/or suggests a lazy developer.
It's not pleasant to use something that ignores the special features of a platform in favor of the lowest common denominator.
When I’m using an advanced UI to do some specialized task, I generally appreciate when the UI patterns I learn on one OS transfer seamlessly to any other device and OS I may use to do the same task.
But I especially appreciate that apps can choose the UI style and design to suit the task at hand, rather than some notion of conforming to OS style patterns that may or may not work in its favor. For example, I prefer that Visual Studio Code looks the same on all platforms, because I find its UI to be superior to the default style of any OS!
What do you think about these thoughts? Am I alone in preferring custom UIs per app, with consistent app experience across devices?
[1] For the sake of this argument, I’m not counting differences in runtime performance and efficiency, since that’s a whole other topic, and one theoretically orthogonal to the UI design.
2. HTML and JS make sucky UIs regardless of how much "work pools", because the underlying APIs are limited and incomplete. For example, scrolling: there is no native support for large tables in HTML, so apps either do some janky faulting in like infinite scroll, or reimplement scrolling entirely. Cut/copy/paste/undo is another example, along with keyboard navigation in general.
Custom UIs by themselves are not the culprit. Apple itself is "guilty" of that, using special controls and styles for their own apps (including even the new Reminders in Catalina.)
But if an app on macOS puts a close button in the upper-right corner of a window or panel (like Windows does) instead of the upper-left, for example, or when an iOS app uses the Android sharing icon, I feel annoyed.
A worse and more practical example is when an app is missing some of the global system features I described in my previous comment, like common text field options (spelling, transformations, dictionary lookup etc.) missing from an Electron-based chat app and so on.
Most cross platform applications feel alien somewhere, and I use Windows, Mac and Linux enough that I'd rather a given app be more consistent to the application. Yeah, make the toolbar use the global one if there is one, use the menu conventions, etc... but beyond that, I'd rather the app be pretty consistent to itself over the OS.
As an example, most archive manager applications, and a lot of file transfer/storage applications are really painful to use on macos vs windows or linux where they just feel better and more usable.
1. it has to look and behave the same way everywhere (because we don't want to have to retrain users when they switch platform, to maintain several documentation and marketing materials, and because we want to respect the designer's esthetic vision, and / or corporate graphical vision)
2. It has to look and behave native everywhere (because we don't want to confuse users of any given platform.)
Again : of course, I know they're contradictory ! If you have a sword to cut that knot, go for it !
And of course you're perfectly allowed to value requirement 2 more than requirement 1.
And sadly here, different user's interests are not aligned with different software producer's interests, so we're basically not going to please everyone.
Again, I have neither data, nor religion, nor solution about this.
(note: despite the name and origin, i do not consider UWP as regular Windows applications and i want them to die in fire)
More and more, I'm preferring the MS (Whatever the name of the day) and Google (Material Design) approaches for inside the app, with either an integrated or global menu as appropriate for the platform. With the rest in-app experience with a clean UX.
Again, I understand the desire, but most windows programs, in particular MS generational applications, already have disparate user interfaces.
The UIs can be styled and modified to an app author's liking, but unspecified properties fall back to the operating system defaults (assuming the Chrome developers did their jobs well).
I’m probably very naive here- since I am not a rust or swift developer!!