Project

General

Profile

Future plans » History » Version 3

jahoti, 07/12/2021 07:20 AM
Strip unnecessary line breaks

1 1 jahoti
# Future plans
2
3
In its current state, the extension does not yet allow for all the types of enhancements listed so far. In addition, there are some features and use-cases worth discussing more thoroughly that go beyond creation of a single browser extension.
4
5
{{toc}}
6
7
## Site translations
8
This is a potentially very useful feature, but unfortunately it might cause legal problems. Translated version of websites' text would still be covered by copyright of the original and could hence be impossible to distribute legally. In many cases copyright holders of text available online would be OK with someone translating it but asking for permission every time would definitely be unfeasible. A solution could be to encode translations in some way so that the actual translated text can only be reproduced with access to the original. This way we could claim it is only translation and not the copyrighted original that is distributed. Wayback Machine could be leveraged to produce translation of a site that ceases to be available.
9
10
## Port to Manifest v3
11
Google is introducing a breaking change to its WebExtensions ecosystem. The new extensions format differs significantly from the previous one, so do the APIs provided. Mozilla follows this path and is also going to implement what is called "Manifest v3".
12
13
There's no point hiding that at least one of this change's goals is making things harder for ad blockers (and hence, also content blockers). While it is going to be a hurdle to implement proper content blocking and substitution in this scenario, it should be achievable and we still want to support Chromium-based browsers for as long as reasonably possible.
14
15
It is worth mentioning that Mozilla, unlike Google, claims to have plans to retain the `webRequest` API extensively used by current content-blocking browser extensions. In the end, this might lead us to supporting less features in Chromium-based browsers and more in Gecko-based or even WebKit-based if we get to implementing an analogous functionality there.
16
17
## Platform for sharing custom content
18
Currently, the extension only allows pages settings to be stored locally. In addition, a subset or all of these settings can be exported to a json file and imported back in another browser.
19
20
The ultimate goal is to have a platform where anyone can contribute scripts and other works to make internet more user-controlled. We also need some means to impose guidelines and prevent spam and abuse on the platform. A scheme where long-time, credited contributors are more privileged while newcomers' contributions, however welcome, need to be approved, is likely to work best in this case. We are going to base on the practices developed by projects like Debian and Wikipedia that are known to be dealing with this issue well.
21
22
The repository software has to be released under a libre license. Even though we, project authors, are going to set up the platform for distribution of scripts, the extension (or any other client-side software capable of using this repository) should make it easily possible for a user to select for use a third-party repository or even multiple ones. While it is nice and sometimes beneficial to be "the only player", it would be against the spirit of software freedom and free culture to hamper the creation of alternative repositories by those who desire so. If someone can do this better than we, the founders, can, that person should be allowed to.
23
24
It is worth mentioning we, current project members, are very concerned about software freedom. It might happen that other, third-party repositories that appear over time will have more loose conditions, maybe even allowing proprietary scripts. While this is unfortunate and such repositories should not be endorsed, they should be allowed to operate freely.
25
26 2 jahoti
## Support for WebKit-based browsers
27 3 jahoti
Currently supported Firefox- and Chromium-based browsers are controlled by big entities and may go into the wrong direction in the future. Internet users' freedom should not depend on them and it is certainly not enough if we support just these browsers.
28 1 jahoti
29 3 jahoti
WebKit is a browser engine commonly used in free software projects, partially due to its easy embedding in other applications. There are several minor web browsers based on it. While in the case of Mozilla and Google browsers the most feasible approach to achieve our goal is to develop a WebExtension, in the case of WebKit it is going to be relatively easy to build the required functionality into the actual browser. This brings along a great advantage of not having to rely on some overly restrictive javascript APIs. In fact, if this project succeeds, it could make sense for it to start a completely new browser based on WebKit.
30 1 jahoti
31 3 jahoti
While there also exist custom browsers based on Firefox and Chromium, they suffer from Google's great influence. Some would point out that WebKit is way behind the 2 major browser engines in terms of features. While true, this is relatively harmless for our project, since the goal is to be able to run custom javascript with web pages and such custom scripts can be further customized to work despite lack of some fancy features WebKit didn't implement. Additionally, a smaller number of features might be a feature of itself, as described below.
32 1 jahoti
33
## Creation of a new, simplified Web standard
34
Besides the issue of nonfree javascript and lack of user control, the "Web" has yet another issue - it is increasingly complex and is getting even worse in that matter. Someone actually [made the effort](https://drewdevault.com/2020/03/18/Reckless-limitless-scope.html) to compute a word count of all "Web" standards combined. This complexity leads to web browsers becoming operating systems of their own, with even big enterprises like Microsoft being unable to keep up with the changes and resorting to using Google's implementation.
35
36
Current state of affairs leads to vendor lock-in and is generally dangerous to the entire WWW ecosystem. Some responses to this issue have appeared. One of them is the [Gemini](https://gemini.circumlunar.space/) protocol which is lighter than the widespread HTTP/HTML/CSS/Javascript stack. Such project are good and should be promoted. However, even the Gemini Project's overview states it is not going to replace the "Web". What will, then?
37
38
A feasible replacement for the "Web" needs to be something that will be appealing to both enterprises and non-technical users. It needs to be sufficient for things like content uploading and user login. One suggestion is to standardize a modest subset of HTML and CSS (without Javascript) that would be sufficient for most of the use-cases of current "Web". Some important features have been added to HTML and CSS over the years that enable creation of good-looking, responsive content without use of Javascript. These would be retained. At the same time some advanced use-cases like those that rely on WebSockets or WebRTC would simply be out of this new standard's scope (although a lightweight, Web-Zero-compliant browser engine could still be embedded into standalone applications using these).
39
40
Once embraced by businesses and organization, such standard would allow for much more secure, lightweight and stable websites. At the same time, it could be used with most of existing tools. While convincing decision-makers to use it might seem like a difficult task, possible advantages are big enough that intelligent people are expected to consider it seriously. A good name is also important; "Web Zero" seems pretty catchy. Just as Coca-Cola Zero has been advertised as a drink that can help people lose weight, this standard could help "Web" become more lightweight to participate in.
41
42
How does this all relate to this browser extension and project in general? In the case of most websites, their owners are obviously not going to instantly make them available on Web Zero. The possibility of making custom interfaces for existing websites has already been mentioned. Taking the idea one step further, it would be possible to adapt our proposed platform to also facilitate sharing code capable of proxying certain websites into Web Zero.
43
44
While this is indeed a very distant idea, it presents a perfectly valid way this project could help replace the "Web" with a lighter one.