The Web

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.

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 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.