Just a semi-regular reminder that "Linux" isn't a platform. GNOME is a platform, KDE is a platform. Linux is a kernel.

Any web app can claim Linux support, as can Windows app running under Wine. "Native Linux" apps that aren't KDE or GNOME apps aren't native at all.

Honestly, give me your Electron "app" as a proper web app and at least I can use my own browser for it rather than a shitty chrome fork.

Show thread

To be fair, I should credit having first had this pointed out by @tbernard

Show thread

@mjog to be fair, Electron is not just about app distribution (over HTTP or as an installable app bundled with a browser), it also provides up all sorts of Node.js APIs for the "app" to (ab)use, like direct FS access. Web pages are sandboxed (well at least somewhat), so some Electron "apps" cannot possibly work as web sites.

@bugaevc Yup, but in that case give me a decent native app packaged for Flatpak or I'll probably go elsewhere. :)

Signal is the only Electron app I use, and only because it's the least worse messaging app that I can get normal people to use.

@mjog and I've managed to not have to use Electron "apps" at all for a few years now :)

@mjog @bugaevc I haven't either. As for the least worst messaging app, Telegram fits this pretty well IMO. Though yes, as you mentioned before, Telegram is a lot more popular in Russia than in many other places, so YMMV

@exalm @bugaevc Oh yeah, but as much as Moxie seems to rule Signal with a Putin-like iron fist, I trust him a bit more than actual Putin. ;)

@mjog @bugaevc agree, nobody trusts putin. One of the reasons Telegram is popular is because it's officially banned here because the gov wasn't able to get a backdoor. :)

@mjog What do you think about TK or Motif or WXWidgets or EFL apps?

They may be ugly as fuck (save for EFL, EFL is gorgeous), yeah, but they ARE in fact native.

@drq @mjog it's again about being boring and literal.

Everyone knows that "native Linux app" means that it has binaries that would not require special wrappers like Wine or virtual machines like Java or Mono.

Also, everyone knows that Linux means operating system OR kernel depending on context.

(In fact, even Windows apps in Wine are native too, as Wine doesn't emulates anything. It's a Win32 API implementation at first.)
@drq >EFL is gorgeous

It's also interesting as an operating system API. It's really first pure C API that so uniform, smooth, whatever you call and not ugly as Win32 API.

I really regret EFL is not gonna be mainstream. It's an ideal choice for embedded systems and Tizen proven it. But Tizen itself is a niche product.

@a1batross That's kinda Enlightenment DE's fault. It sold its library very short. While it does produce stuning screenshots, in reality, all by itself the DE is barely usable.

@drq Tk, EFL and Wx are widget libraries, same as GTK and Qt. They're not platforms. Motif was a platform. EFL with E is maybe a lightweight platform (as in having few features), but I don't know enough about it to say.

For example, a GTK app isn't a native GNOME application unless it follow the GNOME HIG, respects the desktop's settings, supports and exploits the the platform's features like installing help and desktop files, uses tracker and gnome-shell search providers, etc. etc.

@drq Which is to say it's not just visual consistency, it's also behavioural consistency and actual integration with a specific environment in which it was deliberately designed to be run in.

@drq @mjog Put simply, I think those tools are great for making apps that work decently across a range of platforms. Which may be good enough.

@mjog So, is blender not a native app? Is it a cross platform app?
If so, I tend to prefer cross-platform to native apps.

I still hate electron and would never use an electron app.

@blendergeek Blender? No idea. Which platform does it integrate well with?

@mjog @blendergeek Blender clearly qualifies as a cross-platform app to me. And in a lot of ways is implemented as an OS within an OS, complete with it's own window manager, apps, and UI toolkit.

Which I think is fine, because no matter what it'll take a fair bit of learning to use. And as such deserves internal consistancy more than it deserves external consistancy.

@mjog I think Electron apps being bad is a separate problem from Linux not being a platform.

It's possible to make an Electron app that works decently on the GNOME platform, because it's a well-defined platform and you can design for it. What isn't possible is making an Electron apps that will work on *anything running a Linux kernel*, because environments can be different in a million unpredictable ways.

@mjog A concrete example: Some distros still show the old status icons GNOME deprecated years ago, so some Electron apps still use them (and sometimes expose features only through those).

These apps are effectively broken on GNOME and elementary yet they claim they support "Linux".

@tbernard I'd definitely agree with the latter, it's all about intentional, deliberate design for a specific platform.

But I don't agree about the former. I've never seen an Electron app that works well with GNOME. That's because while it's easy to get things like the status icons wrong, a lack of support for GTK and other GNOME libs and technologies makes it very hard to get many things right.

@tbernard You can see this running GNOME apps on very closely related platforms such as Elementary or Unity. Even though they share 95% of the same platform, a GNOME app like Geary stands out quite poorly on them. The effort required to get an Electron app working well on GNOME would be orders of magnitude harder, if possible at all, and I don't think it is.

@mjog I think that depends on the definition of "working well". If you mean "look and feel exactly like a native GTK app" then no, it's not possible.

However, if your definition is "does the thing I need and doesn't look broken" it's definitely possible (at least for some categories of apps) if the developer just sticks to one visual style across platforms.

Many elementary apps work fine on GNOME and vice versa if you hardcode the stylesheet they're designed for, e.g.

@tbernard I dunno. The functional problems that have been introduced for people using Unity that that were caused by UI changes in Geary in the last few releases are a counter-example to "just fix the theme". As is one half of the reason that Elementary forked Geary and there was no on-going collaboration afterwards, that they wanted to follow their HIG and use their own custom widgets.

@tbernard We provide a contractor file for people on Elementary, and have Unity-specific ifdef's in the code, but I have no desire to maintain these, since I don't have the time or experience to be able to test properly on those platforms.

I don't know if the contractor file gets installed on Elementary systems or if it even works. I know Geary is being used by Unity from the bug reports, but most of those are "please don't make these GNOME-specific changes because it breaks Unity".

@tbernard So I'm actually quite happy Elementary are putting in the effort to support people that use their platform by maintaining their own mail app. It's a shame that no point of collaboration was found, but ultimately Mail is a better app for Elementary and Geary is better for people running GNOME.

Geary could be made much better for people who still run Unity, but would require someone puts the effort in and would have to take the form of more desktop-specific hacks in the codebase.

@mjog Sure, I'm not saying most Electron apps are doing a good job here, just that it's theoretically possible (at least for some use cases).

@mjog xterm is a native app. I'm cool with wxwindows and fltk, I get disliking them because they clash with your gtk/qt theme but I wouldn't call them non-native

@amsomniac It's definitely not about the theme, that's just a common undesirable side effect. :)

Sign in to participate in the conversation

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!