Use cases 1 and 2: I see better having an account/identity management within the web-browser with possibly an extension or spec that links an account/identity between an app and a web browser.
Use case 3: For this case, there is also launching the browser in private mode (or any advanced configuration). What is needed here is something to tag an app as “untrusted”/“unsecure” so it automatically chooses a web browser (or its special mode like private browsing) you define for this particular need.
what you propose - a tag marking application insecure seems good to me. It would suit my needs(and hopefully other users as well).
It also means that there should be “definition of insecure browser/docker/anything”. Does the gnome have something like this? If not, then it could be part of this change. So “insecure app” tag and “definition of insecure browser/docker/anything”, two things to define/develop.
What do you think about it? And how to proceed next?
For the rest, I don’t know because I’m not well informed. But I don’t think it’s defined.
The best is to discuss it with the design team, to convince them. Note that you definitely need a definition of secure web browser vs. insecure web browser vs. web browser secure by default, while considering private browsing (is it a security mode?), as it should be understandable for the naive user.
What you need to know is how to label/decide for non-sandboxed apps since the naive user will likely open an app and then click on a link within it that opens in the web browser. I think this is where the user needs to know if this link opens in a “secure” or “unsecure” web browser. It’s about the user experience (you have to think about it).
Seems like matrix is way to go to contact design team by this discussion
This task should stay simple, when solution will be not so easy, than it should be cut into smaller simple pieces.
For example my intention is to open Telegram’s(and other social networks) URL’s in some private browser/anything, as i choose. Gnome team seems to think about definition of secure/unsecure app, secure browser.
Curious what is achievable. Will join there and see.
Thanks for mockups @Mikenux
Transferring here discussion from gnome-design matrix channel:
i like the web override idea, but instead of a row that opens a new window, an expander row with radio buttons should be used instead
it’s kind of wasteful to open a new window with just a drop down menu
and most people will only have one or two browsers so a drop down menu might not be warranted
If they are okay with integrating the selection of a web browser as is (without more elaborate user experience as seen here), it will certainly be better for you in terms of development.
I would say the questions are:
Is giving suggestions about the use of the feature (i.e. for security/privacy reasons) worth it?
Giving suggestions on its use can be helpful. However, giving no suggestions later allows users to be asked what they are using it for.
What name should be given to this feature?
It depends on whether we assume it is a security/privacy feature or not. However, if it’s a security/privacy feature, it might require detecting “safe” web browsers (so I’m assuming some additional code). If we keep it simple, then maybe “Opening In-App Web Links”? (maybe In-App is optional). I think that seems clearer.
How will users discover this feature if we keep it simple?
Reading the release notes of the new GNOME version? Noticing a new item in the Applications category in Settings?
Also, does your code only show this option for apps that have web links? (note that I am not a developer).
I am going to create update draft PR for this feature with suggestions from design team. When the design team will approve this, then will solve backend logic(i have now only UI without functionality). When both main parts(UI and backend logic) are in place, then it will be ready for main review.
For questions i think this:
ad 1) Not sure. Probably each user know why this feature will be used in his computer. If some use case would be mentioned, then something clear and common. Like “I want links from Writer(Libre Office) to be opened in another browser”.
ad 2) I would leave if this is privacy or security feature on somebody from gnome team. Both options are correct.
ad 3) Release notes. Video - screen-cast perhaps.
ad 4) Now it is draft, mainly for visual presentation. If will be most probably showed everywhere. On backend side i would like to rewrite url handler. Its open and could change during backend logic implementation.
The default web browser is just the default handler for the x-scheme-handler/http or x-scheme-handler/https pseudo-content-types. So it seems a bit weird to restrict this to just the default web browser (at least from the point of view of actually implementing this).
Also, do you plan to change the xdg standard for this? Or do you want this feature to be GNOME-specific?
In the latter case: Not all apps go through “GNOME-controlled” code to launch the default web browser, so I don’t see how this could work for all apps as a GNOME-specific feature. And even if “GNOME-controlled” code is involved, it might not always be possible: Say e.g. an app uses xdg-open to launch the browser, which then (on GNOME outside Flatpak) runs gio open, so “GNOME-controlled” code is involved. But at the point that code runs, it doesn’t have any information about which app originally made the request to start the browser. So it can’t start different browsers depending on the app.
Actual state is that default “Web” is used for applications. Aim of this is for user to have wider options of possibilities, so user can choose other than default browser.
No idea, what is xdg, outside of my knowledge. Lets talk about backend implementation after design team will approve design. Would like it to work for snap(flatpack?) applications . This should be achievable.
All you have to do is set it up as your default browser in GNOME (it will ask you to do so when you first run it), and then, whenever you click on a link inside an app that ISN’T a web browser, it will open a window that lets you choose which browser you want to use to open the link with: