Most active commenters
  • pjmlp(4)
  • shiroiushi(3)
  • mavhc(3)
  • vetinari(3)

←back to thread

316 points pabs3 | 17 comments | | HN request time: 1.277s | source | bottom
Show context
elashri ◴[] No.42170406[source]
Sometimes I envy that although I am not a SWE. I work in a field that is so close with the open source and tech scene that we don't have to rely on commercial products like some other fields. It is hard to compete or gain enough interest in some fields of engineering to any open or free solutions.
replies(3): >>42170536 #>>42170659 #>>42171188 #
kiba ◴[] No.42170659[source]
Perhaps you mean proprietary. Ondsel is after all a commercial project.

The fact remains that proprietary software seem to be a license to print money, and with the ability to print money is the ability to entrench said software, such as heavy investment in software development.

This is a uphill battle for open source software, but it seems that open source software tend to keep improving in the long run.

replies(1): >>42170812 #
shiroiushi ◴[] No.42170812[source]
>with the ability to print money is the ability to entrench said software, such as heavy investment in software development.

It seems like proprietary software has a big advantage when there's still lots of room for improvement, so that investment in further development pays off.

However, in some cases, there's little room for real improvement, and the thing becomes a "solved problem" for the most part. At this point, the proprietary companies then start enshittifying the software (look at Photoshop, now a cloud-based program) to try to extract more money from users, and to keep users on the upgrade treadmill. Part of this is probably from the way corporate politics work: when you're a manager with a team in place, you need something to keep that team busy, to justify your team's continued employment to upper management, so when you run out of useful improvements to make, you invent less-than-useful "improvements" (e.g., ugly new UIs).

This is where FOSS seems to be able to do well: it doesn't need to waste resources on useless improvements (we'll ignore GNOME for a moment as an exception), and can just focus on delivering the necessary functionality. Once that's done, it can just go into maintenance mode and people can move on to other projects. Until then, it can continue to improve and attract users to switch from the enshittifying proprietary stuff.

replies(1): >>42170864 #
pjmlp ◴[] No.42170864[source]
GNOME, several reboots of the audio stack, XWindows versus Wayland,...

FOSS only does well when it isn't the main source of income for contributors.

replies(1): >>42170896 #
1. shiroiushi ◴[] No.42170896[source]
Wayland has its issues to be sure, but the X Window System was no longer suitable for modern systems; the justification for replacing it was quite sound.

GNOME I'll heartily agree on. But I've never liked GNOME myself (v1 seemed OK though) and have always criticized that project. I've always been a KDE fan, though admittedly they've had some similar problems and have handled some major changes rather poorly (esp. 4.0). Really, the desktop environments are one place where FOSS hasn't really done that well, frequently re-inventing the wheel for questionable reasons, or adopting questionable new design philosophies. At least there's a fair amount of competition in the space, so if one project rubs you the wrong way, you can try another; this proliferation of competitors also shows just how much disagreement there is in the community on this particular matter.

I really don't know enough about the audio stack changes; I can only guess that they found big problems with older solutions there which required major architectural changes, esp. for certain high-performance applications.

replies(2): >>42170937 #>>42170995 #
2. mavhc ◴[] No.42170937[source]
Desktop managers have never decided if they want to copy Windows or MacOS, both of which are terrible GUIs that we're now stuck with, using paradigms from 1983/1984
replies(1): >>42179860 #
3. pmontra ◴[] No.42170995[source]
> this proliferation of competitors also shows just how much disagreement there is in the community on this particular matter

It is to be expected that there is a proliferation of different UIs if there is the possibility of making different UIs run on the same OS. The reason is that everybody has a different workflow, different aesthetic preferences, different ways of doing things (e.g.: leaning more toward keyboard, mouse, touchpad, touchscreen). The best thing I remember in this space were the dozen or so X11 windows managers of the 90s. The worst one is the single UIs for Windows and Macs. There are some ways to customize them but not as heavily as it is possible with Linux.

Wayland seems to restrict what's possible to customize but I might be wrong because I have no direct experience. I'm still of X11 because of an old NVIDIA card and frankly I could stay on X11 forever. I know that I'll have to switch sooner or later because of software compatibility. I'd hate to have to buy a new laptop only to be able to run Wayland. It's still good enough to work with me for my customers.

replies(3): >>42171032 #>>42171044 #>>42178615 #
4. pjmlp ◴[] No.42171032[source]
> The worst one is the single UIs for Windows and Macs. There are some ways to customize them but not as heavily as it is possible with Linux.

Which is why Windows and Mac still get native UIs for many desktop products, while Linux if a product actually targets it, gets Electron.

replies(1): >>42173381 #
5. kombine ◴[] No.42171044[source]
Rollout of Wayland has not been the smoothest and I think among its major issues is the slow pace of development - it took it 10+ years to become default and certain features present in X11 are still missing. Having said that, after I switched to KDE Plasma 6 with Wayland (on Intel and AMD graphics), I've noted a significant improvement in responsiveness and snappiness of the desktop. I know nothing of how Wayland works, but I assume this is the reason the replacement was needed in the first place. I had to replace my GPU from NVIDIA to AMD, but I don't regret it (all my deep learning compute is on the HPC cluster anyway).
replies(1): >>42171728 #
6. kenniskrag ◴[] No.42171728{3}[source]
One reason was, that the security model wasn't enough anymore. E.g. every application was trusted and can listen to key inputs e.g. steal passwords and credit card infos. Btw there was an issue that screenshotting in wayland was not possible. But easy in X11 because everything was visible.

Don't know much about the architecture about wayland but I think grahic driver handling changed in wayland too.

7. vetinari ◴[] No.42173381{3}[source]
Do they? There's no lack of Electron UIs on Mac and Windows. What's even a native widget library on Mac and Windows today? Do Swift-UI and WinUI (v3 nowadays) count? It's not as clear cut as it was in 2000s.
replies(1): >>42173494 #
8. pjmlp ◴[] No.42173494{4}[source]
Yes they do, that is why I clearly mentioned "still".

Native widget libraries is whatever the OS vendor puts on the SDK, and ships on the installers for their compilers.

The large majority of Electron apps that happen to land on Mac and Windows land, usually come from GNU/Linux shops, that also feel like targeting other operating systems, and since that is the solution for GNU/Linux, they dump it into everyone else.

In the process they help Google take over the browser ecosystem, and then talk about how M$ used to be all over the place with IE.

replies(1): >>42173637 #
9. vetinari ◴[] No.42173637{5}[source]
Native widgets libraries were historically those, who were only one that knew, how to talk to the display server. So if you wanted to write another widget library, you had to link to them anyway, to use them as a proxy. That's how Qt, for example, runs on Windows or Mac, using the old win32 api or Cocoa.

But meanwhile, the OS vendors got creative and pumped out a bunch of new, _more modern_ libraries, which have abilities that the old, "system" ones do not have. You want Acrylic design on Windows? Better be satisfied with WinUI -- which, in v3 is the recommended way to write native applications by the platform owner, and which is decoupled from system releases and from Windows SDK.

Electron apps are coming from any shop, that want to throw together some installable, locally running app and figured out, that paying HTML+CSS devs is cheaper, than paying C++ (or ObjC) ones. Having shorter development time is also something positive. It has nothing to do with Linux shops; there are Electron apps, that could be running on Linux if there was a will, but aren't (Whatsapp), or almost-electron-but-edge_webview-instead (Teams).

replies(1): >>42173918 #
10. pjmlp ◴[] No.42173918{6}[source]
In 2024, the recomend ways to write GUIs in Windows are Win32 (your native widgets library), exposed by WinForms. WPF has parity with WinUI 3, in recomended way by the platform owner, officially communicated at BUILD 2024.

Doubled down at .NET Conf 2024 during the last week.

Regardless of the GUI framework from Apple, and Microsoft, those are managed bindings to the underlying native APIS (Win32 and Cocoa), which is why they also expose handles to do lowlevel stuff if one so desires, coding like 2000.

Webviews are a different matter, as they don't require shipping Chrome with the application.

It definelty has a lot to do with Linux shops, as they can't be bothered to support GNOME, KDE, Sway, XFCE, or whatever everyone else uses, so Electron it is.

And then they want Mac OS and Windows customers as well.

replies(1): >>42177395 #
11. vetinari ◴[] No.42177395{7}[source]
> In 2024, the recomend ways to write GUIs in Windows are Win32 (your native widgets library), exposed by WinForms. WPF has parity with WinUI 3, in recomended way by the platform owner, officially communicated at BUILD 2024.

So maybe Microsoft should update their own guides then: https://learn.microsoft.com/en-us/windows/apps/get-started/?...

| Many apps for Windows are written using Win32, Windows Forms, or UWP. Each of these frameworks is supported and will continue to receive bug, reliability, and security fixes, but varying levels of investment for new features and styles. For more information about these app types see the following tabs.

Yes, in Build 2024, there was backpedaling back to WPF, since WinUI is in terrible shape.

> Webviews are a different matter, as they don't require shipping Chrome with the application.

Electron also doesn't ship Chrome with application; it ships the rendering engine (blink) and javascript engine (v8). Which is exactly the same, as edge webview. Unlike edge webview, they are not dragged in by Microsoft Edge, the browser (so you get it whether you have an use for it or not).

> It definelty has a lot to do with Linux shops, as they can't be bothered to support GNOME, KDE, Sway, XFCE, or whatever everyone else uses, so Electron it is.

So how do you imagine such support would look like? I know a thing or two about development on linux, but I have no idea what would supporting XFCE or Sway explicitly in an app would involve. Unless you hyperbolize, right?

The only real decision would be choosing Gtk or Qt; the desktop environments have no real impact on your app and with Qt, you are getting the multiplatform support, that is supposedly behind the electron usage of those linux shops.

Also, what exactly are those linux shops, that target multiplatform by using electron? Is it like Cisco? Or Meta? Maybe Bitwarden? Discord? Figma? Microsoft (skype, vscode)?

12. shiroiushi ◴[] No.42178615[source]
>The reason is that everybody has a different workflow, different aesthetic preferences, different ways of doing things

>The worst one is the single UIs for Windows and Macs. There are some ways to customize them but not as heavily as it is possible with Linux.

You're right, and I forgot to touch on this before. Just look at Windows for instance: it's not a monolithic thing, because it's changed over time. Lots of Windows users criticize the new(er) versions, and say that Win7 was the peak of the Windows UI. Lots of people absolutely hated the new "Metro* UI in Win8. So clearly there's no agreement there either, so how could there possibly be broad agreement in Linux?

13. 1propionyl ◴[] No.42179860[source]
Honest question: what makes them both terrible?
replies(1): >>42185382 #
14. mavhc ◴[] No.42185382{3}[source]
They're based on the 1984 technology of "we can barely run 1 application at once", you can barely drag objects between applications, mostly you can't use overlapping windows because of raise on click, which makes dragging anything pointless, they put the menus far from the pointer.

Why when I have my file manager view of a directory open do I need to open it again inside the application to save a file there?

replies(1): >>42187066 #
15. 1propionyl ◴[] No.42187066{4}[source]
> you can barely drag objects between applications

This works fine on macOS in anything that supports it. For example I can drag assets in and layers out of Pixelmator without any issue, drag emails to the desktop or a Finder to save them, etc.

> mostly you can't use overlapping windows because of raise on click

Which can be disabled if it makes sense for that app. What use case are you thinking of here?

> Why when I have my file manager view of a directory open do I need to open it again inside the application to save a file there?

You can drag a directory into the save dialog to jump to it (Windows gets this wrong), and the title heading of an open Finder window is itself draggable, you don't have to exit the directory if you already have it open.

Alternatively Opt-Cmd-C to copy current directory and then paste it into the save location dialog, or Cmd-Shift-G and paste in the location.

replies(1): >>42193329 #
16. mavhc ◴[] No.42193329{5}[source]
True, MacOS is slightly better, still has raise on click, can't see a way to disable that.

My use case is I have 2 applications that I want to drag something between, and the windows overlap

Can you create a new document and then drag a proxy icon to the Finder on MacOS?

replies(1): >>42197079 #
17. tpmoney ◴[] No.42197079{6}[source]
> My use case is I have 2 applications that I want to drag something between, and the windows overlap

This should work for most use cases. If you can see the window for the target app even if you can’t see the drop destination, holding on that window briefly while dragging should raise it to the front (my testing says about 2 seconds). Alternatively (or if you can’t see the target window), the various expose gestures and buttons work during a drag operation. For example on a MacBook you can start dragging from one window, swipe up with your other fingers to reveal all applications or swipe down to reveal just the windows from the current app, and you can drag to the window for your target. From there you can hover on the target and expose will switch to the chosen window after a moment, or you can perform the opposite swipe action while hovering over your target window to raise it to the front.

As for the new document thing if you mean to save a document for the first time by dragging it to a finder window, as far as I can tell you can’t do that. You can drag the finder window to the save dialog but not the other way around.