Hacker News new | ask | show | jobs
by porridgeraisin 9 days ago
This is the issue with imposing semantics of the programming model on the behaviour.

User behaviour is the only _real_ thing, it happens. Everything else is in your head. If people in the real world use PiP, then it should happen. The programming model has to bend and change to support it. It simply does not matter if the window manager does something or the window does something.

Sure, there is always the security argument wayland folks fall back to. But what ever is the problem with making a one-time permission popup? "Google Chrome wants to open in PiP: allow | allow once.". Just expose the existing PiP code in the window manager as an API guarded with an `if` that apps can call. It's not even that much real work, just pure bikeshedding and architecture astronauting.

2 comments

Permission prompts still only allow things that have already been thought of so we will see less innovation in the future. I don't think this kind of security model is needed at all for an open source desktop where we can enforce directly that programs respect the user instead.
Right right, and I'm not saying users shouldn't be able to have a floating window with video (or whatever) in it. I'm saying it shouldn't be Chrome making that window floating and always visible.
That expectation is really an immediate major UX defect. Most really good GUIs rely on tons and tons of subtle behaviors to work right (that is, to assist the user). That means - counterintuitively - that they need a lot of leeway in how they get to control their own windows to appear on the screen.

Ultimately, the screen is just an unbroken flat surface and windows are just a software level abstraction that has been tortured beyond hope and one that users shouldn't have to micromanage or understand deeply.

If an application needs something to appear at a specific spot in a specific way, the display manager needs to bend over backwards to make it happen or it's broken. Windows understands it. MacOS understands it. X11 understand it, but the community is working hard to throw that wisdom away.

Finally a sane answer
I don't get it, if you're on google meet, and you want to make one of many videos PiP. How can you ever do that in the window manager? It has to be done in the application! You right click or click on the menu on that particular video, and click Picture in picture.

How the heck can the window manager do it?

The application could tell the window manager it wanted an always on top window. The window manager could ask the user if it should allow or reject and remember for this application or not.
That's exactly what I said... and also not how wayland works.

I cannot comprehend the way wayland folks think... quote from the xdg-pip discussion:

> To not make PiP windows effectively "always on top" and "on every workspace" dialogs - a terrible and sadly by applications used concept on X11 - PiP windows must be input-only, i.e. not receive keyboard, pointer and touch input

Like what the heck even? That is how pip windows are expected to work? And of course you want inputs on them? e.g to mute/unmute on a video call? Like these are use cases used daily by people. And its "terrible".

I also don't get it with the wayland people. It feels like they want to revert everything to a UX design that was getting old in the 90s.
They want to turn everything into an appliance.
If things were designed well, it would be as easy as clicking the pin icon on the window border.
How many buttons do you want on a window frame then? The typical 4 buttons already take a lot of space in the title bar. Not everything that seems like a good idea at first glance is actually good design.
I don't know man, everybody is fine with putting tabs, and searchbars, and a bunch of other shit in the titlebar, but god forbid we put one button that's actually incredibly useful.
Try to move a browser window when you have 20+ tabs open. This is an incredibly bad UX.
I've fucking had it with you people and your "design"

As many buttons as he thinks he needs, and as a compromise they can be disabled by default and enabled through settings. Instead your ilk will probably remove even those remaining buttons and replace them with some obscure movement command

No, I wouldn't. I'm not your enemy. Please don't antagonize people like that. It's rude and I considered not replying because of your tone.

I have a pretty strong oppinion that GUI basics must be simple but more advanced stuff (e.g. tools that trainee professionals spend most of their workday in) must not hide its raw power because the user can be expected to learn.

User interface essentials have to be understandable without mental gymnastics by default without appearing overwhelming. The overwhelming majority of computer users don't change defaults on most software and a shockingly big number of computer users deal with them only because they must, not because they derive joy from it. They don't engage deeply with these devices at all. So those defaults must be picked carefully to keep the UI approachable. This isn't the same as ripping out features or antagonizing power users that do bother to learn.

That's what I have in my setup, six titlebar buttons: send to other screen, sticky among workspaces and always on top in addition to the base 3. Can't imagine ever using something that gives me less control again.