The layers of the web | Jeremy Keith

Vague but exciting...

The three words that spawned the world wide web as we know it; the response from Tim Berners-Lee's supervisor to Tim's initial proposal. Jeremy's talk dives into the history of how the web came to be, including insight into his trip to CERN for the web's 30th birthday, before taking a look at why it has achieved longevity and how you can think about the web in layers to understand that success. Assorted notes:

  • Turing didn't actually know about Babbage and Lovelace's work;
  • Without Turing and the other codebreakers, who knows what would have happened, but the war would likely have gone on a bit longer. That's important for many reasons, but for computing it means that the 1945 publication of Vannevar Bush's As We May Think which describes a hypothetical device that could be used to connect data together known as the memex;
  • In the same year, Douglas Engelbart is drafted into the US Navy, though because the war is over he isn't put on active duty, hence how he reads As We May Think which begins his own thought processes about computers, resulting in his creation of both hypertext and the concept of a computer mouse:
I don't know why we call it a mouse. Sometimes I apologies for it, but it started that way and we never did change it.
  • The Whole Earth Catalog by Stewart Brand is a form of pre-Internet Wikipedia, a collection of all the things you might want to know in order to rebuild society in a commune or for off-grid living. He also said:
Computers are the new LSD.
  • Brand also created the Long Now foundation, an organisation that focuses on long-term thinking. For example, they are building a clock within a mountain in Texas that will tell the time accurately for 10,000 years;
  • His work with that foundation let him to begin abstracting concepts into "pace layers", an idea that most concepts can be broken down into fairly clean layers that build on each other and change at different rates, with the outermost layers being the least stationery:
Fast gets all of the attention, but slow gets all of the power.
  • If you map the web into pace layers, the structure becomes roughly: TCP/IP ➡ HTTP ➡ URLs ➡ HTML ➡ CSS ➡ JavaScript ecosystem (not the language specifically, but everything else). When you map the web like this, the rapid iteration of JS doesn't just make sense, it's a benefit. It gets to experiment and the stuff that sticks, the stuff that becomes permanent, moves down the stack and becomes absorbed into lower layers. Good examples of this are image rollers (now :hover) or form validation (required in HTML);
I now don't feel so bad about feeling overwhelmed by all the constant change in the JavaScript ecosystem because I feel like it's kind of its job to be overwhelming, it's where change and iteration happens quickly.
  • Of course, these layers also map well to the considerations of the web: URLs are most important, HTML is next etc. That means you can build in layers too (notably not mentioning progressive enhancement);
  • When thinking in layers, it is perhaps better to ask "how well does it fail?" instead of "how well does it work?" when considering how to go about building things; the web fails well, but not if it's all JS;
  • Service workers slightly mess with this layered model by allowing a website to work without the foundational layers of, well, the internet;
  • A really simple example of a service worker is providing a customised offline page, like a custom 404 page – that can be really useful – but of course you can do much more, like having "save for offline" buttons;
If you took a word processing file made today and tried to open it in a 30-year old word processor? Good luck with that. And yet the web has this unbroken line.

What a great talk!

Explore Other Notes

Newer

GenC

I dislike generations. So does Seth. But he makes a good point that right now we're living through something unprecedented, on multiple fronts. So don't think of Generation C as the people born […]

Made By Me, But Made Possible By:

CMS:

Build: Gatsby

Deployment: GitHub

Hosting: Netlify

Connect With Me:

Twitter Twitter

Instagram Instragram

500px 500px

GitHub GitHub

Keep Up To Date:

All Posts RSS feed.

Articles RSS feed.

Journal RSS feed.

Notes RSS feed.