Project

General

Profile

Use cases » History » Version 5

koszko, 02/14/2022 01:26 PM
remove "* site descriptions to be shared, together with comments and opinions" - its the field of Hypothesis; we might add support for querying Hypothesis servers at some point but its not one of our main goals

1 1 jahoti
# Use cases
2
3 3 jahoti
Haketilo can be used to help computer users gain control over their web browsing. For a long time, major web browsers by themselves have been giving users little choice but to view a website almost exactly as it is served to them by an HTTP server. Whether or not its javascript is malicious - it is executed. Whether or not the user likes its interface - it is not possible to simply substitute it with another one. Neither is it possible to provide an independent translation of a web page for others to use. Websites with accessibility problems mostly retain them until their owners make a redesign with accessibility in mind. It is also difficult to use some sites on mobile and other small devices or with slow and unstable internet connection because webmasters often don't, or didn't, account for that.
4 1 jahoti
5
Over time many browser extensions have appeared that could help solve some of these issues. There are ad blockers that got very popular as a result of annoying advertisements becoming too pervasive. There are also blockers of other types of content that can be used to automatically block some kinds of spyware, selectively disable javascript or third-party connections on web pages and even enhance sites with custom user scripts. Some web browsers even have these functionalities built in.
6
7
While tools like those described above continue to exist and serve their users, they are usually limited to doing just one of those things and don't provide the high extent of control some people need. This extension is meant to be a basis for a bigger, browser- and extension-agnostic platform with its own public script repositories that would allow for:
8
* javascript and other types of unwanted content to be blocked when browsing
9
* custom javascript to be run on sites, for example to:
10 4 jahoti
    * [[#Support-for-software-freedom|fix sites that stop working after their original, proprietary, spyware-encumbered javascript is disabled]]
11 1 jahoti
    * add features
12
    * have full control over the script
13
* custom interfaces to be provided for websites, for example to:
14
    * make heavy sites usable on resource-constrained devices
15
    * make sites accessible
16
    * be able to use them more conveniently
17
    * aggregate content from many websites in one place
18
    * add even better features
19
* lightweight and ethical website design to be promoted
20 4 jahoti
21
## Support for software freedom
22
23
There are quite a few ways this extension could be used, meaning people with different objectives may find it useful. However, the main motive for the authors of this extension was to be able to browse the "Web" without giving up on software freedom.
24
25
During the last 2 decades javascript (scripting language of the "Web", abbreviated as "js") has became very pervasive, with a majority of WWW sites utilizing it today[^1]. While many websites could be accused of being bloated and overusing js, there is yet another problem - the scripts that are being run in users' browsers quite often aren't [libre software](https://www.gnu.org/philosophy/philosophy.html) and cannot be legally modified by the user. We, who value software freedom, consider it an injustice and block those scripts from executing, for example using browser extensions like NoScript.
26
27
The issue was described in ["The Javascript Trap"](https://www.gnu.org/philosophy/javascript-trap.html) by [Richard Stallman](https://en.wikipedia.org/wiki/Richard_Stallman) (RMS) as early as in 2009. While suggesting blocking of nonfree scripts in the browser, RMS also advocated creation of a facility to replace these with libre scripts, so that websites would be working again. While an extension called LibreJS eventually appeared that could automatically recognize properly-tagged libre scripts on pages and allow only them to execute, until 2021 there was still no convenient way for users to develop, share and run script substitutes.
28
29
This extension aims to make up for negligence of this issue in previous years. There is at least nothing to lose - with many websites non-functional without proprietary code, it can only get better now.
30
31
[^1]: <https://w3techs.com/technologies/details/cp-javascript>