240 lines
12 KiB
Markdown
240 lines
12 KiB
Markdown
|
---
|
||
|
title: >-
|
||
|
The Web
|
||
|
description: >-
|
||
|
What is it good for?
|
||
|
---
|
||
|
|
||
|
With the recent crisis in the US's democratic process, there's been much abuzz
|
||
|
in the world about social media's undoubted role in the whole debacle. The
|
||
|
extent to which the algorithms of Facebook, Twitter, Youtube, TikTok, etc, have
|
||
|
played a role in the radicalization of large segments of the world's population
|
||
|
is one popular topic. Another is the tactics those same companies are now
|
||
|
employing to try and euthanize the monster they made so much ad money in
|
||
|
creating.
|
||
|
|
||
|
I don't want to talk about any of that; there is more to the web than
|
||
|
social media. I want to talk about what the web could be, and to do that I want
|
||
|
to first talk about what it has been.
|
||
|
|
||
|
## Web 1.0
|
||
|
|
||
|
In the 1950's computers were generally owned by large organizations like
|
||
|
companies, universities, and governments. They were used to compute and manage
|
||
|
large amounts of data, and each existed independently of the other.
|
||
|
|
||
|
In the 60's protocols began to be developed which would allow them to
|
||
|
communicate over large distances, and thereby share resources (both
|
||
|
computational and informational).
|
||
|
|
||
|
The funding of ARPANET by the US DoD led to the initial versions of the TCP/IP
|
||
|
protocol in the 70's, still used today as the backbone of virtually all internet
|
||
|
communication. Email also came about from ARPANET around this time.
|
||
|
|
||
|
The 80s saw the growth of the internet across the world, as ARPANET gave way to
|
||
|
NSFNET. It was during this time that the domain name system we use today was
|
||
|
developed. At this point the internet use was still mostly for large
|
||
|
non-commercial organizations; there was little commercial footprint, and little
|
||
|
private access. The first commercially available ISP, which allowed access to
|
||
|
the internet from private homes via dialup, wasn't launched until 1989.
|
||
|
|
||
|
And so we find ourselves in the year 1989, when Tim Berners-Lee (TBL) first
|
||
|
proposed the World-Wide Web (WWW, or "the web"). You can find the original
|
||
|
proposal, which is surprisingly short and non-technical,
|
||
|
[here](https://www.w3.org/Proposal.html).
|
||
|
|
||
|
From reading TBL's proposal it's clear that what he was after was some mechanism
|
||
|
for hosting information on his machine in such a way that others could find and
|
||
|
view it, without it needing to be explicitly sent to them. He includes the
|
||
|
following under the "Applications" header:
|
||
|
|
||
|
> The application of a universal hypertext system, once in place, will cover
|
||
|
> many areas such as document registration, on-line help, project documentation,
|
||
|
> news schemes and so on.
|
||
|
|
||
|
But out of such a humble scope grew one of the most powerful forces of the 21st
|
||
|
century. By the end of 1990 TBL had written the first HTML/HTTP browser and
|
||
|
server. By the end of 1994 sites like IMDB, Yahoo, and Bianca's Smut Shack were
|
||
|
live and being accessed by consumers. The web grew that fast.
|
||
|
|
||
|
In my view the characteristic of the web which catalyzed its adoption so quickly
|
||
|
was the place-ness of it. The web is not just a protocol for transferring
|
||
|
information, like email, but instead is a _place_ where that information lives.
|
||
|
Any one place could be freely linked to any other place, and so complex and
|
||
|
interesting relations could be formed between people and ideas. The
|
||
|
contributions people make on the web can reverberate farther than they would or
|
||
|
could in any other medium precisely because those contributions aren't tied to
|
||
|
some one-off event or a deteriorating piece of physical infrastructure, but are
|
||
|
instead given a home which is both permanent and everywhere.
|
||
|
|
||
|
The other advantage of the web, at the time, was its simplicity. HTML was so
|
||
|
simple it was basically human-readable. A basic HTTP server could be implemented
|
||
|
as a hobby project by anyone in any language. Hosting your own website was a
|
||
|
relatively straightforward task which anyone with a computer and an ISP could
|
||
|
undertake.
|
||
|
|
||
|
This was the environment early adopters of the web found themselves in.
|
||
|
|
||
|
## Web 2.0
|
||
|
|
||
|
The infamous dot-com boom took place in 2001. I don't believe this was a failure
|
||
|
inherent in the principles of the web itself, but instead was a product of
|
||
|
people investing in a technology they didn't fully understand. The web, as it
|
||
|
was then, wasn't really designed with money-making in mind. It certainly allowed
|
||
|
for it, but that wasn't the use-case being addressed.
|
||
|
|
||
|
But of course, in this world we live in, if there's money to be made, it will
|
||
|
certainly be made.
|
||
|
|
||
|
By 2003 the phrase "Web 2.0" started popping up. I remember this. To me "Web
|
||
|
2.0" meant a new aesthetic on the web, complete with bubble buttons and centered
|
||
|
fix-width paragraph boxes. But what "Web 2.0" actually signified wasn't related
|
||
|
to any new technology or aesthetic. It was a new strategy for how companies
|
||
|
could enable use of the web by non-expert users, i.e. users who don't have the
|
||
|
inclination or means to host their own website. Web 2.0 was a strategy for
|
||
|
giving everyone a _place_ of their own on the web.
|
||
|
|
||
|
"Web 2.0" was merely a label given to a movement which had already been in
|
||
|
motion for years. I think the following Wikipedia excerpt describes this period
|
||
|
best:
|
||
|
|
||
|
```
|
||
|
In 2004, the term ["Web 2.0"] began its rise in popularity when O'Reilly Media
|
||
|
and MediaLive hosted the first Web 2.0 conference. In their opening remarks,
|
||
|
John Battelle and Tim O'Reilly outlined their definition of the "Web as
|
||
|
Platform", where software applications are built upon the Web as opposed to upon
|
||
|
the desktop. The unique aspect of this migration, they argued, is that
|
||
|
"customers are building your business for you". They argued that the
|
||
|
activities of users generating content (in the form of ideas, text, videos, or
|
||
|
pictures) could be "harnessed" to create value.
|
||
|
```
|
||
|
|
||
|
In other words, Web 2.0 turned the place-ness of the web into a commodity.
|
||
|
Rather than expect everyone to host, or arrange for the hosting, of their own
|
||
|
corner of the web, the technologists would do it for them for "free"! This
|
||
|
coincided with the increasing complexity of the underlying technology of the
|
||
|
web; websites grew to be flashy, interactive, and stateful applications which
|
||
|
_did_ things rather than be places which _held_ things. The idea of a hyperlink,
|
||
|
upon which the success of the web had been founded, became merely an
|
||
|
implementation detail.
|
||
|
|
||
|
And so the walled gardens began to be built. Myspace was founded in 2003,
|
||
|
Facebook opened to the public in 2006, Digg (the precursor to reddit) was
|
||
|
launched in 2004, Flickr launched in 2004 (and was bought by Yahoo in 2005),
|
||
|
Google bought Blogger in 2003, and Twitter launched in 2006. In effect this
|
||
|
period both opened the web up to everyone and established the way we still use
|
||
|
it today.
|
||
|
|
||
|
It's upon these foundations that current events unfold. We have platforms whose
|
||
|
only incentive is towards capturing new users and holding their attention, to
|
||
|
the exclusion of other platforms, so they can be advertised to. Users are
|
||
|
enticed in because they are being offered a place on the web, a place of their
|
||
|
own to express themselves from, in order to find out the worth of their
|
||
|
expressions to the rest of the world. But they aren't expressing to the world at
|
||
|
large, they are expressing to a social media platform, a business, and so only
|
||
|
the most lucrative of voices are heard.
|
||
|
|
||
|
So much for not wanting to talk about social media.
|
||
|
|
||
|
## Web 3.0
|
||
|
|
||
|
The new hot topic in crypto and hacker circles is "Web 3.0", or the
|
||
|
decentralized web (dweb). The idea is that we can have all the good of the
|
||
|
current web (the accessibility, utility, permanency, etc) without all the bad
|
||
|
(the centralized platforms, censorship, advertising, etc). The way forward to
|
||
|
this utopian dream is by building decentralized applications (dApps).
|
||
|
|
||
|
dApps are constructed in a way where all the users of an application help to
|
||
|
host all the stateful content of that application. If I, as a user, post an
|
||
|
image to a dApp, the idea is that other users of that same dApp would lend their
|
||
|
meager computer resources to ensure my image is never forgotten, and in turn I
|
||
|
would lend mine for theirs.
|
||
|
|
||
|
In practice building successful dApps is enormously difficult for many reasons,
|
||
|
and really I'm not sure there _are_ any successful ones (to date). While I
|
||
|
support the general sentiment behind them, I sometimes wonder about the
|
||
|
efficacy. What people want from the web is a place they can call their own, a
|
||
|
place from which they can express themselves and share their contributions with
|
||
|
others with all the speed and pervasiveness that the internet offers. A dApp is
|
||
|
just another walled garden with specific capabilities; it offers only free
|
||
|
hosting, not free expression.
|
||
|
|
||
|
## Web 2.0b
|
||
|
|
||
|
I'm not here solely to complain (just mostly).
|
||
|
|
||
|
Thinking back to Web 1.0, and specifically to the turning point between 1.0 and
|
||
|
2.0, I'd like to propose that maybe we made a wrong turn. The issue at hand was
|
||
|
that hosting one's own site was still too much of a technical burden, and the
|
||
|
direction we went was towards having businesses host them for us. Perhaps there
|
||
|
was another way.
|
||
|
|
||
|
What are the specific difficulties with hosting one's own site? Here are the
|
||
|
ones I can think of:
|
||
|
|
||
|
* Bad tooling: basically none of the tools you're required to use (web server,
|
||
|
TLS, DNS, your home router) are designed for the average person.
|
||
|
|
||
|
* Aggregiously complex languages: making a site which looks half decent and can
|
||
|
do the things you want requires a _lot_ of knowledge about the underlying
|
||
|
languages (CSS, HTML, Javascript, and whatever your server is written in).
|
||
|
|
||
|
* Single point-of-failure: if your machine is off, your site is down.
|
||
|
|
||
|
* Security: it's important to stay ahead of the hackers, but it takes time to
|
||
|
do so.
|
||
|
|
||
|
* Hostile environment: this is separate from security, and includes difficulties
|
||
|
like dynamic home IPs and bad ISP policies (such as asymetric upload/download
|
||
|
speeds).
|
||
|
|
||
|
These are each separate avenues of attack.
|
||
|
|
||
|
Bad tooling is a result of the fact that devs generally build technology for
|
||
|
themselves or their fellow devs, and only build for others when they're being
|
||
|
paid to do it. This is merely an attitude problem.
|
||
|
|
||
|
Complex languages are really a sub-category of bad tooling. The concesus seems
|
||
|
to be that the average person isn't interested or capable of working in
|
||
|
HTML/CSS/JS. This may be true today, but it wasn't always. Most of my friends in
|
||
|
middle and high school were well within their interest and capability to create
|
||
|
the most heinous MySpace pages the world has ever seen, using nothing but CSS
|
||
|
generators and scraps of shitty JS they found lying around. So what changed? The
|
||
|
tools we use to build those pages did.
|
||
|
|
||
|
A hostile environment is not something any individual can do anything about, but
|
||
|
in the capitalist system we exist in we can at least hold in faith the idea that
|
||
|
eventually us customers will get what we want. It may take a long time, but all
|
||
|
monopolies break eventually, and someone will eventually sell us the internet
|
||
|
access we're asking for. If all other pieces are in place I think we'll have
|
||
|
enough people asking to make a difference.
|
||
|
|
||
|
For single point-of-failure we have to grant that more than one person will be
|
||
|
involved, since the vast majority of people aren't going to be able to keep one
|
||
|
machine online consistently, let alone two or more machines. But I think we all
|
||
|
know at least one person who could keep a machine online with some reliability,
|
||
|
and they probably know a couple of other people who could do so as well. What
|
||
|
I'm proposing is that, rather than building tools for global decentralization,
|
||
|
we need tools for local decentralization, aka federation. We can make it
|
||
|
possible for a group of people to have their presence managed by a subset of
|
||
|
themselves. Those with the ability could help to host the online presence of
|
||
|
their family, friends, churches, etc, if given the right tools.
|
||
|
|
||
|
Security is the hard one, but also in many ways isn't. What most people want
|
||
|
from the web is a place from which to express themselves. Expression doesn't
|
||
|
take much more than a static page, usually, and there's not much attacking one
|
||
|
can do against a static page. Additionally, we've already established that
|
||
|
there's going to be at least a _couple_ of technically minded people involved in
|
||
|
hosting this thing.
|
||
|
|
||
|
So that's my idea that I'd like to build towards. First among these ideas is
|
||
|
that we need tools which can help people help each other host their content, and
|
||
|
on top of that foundation a new web can be built which values honest expression
|
||
|
rather than the lucrative madness which our current algorithms love so much.
|
||
|
|
||
|
This project was already somewhat started by
|
||
|
[Cryptorado](https://github.com/Cryptorado-Community/Cryptorado-Node) while I
|
||
|
was a regular attendee, but since COVID started my attendance has fallen off.
|
||
|
Hopefully one day it can resume. In the meantime I'm going to be working on
|
||
|
setting up these tools for myself, and see how far I can get.
|