GOPHERSPACE.DE - P H O X Y
gophering on zaibatsu.circumlunar.space
Title: Web Versions
Created: 2022-04-25
Author: zlg

Ever since Mark Zuckerburg pitched the Metaverse, the "Web 3.0" buzzword blew
up, describing a "Web" that is backed by cryptocurrency-like ledgers. Proof of
work, proof of stake, etc. NFTs, Non-Fungible Tokens, are also involved in a
scene like this.

What in this picture is an evolution of existing Web technology? How does this
enhance the state of hypertext? To me, this is Meta's vision for their next Web
product. It is not a new version of an existing, open platform. It has nothing
to offer me as a programmer, gamer, writer, or server admin. It seems to be the
mixture of NFT scamming, VR, and botnet. Looks like an addiction chamber
for whales.

By "whales", I'm referring to customers who invest a *ton* into their
entertainment, seemingly impulsively. It has led to moral questions in society
over "dark patterns", or methods of design which aim to keep the user engaged
and, in this case, paying for more microtransactions. These people will spend
literally thousands of dollars on mobile games. Many developers of this sort
of dark-patterned tech offer the software for free, with a few hooks like free
items to get started with. Then, once you're out of items, you find you can only
get them with real money, or spend time to grind it out. Whales are, in a sense,
people with poor impulse control unable to get out of the dopamine loop.

Is it moral to allow a company to design their software in a way to take
advantage of vulnerable people? That's what I think of when I think of
metaverses and NFTs.

Without diving into NFTs and blockchain, what I'm really looking at in the
Metaverse is Facebook-branded VRChat that preys on addictive personalities. No
thanks. I don't want to contribute to a platform owned by the creepiest social
media company on Earth. In what way does the Metaverse, or other so-called
"web 3.0" software, compare to today's Web tech? Why should we want VR or even
GPU-intense games on the Web?

Metaverse and anything else built on NFTs and cryptocurrencies is just *an
application* of what Web 3 actually is. Not will be. Is.

If we divide the history of the Web into eras, we get three distinct periods of
development:

* Sharable, linkable documents. Early forums and fansites, early e-commerce,
  early rich media
* Syndication, blogging, early streaming, social sites and big-business
  e-commerce
* Web as a Software Platform; expanding to the desktop and mobile, analytics
  booms, data brokerage becomes a thing


WEB 1: THE BEGINNING

Tim Berners-Lee began development on HTTP, HTML, and CSS (and thus the Web) in
1989, but the W3C wouldn't exist until 1994, and the protocol wasn't finalized
until 1996. However, plenty of early Websites (such as WikiWikiWeb, which
inspired the creation of Wikipedia) existed in this early time.

In Web 1, the paradigm was the document that can link to other documents with
a click. Servers could do things, but computing resources were scarce in the
'90s, so they kept it simple like visitor counters or variable replacement. This
lasted quite a while as the dominant paradigm, but plenty of effort went into
making the server side smarter and the client side prettier. The Web gained
things like CGI servers, and support for higher level languages like Perl and
PHP through server modules. Server Side Includes, ColdFusion, and ASP were also
created in the Web 1 era.

Over time, HTTP gained support for more headers, which could better inform the
server how to serve the page. This included things like smart Content-Type
handling, serving different markup for different browsers [1], and other tricks.
The cookie was invented during this time, too, so browsers could send certain
data for every request, and the server could process (and update) said data as
needed. This was used for logging into a site (a novel concept at the time!),
remembering site settings, or early e-commerce. Speaking of e-commerce, back
then you were required to purchase a security cert from a company if you wanted
to process payments online. Let's Encrypt wasn't a thing, and eBay and PayPal
wouldn't exist until 1998. SSL was much slower than unprotected Web back then,
due to the decryption step and limited hardware support for the algorithms.

In the late Web 1 days, it gained plugin support in most browsers. This allowed
support for Java and Macromedia (later Adobe) Flash, right in the browser! This
jump in abilities for the Web allowed media-heavy sites to exist, like Joe
Cartoon, Homestar Runner, Newgrounds, Yahoo Games, and Neopets.

I would put the end of Web 1 around 2001-2002.


WEB 2: THE EXPLOSION

The Web 2 days were marked by a few things:

  * HTTP/2, HTML 4, and CSS 2
  * rounded borders, gradients, and diagonal stripes on EVERYTHING
  * link sharing and syndication
  * early social media, topic-based sites
  * blogging
  * Javascript starts getting beefy

The biggest thing to happen in the Web 2 era is the ease of access to a server.
Web 1 had Angelfire and Lycos and friends, but Web 2 had cheap shared hosting
and project-specific hosting, like Wordpress. Becoming a web developer in this
era was easy, and due to how new it was for a lot of small businesses, it was a
great time to be a capable web developer. Groups were forming to create better
compatibility between frameworks, there was a big push in the industry *and*
community to upgrade skills and clean up the markup. Accessibility for the blind
and other impaired people also became an initiative.

In doing a lot of this work, designers began to pay some real attention and
effort to website design. Websites like CSS Zen Garden [2] were created, to show
what's possible JUST with HTML and CSS. The same rings true today, with even
more possible now thanks to CSS 3 transitions and animations.

As part of this trend, a lot of websites began adopting a similar look: usually
rounded borders around their main content, with a header containing a vertical
gradient. The background would be a muted, low contrast alternating diagonal
stripe pattern. Some later Web 2 sites would try to go for a "glass" look,
similar to Windows 7's taskbar.

This era also gave rise to topic-dedicated social sites. While the late Web 1
era had LiveJournal and Xanga, Web 2 gained things like Deviantart, Flickr,
Imageshack, and numerous file hosting websites, meant solely just to link to
others. This could be understood as early cloud storage. Combine this with the
prevalence of pre-built Web packages like Wordpress, phpBB, SMF, and others, and
we see a Web of interaction and sharing.

A key part of this sharing was syndication. RSS and Atom are two such standards
used to facilitate this. All it is is a "feed", or list of items. When the
website publishes, the feed updates. So all you have to do is check if your feed
updated to see if there's a real update. This avoided you having to visit every
day, or F5 periodically. Blogging took off due to the advancement of this tech,
and it created thousands of communities worldwide.

A big issue of this era was finding reliable links with fun, interesting, or
valuable info. Search engines existed, but they weren't as refined and weren't
as good at indexing the relevant data. What if, instead of linking to someone
every time a topic came up, you could post your bookmark *as the topic itself*?
Community link-sharing websites came together, like Fark, Digg, and later
Reddit. (Yep, it was founded in 2005!) There were some underground ones, too.

Myspace launched in 2003. It was among one of the first websites that allowed
you to add a "friend". You could also rank your friends, and have custom CSS on
your profile. There was a huge attraction to Myspace, partly for this
customization, and the built in blogging feature. It was around this time that
some began suggesting to use real names online, to find people you knew. This
was counter to the prevailing knowledge of "cover your ass and use a pseudonym".
As we see today, there are very real risks and problems when you use your real
name online. That didn't stop people back then, though.

Facebook was launched in 2004. It wasn't opened up to the general public until
around 2007. Soon after, it got games and began expanding into other avenues of
social activity, like Marketplace, Business and Group pages, etc.

Others contended around this time, sometimes for different purposes. Friendster
was one of the first social media sites, but it never took off. A lot of dating
sites and job boards popped up on the Web around this time, too.

HTML 5 and CSS 3 were released in the late Web 2 era. With them came better
parsing support due to clearer markup rules, rounded borders without images,
images as borders, composite layering inside the background of an element, and
many other Quality of Life improvements. HTML 5 and CSS 3 wouldn't gain their
crazy features like animations and Web platform integration until Web 3. At the
end of Web 2, the canvas element was being played with and some small games were
released.


WEB 3: THE PANOPTICON

The start of Web 3, I think would be somewhere around the time NodeJS and
Electron came onto the scene. WebRTC, WebGL, and EME are also key to this era.

I posit that we are already in Web 3. Web 3 is Web as a Software Platform. In
this era, the Web gained support for restricting the freedom of viewers through
Encrypted Media Extensions (thanks for selling out, Tim), lots of new headers to
better control inter-site behavior, and new tech that only works on the Web,
like WebAssembly, WebGL, WebUSB, WebRTC, and so on. This is distinct from Web 2
in that it's continuous effort to turn the Web into a platform that's as equal
to a universal OS as it can be. However, this results in a lot of
over-engineering and actively prevents new browser makers by raising the
technical floor so high that only multi-billion dollar companies like Google can
negotiate licensing for EME code and devote the resources to standards
adherance.

Some people and companies actively build ONLY for the Web, and containerize a
browser on as many different platforms as possible to achieve that effect. It's
kind of like using the Web as a virtual machine language like Java.

One of the reasons I think Web 3 is popular, for companies at least, is the
evolution of tracking technology that began as a curiosity in the Web 2 era. If
you implement your software on the Web, you get most of the groundwork done for
free, devs are cheaper, and other companies like Google want your users data, so
they'll help you track and optimize your site for revenue, for the price of the
data and some fees, of course.

Another facet of Web 3 is using it for things like text editors, IDEs, and other
productivity software. This can be done in a serverless way using Electron. Have
you noticed a pattern here though? Most of the advancement of Web 3's tech has
come from Google, a company that was born on the Web in 1998 as a search engine.
Today, it has a vested interest in gathering as much information as possible
since it sells ad space and analytics tech to other companies. Making it simple
and easy to build an application in Electron and hook it up to Google Analytics
makes Web as a Software Platform (Web 3) an easy sell for small business and is
hugely profitable for Google.

The big problem I have with Web 3 is the total disregard for privacy and
security that the major writers of the Web have for those that visit, and
the intent on expanding the Web into an unmaintainable mess of standards.
So little of Web 3 technology is meant to enrich the Web for *everyone*.

It's mostly a monetization platform with flashy things that give you more
access to the client's system so you can manipulate or control what's possible
on your site or app. The advantages of deploying on the Web are countered by
massive RAM use compared to a native program, fitting a square peg into a
round hole, and the continuous invasion of privacy that gets hand-waved with
as-of-yet-unchallenged Privacy Policies. Perhaps governments are right to want
to regulate *some* aspects of Web development, if corporate participants can't
behave themselves.

(Psst, America and the EU are both looking at ways to hold tech companies
accountable for how they conduct business online, especially in regards to user
data and viewing algorithms, given that the misuse of social media has led to
disruption of elections.)


CONCLUSION

There is way too much history, too many websites, and too many cool side
things that evolved in or next to the Web over the years to cover it all in an
article about eras of the whole thing. Things like microprotocols via markup,
decentralized social media like StatusNet and ActivityPub, Tor, freenet, ssb,
the list goes on. So if I missed anything, know that it's not because I don't
know about it. I probably do. :P

The main reason I wrote is to counter the idea that Web 3.0 is on the horizon,
like some tech companies or uninformed communities want us to believe.

The Web has already reached its third major era. If you use VSCode, Atom,
Etcher; if you use codepen, ideone, or Google Docs... you're using Web 3 stuff.
We reached Web 3 when we built traditional software with Web tech.

Web 4 will probably be when it goes truly decentralized, or a bare metal OS
is implemented in Web tech. (ChromeOS doesn't count; it's Gentoo Linux with
an Android emulator) Who knows; right now it's looking like the Web has been
taken over by Google, both in terms of market share and in terms of "who guides
the standards". However the Web moves ahead, it needs to do so while keeping
businesses from snuffing out the rest of the community, or using their greater
resources to fill positions and exert undue influence over the technical
community.

The modern Web giants do not play nicely with others, and the greatly increased
complexity of Web tech has forced a duopoly in mainstream browsers. To my
knowledge, Google *still* pays Mozilla to be the top search engine, so they're
paid competition... There are only two others that I know of in development
(Pale Moon/Goanna and Serenity) that are anywhere close to Firefox and Chrome in
features. Netsurf and Dillo exist, but from what I can tell are stagnating...
probably due to lack of people to contribute and the sheer number of standards
you need to implement to call yourself a browser.

I think a fork of HTTP is inevitable, due to its complexity. It either needs
to branch off and serve app developers, or resist corporate influence and
selectively choose the standards they support. Bonus points if they explain why
they won't implement certain tech. It sends a clear message of differentiation.

Where do you think the lines between Web eras are? I'd love to read peoples'
ideas on this.

Thanks for reading,

-z

[1]: This was really a thing. Netscape and IE both had some big
     incompatibilities in the early days. Even their Javascript implementations
     were largely incompatible!
[2]: http://csszengarden.com
     (Yes, no SSL support)