Note: I call the scientists in this post by last name, not because I think I am their ‘peer’ but because that’s how the English language works, and if I put ‘Mr’ before every last name, I’ll sound like Consulla asking for Lemon Pledge! I am 30, will turn 31 in less than 20 days. I am the same age as the year of the Eternal September. I was born with web, but I hope Web dies before me!

Also, if you don’t know who Alan Kay is, don’t be distraught or feel like you’re an ‘outsider’ (especially if you are not much into the ‘science’ side of programming). Just think he’s a very important figure in CS (he is, you could look him up perhaps?)

Now, let me explain what Kay told me.

Basically, Kay thinks WWW people ignored works of people like Englebert and the NLS system, and it was a folly.

Dough Englebert, before UDP was even though of and TCP was a twinkle in the eyes of its creators, before Ethernet was created, back when switches were LARGE min-computers and ARPA was not DAPRA, tried his hand at sending media across a network (the aforementioned ARPA, you may know it from /usr/include/net/arpa), he even managed to do video conferencing. That was in the 1960s! He came up with a ‘protocol’ and this ‘protocol’ is not a TCP/IP stack we know today, it was completely different. I don’t think he even called it that. The name of this ‘protocol’ was ‘Online System’ or NLS.

Englebert’s NLS was different from the 4-lays abstraction we know and love today. It was different from web. It was like sending ‘computations’ across. Like a Flash clip! Kay believes that, WWW people should not have sent a ‘page’, they should have sent a ‘process’. He basically says “You’re on a computer, goddamit, send something that can be computed! Not plaintext!”

Full disclosure, yes, Kay is too brutal to Lee in this answer. I don’t deny that. And his ‘Doghouse’ analogy is a bit reductive. But I digress.

Kay believes the TCP/IP stack is sound. I think anyone who has read a Network Theory book (like Computer Networking A Top-Down Approach which I have recently perused through) doesn’t subject this. But he believes people are misusing it, abusing it, or not using it right.

In the speech which I am referring to at the question title, Kay said:

[Paraphrasing] “This is what happens when we let physicists play computer […] If a computer scientist were to create ‘web’, he would do a pipeline, ending at X”

X refers to X Windowing System used in UNIX systems, it’s a standard like Web is. The implementation of X11 on my system is Xorg. It’s being slowly replaced by wayland.

So what does this mean? Well Kay says, ‘send a process that can be piped’! Does it sound dangerous and insecure? WELL DON’T ELEVATE ITS ACCESS!

Imagine if this process-based protocol was too, called web, and the utility to interface with it was called ‘wcomm’, just like wget is. To view a video:

Imagine PostScript was strong enough to describe videos with. So we could get a video from Youtube, render it, and watch it:

$ ~ wcomm youtube.com/fSWmufgTp6EQ.ps | mkmpg | xwatch

So what is different here? How is it different than using a utility like ytdl and piping it to VLC?

Remember, when we do that, we are getting a binary file. But in my imaginary example, we are getting a ‘video description’ in form of PostScript.

====

So anyways, as I said, I am not super expert myself. But I think this is what Kay means. As Kay says himself, PostScript is too weak for today’s use! But I guess, if Web was not this ‘hacky’, there would be a ‘WebScript’ that did that!

Thanks.

  • jadero@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    9 months ago

    The CSS also came, with the idea that HTML should focus on text information while CSS should do so on the visual design.

    My biggest beef with CSS is that it’s on the wrong end of the wire. What ever happened to the idea that the client is in charge of rendering?

    Or maybe it’s that the clients have abdicated their responsibility: the browser included with OS/2 Warp had a settings page that let me set the display characteristics of every tag in the spec. Thus, every site looked approximately the same: my font, my sizes, my indents, my spacing, whether images displayed (or even downloaded, I think) and whether text split at an image or wrapped around it. And it’s not like I had to customize everything for each site: if you used a tag my browser recognized, my browser took over.