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)