# Vague but Exciting — narration script Runtime 7:30. Timecodes are when each chapter starts; the film's animation is keyed to these cue times, so a recorded voice-over should keep each line near its timecode. ## 0:00 · Three ideas from 1990 - `0:01` Every time you open a web page, three ideas from 1990 go to work. - `0:06` An address that names the page. A document written in markup. And a short conversation between two computers to fetch it. - `0:13` Frameworks, apps, and APIs all sit on top of those three, no matter how deep the abstraction goes. - `0:20` So to understand the web as a medium, it helps to start where it started. ## 0:25 · Geneva, 1989 - `0:27` March 1989. CERN, the particle physics lab on the border of France and Switzerland. - `0:33` Researchers from dozens of countries come and go, writing papers, notes, and documentation in many languages. - `0:41` They work on computers that don’t share information: mainframes, minicomputers, Unix workstations, Macs, and PCs, each with its own formats and its own programs. - `0:52` Information gets lost all the time. When someone leaves, what they knew often leaves with them. - `0:58` Tim Berners-Lee, a British computer scientist at CERN, sees that the problem isn’t any one computer. It’s that nothing links the information on them. ## 1:08 · Vague but exciting - `1:09` So he writes a proposal called Information Management. Instead of a rigid hierarchy, it describes a web of linked notes: documents that point to other documents, on any machine. - `1:21` His boss, Mike Sendall, writes three words on the cover. Vague, but exciting. - `1:27` Sendall lets him keep going. By late 1990, Berners-Lee has picked a name, and with his colleague Robert Cailliau, he proposes the WorldWideWeb project. - `1:37` The name could have been different. Information Mesh sounded too much like mess. Mine of Information abbreviated to MOI, French for “me.” And The Information Mine spelled TIM. ## 1:50 · The web atom: URL, HTML, HTTP - `1:51` The web rests on three inventions. Think of them as the web’s atom. - `1:56` First, the URL: one addressing scheme for every kind of information. A scheme, a host, and a path. The same pattern could point to a web page, a file server, a newsgroup, or a mailbox, and stitch those separate information spaces into one. - `2:12` The double slash was borrowed from the file system of Apollo workstations. Years later, Berners-Lee admitted it wasn’t really necessary. Programmers have typed those two extra characters billions of times since. - `2:26` Second, HTML: a simple markup language. Its tags describe what content is, a heading, a paragraph, a list, rather than exactly how it should look. And its most important tag is the link. Anyone can link to anything, without asking permission. - `2:43` Third, HTTP: the protocol that fetches a document by its URL. The first version was almost comically small. The browser sent one line: GET, and a path. The server sent back the HTML and hung up. - `2:59` Address, document, delivery. Nearly everything on the web still touches those three, even when they’re buried under layers of abstraction. ## 3:09 · The first browser and server - `3:10` To make it real, Berners-Lee wrote both ends himself, on a NeXT computer: a web server, and the first web browser, called WorldWideWeb. - `3:19` The server had a hand-written label on it. This machine is a server. Do not power it down! - `3:25` So that anyone could try it, even from a plain text terminal, Nicola Pellow, a student on placement at CERN, wrote a line-mode browser that ran almost anywhere. - `3:35` In August 1991, Berners-Lee announced the web on Internet newsgroups. And on April 30th, 1993, CERN made the software royalty-free, for anyone to use and build on. No permission, no fees. ## 3:51 · Hypertext becomes hypermedia - `3:52` People saw the power of it quickly, and the web grew fast. - `3:56` The first big extension was media. In 1993, a new img tag let browsers like Mosaic put pictures right inside the page, each one fetched by its own URL. - `4:08` At that point it wasn’t just hypertext anymore. It was hypermedia. Audio, video, fonts, and much more followed, all addressed the same way. ## 4:18 · The browser is an editor - `4:19` Here’s a fun fact. The first browser wasn’t just a viewer. WorldWideWeb was also an editor. You could change a page, and make links, as easily as you could read it. - `4:30` That seems odd now, but a word processor both shows and edits documents. The web was meant to be written, not just read. - `4:38` Your browser still has that power. Open the console, set document.designMode to “on,” and the whole page becomes editable. - `4:47` It only changes your copy. But that’s the lesson. Everything that reaches the browser can be inspected and changed. The client side is not under your control, and the network in between is nearly as bad. - `5:01` We still publish all the time, of course. We just do it through apps, like a social feed or a content management system, instead of editing pages in the browser itself. ## 5:12 · From documents to programs - `5:13` Next came programs. First on the server, with the Common Gateway Interface, or CGI, which let a web server run a program and send back whatever it printed. - `5:24` Then in the browser, in 1995, with Java applets and JavaScript. Brendan Eich built the first version of JavaScript in about ten days, and despite the name, it has almost nothing to do with Java. - `5:38` This is a big shift. A web of documents became a web of programs, and programs need things documents never did. - `5:46` They need to remember you between requests. HTTP forgets everything, so we got cookies, named after the magic cookies Unix programmers passed back and forth. - `5:56` They handle passwords and payments, so connections needed encryption. Today that’s TLS, the S in HTTPS. - `6:04` And they have to pay for themselves. One of the first banner ads went up in 1994, and almost half the people who saw it clicked. Those days are long gone, but advertising and analytics still shape nearly every decision in web development, whether we admit it or not. ## 6:22 · This is for everyone - `6:23` Remember what the web was built to be. Open. Decentralized. Free to use. Nobody needed a vendor’s approval to publish. - `6:32` At the opening of the 2012 London Olympics, Berners-Lee put it in four words. This is for everyone. - `6:40` Today that web is under strain. Power has concentrated in a few huge platforms, pages have grown heavy, and tracking follows people from site to site. - `6:50` Some of that comes from our own choices as developers. Some of it, we’re even paid to do. It’s easy to build against the grain of the medium without noticing. ## 7:01 · Understand the medium - `7:02` That’s the point of this course. Your choices matter. And to make good ones, you have to understand the medium before you build on it. - `7:09` URLs, HTML, and HTTP. A client you don’t control. A network you can’t trust. And a web that was built for everyone. - `7:19` Next, we’ll follow a single page load from the user’s side of the screen, and see who falls off along the way.