From 37150ca3cb8fc5f766949f414bdddca19ae76462 Mon Sep 17 00:00:00 2001 From: Brian Picciano Date: Fri, 15 Jan 2021 16:12:25 -0700 Subject: the web --- _posts/2021-01-14-the-web.md | 239 +++++++++++++++++++++++++++++++++++++++++++ new-post.sh | 2 +- 2 files changed, 240 insertions(+), 1 deletion(-) create mode 100644 _posts/2021-01-14-the-web.md diff --git a/_posts/2021-01-14-the-web.md b/_posts/2021-01-14-the-web.md new file mode 100644 index 0000000..b3ec800 --- /dev/null +++ b/_posts/2021-01-14-the-web.md @@ -0,0 +1,239 @@ +--- +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. diff --git a/new-post.sh b/new-post.sh index 4ff0637..cb0a1bd 100755 --- a/new-post.sh +++ b/new-post.sh @@ -43,7 +43,7 @@ clean_title=$(echo "$title" |\ ) description="$2" -if $(echo "$description" | grep -q '[^.$!]$'); then +if $(echo "$description" | grep -q '[^.$!?]$'); then echo 'Description needs to be a complete sentence, with ending punctuation.' exit 1 fi -- cgit v1.2.3