Front-End Engineers cannot be spoken about without mentioning browsers. The ubiquitous software that enables the world to interface with web applications; for developers, it is the platform in which front-end applications are built in, yet for most, the browser is a complex black-box with various unique quirks between the few widespread ones available, namely Chrome, Firefox, Safari and Internet Explorer/Edge.

Back-end Engineers are experts on servers, Hardware Engineers are experts in microprocessors and because Front-End Engineers build applications in the browser, they should be browser experts. As the browser continues to evolve in complexity, this idea will become more apparent.

At this stage, we will unravel the history of browsers in order to understand how to best utilise them. Due to the vast amount of browsers, this list is not exhaustive and will solely cover the more well-known successful browsers.

History of web browsers

WorldWideWeb(Nexus)

According to Sir Tim Berners-Lee, the world's first web browser was created in 1990 and was named 'WorldWideWeb'. This name was rather ambiguous and as a result was renamed 'Nexus' to distinct itself from the interconnected network we now now as 'The Internet'. Sir Tim developed Nexus using the NeXT operating system (a major component of Apple's future operating systems). He noted that NeXT enabled him to develop the browser rapidly due to its WYSIWYG editor and classes which he extended [3]. Interestingly it was written in Objective-C, the dominant language of iOS development until Swift. This reminds me of a statement from perhaps my favourite computer scientist Donald-Knuth, known as the father of algorithm analysis: "People think that computer science is the art of geniuses but the actual reality is the opposite, just many people doing things that build on each other, like a wall of mini stones" [1].

The interface of Nexus was resembled our modern operating systems, with a hint of antiquity of course! As shown in the image below [2], the world's first ever browser loaded web pages on Sir Tim's computer, enabling him to surf the web.

Protocols supported by the browser:
  • HTTP
  • FTP
  • File (local)
  • News
Styling

The browser contained a style editor in which HTML could be styled. CSS was not yet available at this time, therefore the old method of inlining styles via attributes such as: <p color="red">My red paragraph</p> would have been the convention at the time.

However, style sheets were still used at the time [3], but with a more simplistic implementation than CSS (which gave styling a tree structure which 'cascades' through a tree of elements). Furthermore, style sheets could be loaded into Nexus.

Source code

What is claimed to be the last publicly available version of the browsers source code, can be found here. The author is a part of the W3C's official Github group, therefore it seems trustworthy.

Why not explore the codebase and see how this monumental artefact was developed. If in doubt as to where to start, visit the HTTP.c file.

References:

  • [1] https://www.azquotes.com/quote/611729
  • [2] https://www.w3.org/History/1994/WWW/Journals/CACM/screensnap2_24c.gif
  • [3] https://www.w3.org/Style/CSS20/history.html