Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I disagree. I kinda hate eGUI as it's so obvious everytime an app is using it (ROG control center on Linux, for instance). I would much prefer a multiplatform native toolkit as a first class citizen in Rust, versus all the ugly homegrown widget sets they use (something imgui, nuklear and others already do better).

That being said, that's an aesthetic choice; and apps provided in it are better than nothing.



I always find atleast one person making this or similar comment in threads on non native GUI libraries.

I also respect the fact that this is just a statement of a personal preference.

However I don't think most people care.

Good applications with thoughtful UX and useful functionality will succeed whether they choose native widgets or not.

Literally millions of people use applications like VSCode, Blender, OBS Studio. I bet the vast majority of them don't think what this here application needs is more native widgets.

Heck, no one cares that Figma is a web app. From what I can see it beat out all similar desktop native competitors.


> However I don't think most people care.

I think everyone cares, whether they know it or not. Which sounds like an oxymoron. But my point is that inconsistent UX might not be glaringly noticeable, but it can still give a feeling of messiness and add to cognitive load.

"Native widgets" is just a way to achieve "consistent widgets". A good tradeoff IMO is to at handle as many things with native UX (e.g. window decorations, menus, etc.), as possible without compromising on function.

To avoid the latter, custom GUI is arguably necessary, as is the case with Blender, while OBS arguably doesn't need its own handling of the menu / window decoration.

These things matter very much to some people, as consistency affects how well certain accessibility tooling can understand the contents of applications. UI customization also matters for similar reasons. Certain things like scaling or theming, might rely on native GUI libraries.

To summarize, if the discussion is what is "best", and you don't have a functional reason to justify custom UX, and you disregard development cost, then the best solution is a consistent UX, i.e. native widgets.


I didn't say most people cared. I said "I disagree".


I didn't claim you said "most people" either.

Furthermore, in my prior comment, I acknowledge that you are expressing a personal preference/opinion and that I respect that.


> I would much prefer a multiplatform native toolkit as a first class citizen in Rust

What is native in windows? Win32, UWP, Windows.forms, MFC etc? Because even Microsoft has a bunch of electron (or equivalent) apps now.


MFC, Windows.Forms and Win32 are all the same widget set; you're conflating programming interfaces with realized widget sets. UWP is another.

So there are two. And both are native, yes.


The default Win32 C++ UI are all form based (the stuff that requires passing around a HWND handler). The new web style responsive "flat" forms are all completely new widgets and API, or at least they use completely new code for painting.


There's also WPF, which draws its own widgets. It's in pretty widespread use.


> I would much prefer a multiplatform native toolkit as a first class citizen in Rust, versus all the ugly homegrown widget sets they use

That’s a design problem, not egui one. The reason UI went to shit is because no margin for creativity anymore, same design, same icons, same charts, same shit, I bet everyone in here can tell a site is using bootstrap css from the first 3 seconds..


I think we have the opposite problem: too much innovation in UI elements that don’t need it or sacrificing usability for aesthetics. I get the desire for uniqueness, but common UI elements have a huge positive impact on usability.

Consequently, I wish more sites used Bootstrap. As an end user I don’t care a whole lot about a brand’s identity or style. I don’t want to have to guess and check to figure out what’s a tab or a menu or how to access settings. The number of custom layouts I’ve had to memorize is staggering and often gets invalidated when someone gets promoted and decides the site or app needs a new design.

Desktop window frameworks may have been bland, but they were based on actual usability studies and I think we gave that up too readily.


If a UI innovation makes me think, it shouldn't have been added.

Innovations should remove friction.

They rarely do.


> I would much prefer a multiplatform native toolkit as a first class citizen in Rust

It's extremely hard to make a proper cross-platform kit. Because every platform has a gazillion little (and not-so-little) conventions about what's expected, behaviours, and even control placements. Even Qt struggles there and they have been doing it for over 30 years.


> Even Qt struggles there and they have been doing it for over 30 years

Furthermore, even they seem to have thrown in the towel and made the QtQuick (GPU rendered, non native looking widgets) as an alternative to the traditional QtWidgets.


Sort of. Qt Quick is touch focused and native styling is (slowly...) in the works.


WxWidgets does just that, but it exposes clunky, MFC-style C++ for its API. Bindings to other languages do exist though, so a Rust native binding should be possible too.


WxWidgets has all the same issues: it's almost but not exactly native-looking and native-behaving on all platforms. Though I'll admit I haven't seen many wxWidgets app in the wild lately.


I'm the opposite. I prefer apps where the developer has complete control over the design and functionality of the app, rather than trying to conform to the least common denominator of the various native toolkits.


I agree the distinctiveness of the default style is definitely a problem, but on the other hand at least the default style is pretty good. Could be worse - something like Motif, TK or FLTK.

It would definitely benefit from a more "neutral" style though, or even better a few style choices. GTK2 used to have a ton of actually attractive styles available back in the day.


Problem is, perhaps, that the platform with the smallest number of users has the largest number of graphics toolkits.


Sure, but it has two major ones; so target one of those. Don't introduce a new, half-as-functional one.

99% of the users of said platform have both installed on their machine and would prefer either over the janky non-native ones in electron and egui apps.


Go out and make fewer graphics toolkits then.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: