WebView-CG / usage-and-challenges

Documenting usage scenarios for WebView and the challenges they create
https://webview-cg.github.io/usage-and-challenges/
Other
12 stars 4 forks source link

Build opinionated web browsers #4

Closed tomayac closed 2 years ago

tomayac commented 2 years ago

Use case name

Build opinionated web browsers.

Submitter(s)

Thomas Steiner (@tomayac)

Motivation

Create web experiences that follow an opinionated style, for example, with removed ads or removed trackers.

Stakeholders

Companies with opinionated views on how people should experience the web.

Analysis

I looked at one concrete instance of such an opinionated web browser: DuckDuckGo's privacy-focused macOS browser (careful, automatically downloads a 17.2MB .dmg file) is essentially a WKWebView with default- or opt-in-injected scripts for content blocking (e.g., contentblocker.js) and cookie consent (e.g., autoconsent).

Screen Shot 2022-04-20 at 11 34 04

Related W3C deliverables and/or work items

N/A

How is the issue solved in the Browser, and what’s more is needed?

Currently this use case is solved by injecting user scripts. One improvement I could imagine would be for companies to have a desire to keep their secrets. As you can see from the screenshot above, Web Inspector shows all these user scripts transparently.

QingAn commented 2 years ago

This is also related to #10

Try to summarize, is it about supporting UserScript injection in WebView plus better confidentiality/privacy?

tomayac commented 2 years ago

10 is related, yet different.

muodov commented 2 years ago

@tomayac thank you for raising this! Our source code is mostly open, so keeping user scripts secret would probably not be the main concern for DuckDuckGo. We do face several platform-specific issues with WebView that we'd like to surface though. I'm currently collecting info on them internally, hope to follow up soon.

muodov commented 2 years ago

Judging by the other use-case issues, and previous discussions, I understand that we are focusing on more granular, technical use-cases from developer perspective, as opposed to product-oriented or user-oriented ones. (@QingAn please correct me if I'm wrong :)

As such, I think this issue might be a bit too broad, since full-featured browsers have many components, and would likely need most of the features provided by WebViews. For example, both https://github.com/WebView-CG/usage-and-challenges/issues/12 and https://github.com/WebView-CG/usage-and-challenges/issues/6#issuecomment-1119251776 are relevant to DuckDuckGo browsers, as well as several other issues that I'm going to write up.

If there is interest in the possibility of hiding injected scripts in the devtools, perhaps we could narrow this issue to that? Otherwise, would it make sense to close it in favour of more specific use-cases?

QingAn commented 2 years ago

@muodov Yes, sub-categorize and narrow down the use cases would be helpful.

QingAn commented 2 years ago

As discussed in 2022-07-06 meeting, @muodov and I suggest that it would be better to focus on more granular, technical use-cases, and so to close this issue. @tomayac we would like to ask your opinion whether it is ok to close this one and focus on #20 and more which will be submitted by @muodov ?

tomayac commented 2 years ago

Fine with me, especially since #20 was submitted by an actual DuckDuckGo employee. Closing my Issue.