News for hackers. Stuff that matters.
Re:“What Alan Kay Got Wrong About Objects” by edejong on Sunday November 17, 2019 @06:18PM (#21560722)
"HTML on the internet has gone back to the dark ages because it presupposes there should be a browser that understands its format."

This is the fundamental reason the modern internet is centralizing to a couple of entities.

"This has to be one of the worst ideas since MS-DOS."

Yes, the modern browsers have taken us back at least 20 years when it comes to UI design, component based programming and distributed systems. The web is an endless stack of kludges, held together by duck-tape. I can back this up, in case you don't believe me.

But, we should ask ourselves how it became such a stack of kludges. And I think Alan hits the nail on the head.

"At the very least, every object should have a URL. I believe every object on the internet should have an IP. It represent much better what the actual abstracts are of the physical hardware to the bits. "

Beautiful insight. The URL does not scale from a systems perspective. In my designs, I see myself often using UUIDs and negotiation to transfer knowledge about entities. The URL (and RESTful communication) is an annoyance. It fixates the location to something arbitrary. I can only use one hierarchy to denote the same object. I cannot easily renegotiate how the same things are named in my systems. And, the worst: the type of the object is often included in the url. `https://foo.bar/person/123` fixes the type 'person' to the object 123.

URLs nowadays are an abomination. Most are not durable, contain excess information and suffer from projecting the information against an arbitrary axis.

Finally, all developers should at least once have implemented their own compiler. It is not a hard experience at all and can be done in around 100 hours by someone with a medium skill in programming using a good text-book. It gives a truly fundamental insight into systems design and should simply not be skipped.

W.r.t. tools: I assume any programmer worth his salt has build at least some of their tools! Perhaps I should start asking this at interviews. If you don't understand how your tools are built, how can you even begin thinking about building tools for others? And how can you understand, without attempting a crude build yourself? All the hard things are already done, the literature is there, the books are written.

So, anyways, you make a bold claim: "most of what he said was wrong." This is awfully vague, I am afraid. Lets make it a challenge. Except for him making predictions, I challenge you to come up with a couple of statements from Alan Kay, and we'll discuss it.

Re:“What Alan Kay Got Wrong About Objects” by mgummelt on Sunday November 17, 2019 @06:35PM (#21560801)
> This is the fundamental reason the modern internet is centralizing to a couple of entities

The reason Google and Facebook dominate the internet has little to do with technology and much to do with economics, namely scale economies and network effects.

> Yes, the modern browsers have taken us back at least 20 years when it comes to UI design.

I'll grant that CSS is a mess. What else?

> I can only use one hierarchy to denote the same object.

You can create multiple URLs that point to the same object.

Re:“What Alan Kay Got Wrong About Objects” by edejong on Sunday November 17, 2019 @06:56PM (#21560893)
> The reason Google and Facebook dominate the internet has little to do with technology and much to do with economics, namely scale economies and network effects.

And the network effects can only happen because there is a tight coupling between the data (contained and scrambled within the HTML page) and the presentation. Had data and presentation be decoupled, I could have combined network information from various providers and present it to me in one overview.

> I'll grant that CSS is a mess. What else?

Everything. The security model, the fact that the user has limited control over their identity (and it is not build into the protocols), the multi-threaded nightmare, no component standardization, very limited integration with low-level OS systems, the 'one-tab is one context' metaphor, the box-model, the misfit of page-to-interaction (and the history API), the non-existent voice interaction, the color-model, the DPI/pixels/ems transformations, the invisible local storage we barely manage, the resource utilisation, the lack of uniformity in the programming model, the peer-to-peer communication (WebRTC does not count, since it is not standardized and has quite some flaws), the lack of (easy) customization abilities (high-contrast websites), the limited math-rendering, the enourmous complexity... I could go on.

> You can create multiple URLs that point to the same object.

Yes, but they would not denote equivalence. I could use a redirect, but then one system needs to know the representation of the other. It would be fundamentally asymmetric.

Also, it would contradict the term Unique Resource Locator.

Re:“What Alan Kay Got Wrong About Objects” by mgummelt on Sunday November 17, 2019 @07:08PM (#21560958)
> no component standardization

This one is interesting because Alan Kay is so expressly against it ("browsers shouldn't have features"). He thinks every object should just render itself as a bitmap.

Besides, browsers do have standard components. That's what the semantic HTML tags like <button /> are. The specific views vary between browsers. Is that a problem? Regardless, almost no site uses the standard stylings that do exist. They use a de facto standard like Bootstrap, or they build their own.

I agree with some of your other points, but I don't understand your lament of "enormous complexity" while you're advocating for more features.

Re:“What Alan Kay Got Wrong About Objects” by discreteevent on Monday November 18, 2019 @02:50PM (#21567518)
One thing about rendering to a bitmap is that it is more robust over time. Look how much code is in the browser to support older styles of html. Smart endpoints dumb pipes, prevents ossification. The browser tries to be far too smart for its own good and ends up making a mediocre job of everything while being hugely complex (as outlined by parent above)
Re:“What Alan Kay Got Wrong About Objects” by edejong on Monday November 18, 2019 @01:11AM (#21562282)
I guess he meant: browsers shouldn’t need features. It should be a network effect. It’s good to make a distinction between design principles and their resulting effects. Most of what I described before were effects of bad design.
Re:“What Alan Kay Got Wrong About Objects” by mgummelt on Sunday November 17, 2019 @07:02PM (#21560926)
> And the network effects can only happen because there is a tight coupling between the data (contained and scrambled within the HTML page) and the presentation. Had data and presentation be decoupled, I could have combined network information from various providers and present it to me in one overview.

I'm with you in principle. I think such a modular architecture based on standard interfaces between objects is exactly what we need, but I don't see how it precludes e.g. the dominance of Google. Google dominates because they have all the search data. People don't want non-Google results in their views. Non-Google results are worse.

Re:“What Alan Kay Got Wrong About Objects” by uryga on Sunday November 17, 2019 @09:32PM (#21561470)
> Also, it would contradict the term Unique Resource Locator.

wikipedia defines URL as "Uniform Resource Locator", and i don't think i've ever heard "unique" in there

Re:“What Alan Kay Got Wrong About Objects” by edejong on Monday November 18, 2019 @09:36AM (#21564573)
Yes, it was rather late yesterday. It is actually the dichotomy that a URL should be a unique resource identifier for a specific resource, but unfortunately it isn't. When we place a link, we want to be able to query on that specific URL (or URN, as it has become). We want to do late binding, since it is cheaper and more powerful.
Re:“What Alan Kay Got Wrong About Objects” by uryga on Monday November 18, 2019 @04:44PM (#21568440)
what benefits do you see in URLs being unique? not necessarily disagreeing, just curious
Re:“What Alan Kay Got Wrong About Objects” by edejong on Tuesday November 19, 2019 @02:21AM (#21571210)
- distribute resources at multiple locations

- reverse index to resources

- Easier to move resources

- Cryptographic signatures on id’s

Re:“What Alan Kay Got Wrong About Objects” by icebraining on Sunday November 17, 2019 @08:08PM (#21561177)
> Had data and presentation be decoupled

"What if "data" is a really bad idea?" -- Alan Kay (https://news.ycombinator.com/item?id=11945722)

I just don't see how he has ever pushed for the direction you're advocating. If anything, it's the opposite.

Re:“What Alan Kay Got Wrong About Objects” by mgummelt on Sunday November 17, 2019 @08:19PM (#21561211)
As usual with Alan Kay, it's difficult to understand exactly what he's advocating for. On the one hand, he laments browsers having features, and thinks they should just execute code safely and provide a low level graphics interface, but on the other hand, he advocates for a universal polymorphic graphical object mesh (perhaps approximated by LivelyWeb) which would require a great deal more "features" (think Java) and is closer to what OP is describing.

I think he's made his way into this thread, so I invite him to clarify!

Re:“What Alan Kay Got Wrong About Objects” by discreteevent on Monday November 18, 2019 @02:57PM (#21567569)
I read it as the browser should just be a VM. It's low level. Then the objects that run in the VM provide the features. This solves a lot of problems. The browser is slowly evolving to do this anyway with js, then wasm (reality is proving Kay right) but the underlying high levelness of it makes it a mess. A VM is more flexible and robust and at the same time simpler than a browser
Re:“What Alan Kay Got Wrong About Objects” by mgummelt on Monday November 18, 2019 @03:23PM (#21567807)
The difference is that, in order to foster composition, the platform can't just be a VM. It must also provide the interfaces by which objects interact. Take Java. It's not just a VM. It's also the JDK/JCL.
Re:“What Alan Kay Got Wrong About Objects” by icebraining on Sunday November 17, 2019 @07:53PM (#21561123)
The URL is just an opaque path appended to a domain. You can just as easily use an UUID instead of an hierarchic model. No component in the system gives a damn.
Re:“What Alan Kay Got Wrong About Objects” by edejong on Monday November 18, 2019 @09:33AM (#21564558)
Yes, but it still presupposed on a specific location. Alan Kay (together with many other experts on system design) is a proponent of late binding. To do effective late binding, we should be able to route requests to the correct location in a distributed fashion. With a (regular) URL we make a weird amalgam of DNS (with IP) and path of the object. As we've learned from the transition from XML-RPC/SOAP, unnecessary complexity removes value of the system. I believe Alan argues that URLs introduce unnecessary complexity which can be tackled by lower OSI layers. However, to make that work, we need globally unique identifiers and routing, using IPv6. We want names (and/or identifiers) to be the fundamental element of our systems, instead of resource locators.

In other words, you want to be able to walk into any library and use ISBN as the underlying identifiers, instead of the Dewey system, which is not broadly applicable. You might get the Dewey number from the ISBN and vice versa, but the ISBN resource assigned to a book resource is the fundamental linking pin.

So, when we link from an article, we want to be able to say: "it is this specific article I am linking to, you figure out how to get access to it." This will be much more durable than an ephemeral URL.