Comment by khimaros

20 hours ago

i find myself requesting this whenever i see a new minimalist browser pop up:

it would be great to standardize alternative browsers on a consistent subset of web standards and document them so that "smolweb" enthusiasts can target that when building their websites and alternative browsers makers can target something useful without boiling the ocean

i personally prefer this approach to brand new protocols like Gemini, because it retains backward compatibility with popular browsers while offering an off ramp.

> standardize alternative browsers on a consistent subset of web standards and document them so that "smolweb" enthusiasts can target that

Could such a standard be based on the subset of HTML/CSS acceptable in emails? Maybe with a few extra things for interactivity.

  • AFAIK, "email HTML" isn't standardized either; most organizations that make nice-looking HTML emails have to do a ton of testing across different clients and come up with workarounds to make everything look consistent.

    • It's fascinating how much "email HTML" is trapped in about HTML ~2.5, with limited CSS support and still a ton of FONT tags and TABLE layouts.

      HTML 2 might be an interesting subset of HTML to "focus on" for smolweb, but it would be a big retro throwback, and not feel at all modern.

      If you were starting today, might be more interesting to start with the most modern stuff and work backwards. HTML 2 TABLE could be implemented as a specialization of CSS Grid, for instance.

I think that would be really neat for small scale web publishing, but making it a subset of browser standards could be a really difficult sell to the people making browsers. While it's easier to build a browser to a subset of such a massive set of specs, the subset will drift towards a "similar but slightly incompatible standard" pretty soon after it's decided on. Following the development of Ladybird has given me an appreciation for just how often the "spec" for the web changes. (in small ways, daily.) That locks new browser implementations into a diverging standards track that would be very difficult to get off of.

I think something like a reference implementation (Ladybird, Servo or even Vaev maybe?) getting picked up as the small-web living standard feels like the best bet for me since that still lets browser projects get the big-time funding for making the big-web work in their browser too. "It's got to look good in Ladybird/Vaev/etc".

An idea: a web authoring tool built around libweb from Ladybird! (Or any other new web implementation that's easily embeddable) The implied standard-ness of whatever goes in that slot would just come for free. (Given enough people are using it!)

  • small-web living standard

    The phrase "living standard" is an oxymoron, invented by the incumbents who want to pretend they're supporting standards while weaponising constant change to keep themselves incumbent.

  • > I think something like a reference implementation (Ladybird, Servo or even Vaev maybe?) getting picked up as the small-web living standard feels like the best bet for me since that still lets browser projects get the big-time funding for making the big-web work in their browser too.

    A "standard" should mean there is a clear goal to work towards to for authors and browser vendors. For example, if a browser implements CSS 2.1 (the last sanely defined CSS version), its vendor can say "we support CSS 2.1", authors who care enough can check their CSS using a validator, and users can report if a CSS 2.1 feature is implemented incorrectly.

    With a living standard (e.g. HTML5), all you get is a closed circle of implementations which must add a feature before it is specified. Restricting the number of implementations to one and omitting the descriptive prose sounds even worse than the status quo.

The subset could just be an older version of the spec, e.g. HTML 4.01 and CSS 2.1.

(My opinion as another one who has been slowly working on my own browser engine.)

  • Pick a subset aimed directly at accessibility.

    The least-needed features are often accessibility nightmares (e.g. animation - although usually not semantic).

    The accessible subset could then be government standardized and used as a legal hammer against over-complex HTML sites.

    For a while search engines helped because they encouraged sites to focus on being more informative (html DOCUMENTS).

    I think web applications are a huge improvement over Windows applications, however dynamic HTML is a nightmare. Old school forms were usable.

    (edited to improve) Disclosure: wrote a js framework and SPA mid 00's (so I've been more on the problem side than the solution side).

    • Styles can be provided as client-side dependencies instead of free form CSS:

         <meta name="dependencies" content="mathjax/1.1 highlightjs/2.0 navbar/5.1"/>
      

      then browser decides how to resolve them.

  • That's easy to specify but contains a lot of bloat and unused features. A slimmer but more modern set would be useful.

  • I feel like some of the newer standards like CSS Grid instead of tables might be the best way to go. Many HTML/CSS improvements were not just bloat but actually better standards to build on.

    • Right! Crazy fonts or cursors, not on smolweb (as another use put it) but Flex and Grid are almost necessary. There are loads of things that could be dropped (it feels like).

      I just want one of these browsers to give me a proper ComboBox (text, search and drop-down thing)

  • Cat is out of the bag. nobody wants their CSS without flexbox anymore. It has to include that.

    • Everything flexbox can do, CSS Grid can do, with easier/better/cleaner support for the second axis. At this point, I'd be interested in dropping flexbox entirely for CSS Grid.

      ("I don't need to worry about the second axis" seems to be a "not thinking fourth dimensionally enough" excuse to me today. You haven't considered enough responsive breakpoints or you haven't considered future features or future expanded data or future localizations, yet.)

  • Why not start with what is required for markdown formatting? Then build out from there.

  • But older versions contain lots of crap we don't need (eg <blink> tags) and miss out on useful stuff (grid layout).

  • Sites often get that wrong. I'd say support motherfuckingwebsite.com subset: <p>, <a>, <h*>, <img>, <ruby> (i.e. markdown/gemini++) and do everything else with webcompat/fixbrowser way.

In this case it is better to make a new standard because HTML/CSS have so many legacy things and quirks that better be got rid of (like <hr> tag for example, table cell not inheriting font size etc).