I think Zed's presentation is worth watching for anyone who has an uneasy feeling about the current state of the smell of rottening things coming out of the kingdom of w3c.
I also agree with Zed that HTTP is a useful thing, and I agree that Javascript is evil.

The bits you agree on may vary, this is intended as a pretext for picking your brains, and not assume the web is anywhere near good design or that it's the only possible form of hypertext we will ever see.

@haitch First thought reading that toot: There's certainly a lot of OOP in JavaScript's DOM APIs, and I hear webdevs noticing the performance degradation that's caused!

@alcinnz Javascript yes. HTML as we know it got slow as molasses in part because of Javascript, not the other way around, that's what I think.
Javascript was something that Brendan Eich invented when he worked at Netscape, it wasn't a fundamental part of the WWW as originally intended.
There was no OOP whatsoever in the original WWW design, there was no Javascript, and no CSS.
Tim Berners-Lee borrowed heavily from SGML, a different world entirely.

@alcinnz Zed blames OOP for all of the web's failures, mostly because Sir Tim used Objective C to build his original prototype. But that argument doesn't hold much water in my view, because there was no OOP whatsoever in either HTTP or in HTML 1.0.

I do agree with the diagnosis that the web is fundamentally broken though, but for different reasons altogether.

@alcinnz Whether OOP is a failed philosophy or not, I think that's a different discussion, and Zed makes the mistake of conflating two different broken things.

I agree that class-based Object Orientation is broken. (Zed makes this point, but he fails to note that Javascript is not class-based)

I agree that the WWW as it currently stands is fundamentally broken.

I don't think these things have anything to do with each other.

@alcinnz But Zed still makes other good points about CSS and HTML and other horrible things that should make any decent designer blush.

@haitch We've got grids and easy centering now with CSS...

@alcinnz You've always been able to lay out elements on a page, by one method or another. This is obviously well known for anyone who had to lay out pages using <TABLE> elements since times immemorial.
The point is not that you can't get anything done, but that the way things are done are evil.
Layout is a separate concern from style, CSS has no business providing layout functionality.
The more CSS does, the more CSS breaks.

@haitch I'm sorry, I don't see it that way. I think things would be more broken if HTML (or it's equivalent) took on the layout task.

And judging by existing browser implementations I'd happily throw away float in favour of grid/flexbox. Though float does do unique & useful things.

@alcinnz And of course, HTML shouldn't have to take the responsibility of doing layout. We can agree on that, because content is not layout either.

Hypertext should have distinct, separate information that helps to lay out content. (aside and separate as well from the styling information that helps to render content)

@haitch O.K., thanks for clarifying that up, I think we're getting on the same page.

It would be interesting if designers could specify their own formulas for laying out the style tree! I don't know how that would look, but I'm sure you do.

Would also mean I don't have to implement those formulas myself for a visual browser.

@alcinnz I learnt a lot from designers like Khoi Vinh. This is something I've been thinking of for a very long time.

@alcinnz There are, however, edge cases in modern design where designers must be able to break rules and content flow must adapt dynamically to the shape of other content.
(say, something like the attached image)

Those rules, should also be defined from a layout-specific set of instructions which should determine the source of the layout shape to be computed during "runtime".

@alcinnz I'm sure modern CSS has something like this as well, but again, nothing of it should be part of CSS.

@haitch I think of Adobe pushing for that feature, but that just comes back to what complaining is wrong with the modern Web!

Tell you what, design such a layout DSL (as long as it isn't turing complete) with sample code and I'll consider implementing it next year. Once I've got hypertext and forms working nicely in Rhapsode.

Right now though, I think I'll need to research an entirely different layout question for work...

@alcinnz This an old and very rough draft in need of being updated, but it should help to show what are the basic premises I've been working on:

@alcinnz That particular example of an hypertext document doesn't have a layout component, but it's easy to see how a parallel :layout component could easily be added to inform the location of the content to be rendered on the page.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!