2020-10-19

The Wild, Wild Web

This is a little history of the early World Wide Web (WWW) for the benefit of the younger generation which may have not experienced the Internet in its infancy and therefore might not be aware of the horrors that it involved. As you are reading this, and thinking to yourself that it could not possibly have been as bad as I am describing it, remember, the general public was experiencing it using 2400 baud modems.

The World Wide Web was created in 1989 at CERN () to facilitate the sharing of information between universities and scientific institutes around the world. It was still not much more than an academic prototype of an experimental idea when two years later, in 1991, it was made generally available outside of the educational and scientific institution. As soon as that happened, both the general public and the commercial sector started very eagerly embracing it, and this was the firing shot for the technology companies to start a big race for market share grab.

It was quite unlike anything that humanity had ever seen before: it was not an incremental improvement upon some pre-existing technology that the public was already familiar with, but a totally new thing; it was not another novelty that some might like and some might just not develop a taste for, it was going to be everywhere, used by everyone, and affect everything. It was clear from the beginning that it was going to be big.

Unfortunately, the people who originally came up with the HTTP protocol (), which is what makes the WWW possible, had a very limited idea of how it was going to be used, so their original prototype was woefully inadequate. For example:

  • They originally envisioned the web as being used only for browsing static information, so the prototype did not include any provision by which a server can remember visitors as they navigate from page to page or visit again on another day. There were some simple forms that could be filled in, but since the server had no idea who was submitting these forms, they could only be used for anonymous surveys. Support for identifying visitors was added as a half-baked afterthought as late as in 1994, and only with the narrow-minded goal of enabling a rudimentary shopping cart, after much pressure from the commercial sector that needed to use the web to sell stuff. It was the now famous cookies (), and humanity is still counting their disastrous consequences.
  • They originally envisioned the web as being used only for displaying text, so the prototype did not include any provision for displaying images inside web pages. Support for images was added as an afterthought, in a quick and dirty way, without first making the necessary changes to the protocol to properly accommodate them, so the result suffered hugely in terms of performance, because a new connection had to be established between the browser and the server for every single image on a page.
  • They originally envisioned the web as being used only for navigating from page to page, with no provision for having a single page whose content changes dynamically according to user actions. It was left up to the developers to overcome this limitation by bending and twisting the protocol in ways quite different from how it was designed to be used, namely with this formidable hack known as ajax. () It was only in 2009 that the WebSocket () standard was introduced, and it was again of course an afterthought, as evidenced by the "HTTP Upgrade” () header hack. It is just that the hack is now built into the protocol, so it is official.

The original technologies that comprised the WWW were so simple that one could barely say that they constituted inventions, but many of the hacks that had to be introduced later in order to accomplish something useful with it, such as cookies and ajax, had to be so ingenious that they could arguably be classified as inventions.

We should not be too hard on the original creators of the WWW; after all, experimental prototypes are supposed to be just that: good enough to demonstrate an idea, but woefully inadequate in all other respects. The mistake was the release of the WWW to the public when it was clearly too early. Business people are to blame for that, as always.

So, in the years following the introduction of the WWW there was a massive effort to improve and extend it. However, there were no standards in place, and no agreement on what should be done and how it should be done. The market demanded functionality much faster than the technologists could create it, and not a single company was in favor of things being done the way a competitor company was suggesting.

Decisions were made, based not on scientific or technological merit, but on burning market demand and market dominance aspirations. This led to many haphazard solutions being put into place to quickly cover immediate needs without any long-term vision. (For example, the invention of cookies in order to support shopping carts as I mentioned earlier.)  There was a lot of "I don't care if it is good, I want it yesterday" going on. Features were being implemented in hacky ways because nobody could wait for the protocol to be amended to accommodate them. (For example, the support for images that I mentioned earlier.)  Essentially, the protocol was being amended to include ad hoc features that had gained traction because the company introducing them had a big market share. The IETF () even stated it as their official philosophy to keep basing standards upon successful prototypes, which is another way of saying that we will wait for someone to hack something together, and if it catches on, we will call it part of the standard.

There were also many opportunities for improvement that were lost due to lack of consensus, because consensus is very hard to reach among companies at cut-throat competition against each other. So, many things were done incredibly backwards and certainly not to the best interest of the public. It was really the Wild, Wild Web.

Unfortunately, once a certain technology becomes widely adopted, it practically entrenches itself into the technological landscape, and it stays with us for a very long time, no matter how ill-conceived it may have been. This happens because any attempt to improve an existing technology must always be backwards compatible, so as to ensure continuity in the transition from the old to the new, otherwise it has no chances of becoming a success. So, you can never actually change the old technology, you can only add to it. The old problems will always be there, and the new solutions will always suffer to a smaller or larger extent due to those old problems. Thus, the echoes of the unhealthy Wild, Wild Web era of the Internet still linger in the technological landscape even today, some 30 years later.


No comments:

Post a Comment