let created = `Date (2019, 8, 18) in
This site is a place for me to share with the world in a free way; art, thoughts, software, etc. With free, I especially mean free in visual expression and free from surveillance. Related to these freedoms, it is also an experiment in how to construct a site based on this different set of ideals, in contrast with the ideals that most of the new sites of the internet tend to be based on.
As a user of the internet, I dislike how JavaScript has become the predominant tool for implementing all kinds of functionality - even the kind that didn't even need the power of JS. The problem of JS as a technology is one of the things I will dive into throughout this text.
This site is implemented as a server-side application, where for the majority of pages on the site, there will be no JS running in the users browser, and definately no 3rd party JS! There are several nice consequences for the user from this choice. A couple of them are:
The site is faster to load and use. I.e. no lag because of some slow JS procedure using your CPU - or no delay in loading the initial page because of server-side pre-evaluation of JS. Instead the site is rendered in a straight forward manner pr. request, by a native OCaml application at the server.
The user is respected; there is no tracking of the users input-devices, e.g. mouse or keyboard. On many sites everything the user does will be tracked - so if you write or paste some password into a textfield, or by accident write a personal message in the wrong window; the site-owner or some third-party will have access to that data. For just a couple of (dated) examples, see the tracking system, Mouseflow, or lookup the analysis Facebook made about the content of text-boxes that never got posted on the site.
There will be fewer 3rd party actors tracking your movement around this site (DNS servers still track you).
Most sites, even those not running JS, are tracking your behaviour - but without JS they are limited to track where you came from, what pages you visit on their own site and a set of identifying information. JS lets the site-creator (and 3rd party JS-creators) track and identify you a lot more. The problem lies in the potential for tracking everything you do in the browser window.
The potential for some actor to do something is very problematic in a capitalistic system, where every actor pr. definition is competing in the game of being more efficient than other actors; it's a game of life and death for companies. The more an actor knows about the interaction between its product and its customers, the more it can finetune for profit. So to survive the game, or in its striving for becoming even bigger, the actor wants to exploit every advantage it can get, which means e.g. breaking users privacy.
And it's easy to break user privacy, as nobody outside your company really knows what your code does; so as a company you have a time-frame where you can exploit all you want, until somebody gets suspicious; and after exposure, most people seem to care too little about their own privacy to punish the company by stopping using their services.
The site-owners want the user to feel that the web-app is like a native application running on the users computer for at least a couple of reasons.
The users suspicion of an application should be directly correlated with the type of data stored in the application, and how often the user will be using the application from day to day. If users tend to be using an application throughout major parts of their day, and the application is surveilled, then the user is constantly surveilled.
Optimally there should be no surveillance, and users should be owning their own data - see e.g. Web 3.0.
Another implicit advantage of this sites implementation, is that there can be no broken webpage functionality because of bad usage of JS, which I experience all over the web. The list of stuff that breaks is too long, but a few of them are:
onClick
event-handler on a HTML element that is
not made for it. This is becoming more and
more common - even certain Google
pages breaks this. In effect the site-owner is in control of when
a user can open a tab, instead of the user.
onClick
event-handlers. The
user can modify his browser-experience less, which again implies less
control in the hands of the user. But this should be possible to fix partially
by the browser-plugins.
One of the themes of these badly designed UI's is that JS gives power to the developer to implement new functionality that will be unique to his site alone. This doesn't fit well at all with how we tend to use the web, where we visit a lot of different pages. If each page has its own intrusive quirks, then the user experience is horrible across the spectrum of pages the user visits. Why is JS a problem here? Because it has power to be even more intrusive than badly designed HTML.
On the other hand I'm not a proponent for pages that all look alike - e.g. if you make a blog on a platform that has a single visual design (see e.g. Medium) , or having your personal profile on a no-design site like Facebook. So here I believe HTML + CSS without JS is the best fit for a custom but common way of making UI's.
All these points of critique relate to an overall direction of the evolution of the internet, where there is a powershift from the user to the site-owners and thirdparties.
This is even more magnified by the tendency to use proprietary platforms that deliver the UI and content management, to host your personal page. As these platforms have their own JS running across all personal pages hosted on their site, they have massive surveillance power. And because the content people upload is structured through the sites predefined semantics - e.g. 'photos', 'about', 'relationship', 'likes' etc., it's much easier for the site-owners to interpret comparable meaning across the set of personal pages. This current system structure is what enables the commodification of the people using the site - consumers and content creators.
These centralized proprietary platforms also move the role of site-owner more towards the platform-owner, away from the content-creator. This means that companies are primary winners in the powershift.
The primary things the individual users get out of the systems structure are
These user 'advantages' should be able to be filled by alternative systems that support a different powerrelation, e.g. decentralized infrastructure (see scuttlebutt).
The services run in a centralized way by companies should be enhanced by democratic structure. The more people that use a platform, the more the platform should be controlled by the people in a democratic way. This logic is also very obvious to apply to a company like Facebook, where the platform would be nothing without the consumers and creators on the platform. Another related argument for this is the logic of 'with great power, comes great responsibility' - the responsibility issue can be solved by passing control back in the hands of the users.
Also, we need to make idealism part of the economy of companies. This can happen through
You vote for the future of our internet by your actions.