5 ms·
This has been discussed many times here... of course running a Chrome instance is inefficient but in some cases that's acceptable. Especially for the gains in c
by gitgud 7y ago
This has been discussed many times here... of course running a Chrome instance is inefficient but in some cases that's acceptable. Especially for the gains in cross-platform compatibility and reliable user interfaces.
Almost no other platform can guarantee that a UI elements will look pretty much exactly the same on all different operating systems.
Most people don't mind the extra RAM consumption for some applications... as long as the app works!
- naikrovek 7y agoWho cares if an application's UI elements look the same across platforms? I want it to work on the platform I am using. I simply do not care what it looks like on someone else's platform, and I especially do not want to pay a performance penalty so some designer can have a virtual feather in their cap over it.
- dleslie 7y agoI prefer native widgets to whatever application-enforced fad of the year is current. Apps are lauded for providing "dark mode" now; when ten years ago I simply switched GTK themes. To say nothing of accessibility. We've gone way backwards in UX.
- bdamm 7y agoAbsolutely. Developers can pick from many native-widget frameworks in pretty much any language, heck I bet there are even Qt bindings for node. But there are just so many people doing web development, it's probably a hiring/design issue in that hiring web developers and designers is just so much easier than hiring whatever people know the GUI framework that's driving much of the code.
- rtpg 7y agoThere's also the fact that the UI tools for web development are mostly way easier to use than Gtk or Qt. Even "simple" stuff like Tcl/Tk is not trivial to get working easily or well. HTML + CSS + something like React is miles simpler than writing something for Gtk. Qt has QML now but the C++ Qt bindings are _pretty hard_! And after all that work you don't (by default) get an app that resizes as nicely as the HTML/CSS box model does! I think that WxWidgets has one of the better usability stories for cross-platform native, though. If someone wrote a good feeling UI library that generated native UIs and had good JS and Python bindings, so many people would be happy to use it, I think. But right now, despite all the shortcomings, web tech is pretty easy to prototype in.
- scottlu2 7y agoThis is an important point. Being easier to create means faster to market, faster to create new features, easier cross platform, more value for users in less time. Not all apps can be web based but for those that can be, faster dev time has become a competitive requirement.
- mort96 7y agoTo be fair, dark GTK themes don't really work. I say this as someone who uses dark GTK themes. Far too many applications end up with dark text on a dark background, and Firefox applies your theme colors to websites so websites also end up with dark text on dark backgrounds. At least a dark mode created by the application's authors usually works.
- iforgotpassword 7y agoThis has been a problem since forever. Even on Windows 95 it was like that. Probably before that. Windows does have special values for system colors, like text, window background, text background etc. But for some reason, a lot of programs ended up setting the text color explicitly to black and leaving everything else at the system colors. So you better left the color scheme at default. Which is probably fine for the average user, but there were these high contrast schemes which were white on black. People who actually had to rely on this must have had a bad time. Just how these schemes also increased the font size. Doing that, or increasing the system's dpi setting guaranteed that all text in every application would be truncated.
- michaelmrose 7y agoFirefox is a special case of stupid as far as themeing. Fortunately it's possible to both make Firefox's ui dark with css and make Firefox use a light gtk theme for websites with an env variable which is the logical choice.
- calvinv 7y agohave you tried using OneNote in dark mode, it actually feels dark, like you can't see anything
- baroffoos 7y agoThe problem comes when you design a UI and then someone else goes to use it and the font in the selects is a different size and ends up cut off. Also windows users regularly complain at me that the ui looks ugly but its just the windows default ui elements they find ugly
- gitgud 7y agoMy opinion is that the OS should not be responsible for providing native elements to the application. If this is true then the application is tightly coupled to the OS implementing these components. In a perfect world, every application would have minimal dependencies required by the OS, and completely encapsulate their runtime and UI components, making them very portable... which is basically web apps, hence Electron's popularity...
- GhostVII 7y agoI like the application to be tightly coupled to the OS, because then my applications have a consistent UI. All of my GTK apps look great, because I can change the theme for all of them with a single command. With one script, I can switch my entire system from dark mode to light mode, and have all applications have the exact same color scheme - can't do that if every application has their own implementation of the UI components. And different systems have different UI requirements, so I don't think it makes sense in many cases to have the same UI between them. iOS and Android, for example, have very different standards surrounding what buttons mean, and how the navigation should work. The back button on Android, for example, completely removes the need to a back button in the application, while in iOS it is still required. And of course if you are making an application that runs on both touch screen devices, and devices with keyboards, the UI should definitely not be the same.
- gitgud 7y agoYes, there are benefits to having the OS supply the components; switching themes, familiar design and probably performance gains. But, the trade off is simply unpredictability. The app is assuming that the OS has all the components it needs, at the correct version etc. Not all OS's have all components you think, which leads to unreliable user interfaces, which may work for small applications with only a few OS dependencies, but as the app grows the reliability decreases... You're correct in saying the UI should not be the same on every platform (iOS, Android, Windows). But in my opinion the app should encapsulate it's UI and share as little as possible with the host OS.
- 7y ago
- md5person 7y ago> "Who cares if an application's UI elements look the same across platforms?" Designers. End users simply want a functional, working product. Polish on top is a nice added bonus, but these days it's been turned into the focal point of software development. A Teams/Slack-caliber project begins with product requirements, immediately followed by design and UI mocks - the software/tech always comes last.
- naikrovek 7y agoDesigners are given too much leeway. They care about a consistent UI across platforms; fantastic -- no one else really does. A computer program is a tool to convert data from one form to another. FULL STOP. Unnecessary added complexity, on top of that data transformation, is wasted effort, wasted time, wasted energy. Software development has caused so many problems for itself because of things like this. People forget so quickly that programming is not the job! Solving the data transformation problem is the job. Effort spent that does not solve the problem is wasted effort, and we've made a fucking industry that churns out far more waste than product.
- Karunamon 7y agoThe problem with regard to RAM consumption is the tragedy of the commons. One electron app is okay, but once you're running up to ten or more of them, the resource usage gets out of hand.
- lokedhs 7y agoI remember back in the early 2000's when everybody was complaining about Java. That it was “slow”, and “used a lot of memory”, and that its UI “is not native”. Now it's all JS and Electron and every single complaint people used against Java is an order of magnitude worse and everybody seems to be happy about it. Progress have definitely been going backwards.