all repos — h3rald @ 6a13f41888a5c66db0f9e623c6687ace5eb0a553

The source code of the h3rald.com web site.

SubWeb.
h3rald h3rald@h3rald.com
Sat, 20 Jun 2026 22:09:38 +0000
commit

6a13f41888a5c66db0f9e623c6687ace5eb0a553

parent

9af3e753384e4bc114bc2bd7ea260333eb105529

1 files changed, 93 insertions(+), 15 deletions(-)

jump to
M contents/subweb.mdcontents/subweb.md

@@ -3,32 +3,48 @@ code: subweb

home: /subweb/ sourcehut: subweb title: SubWeb -subtitle: "A Safe, Small, Plain, Subset of the Web" -summmary: "A safe, small, plain subset of of the World Wide Web aiming at improving privacy, security, compatibility and simplificity of web pages." +subtitle: "A Safe, Small, Simple, Subset of the Web" +summmary: "A safe, small, simple subset of of the World Wide Web aiming at improving privacy, security, compatibility and simplicity of web pages." content-type: project conver: true active: true changelog: true stage: prototype -version: 000-F +version: 100-F license: CC-BY-4.0 ----- -> %notice% -> **Notice** -> -> This document is an initial draft, essentially just a collection of notes and headings for now! +### Introduction + +Today's World Wide Web is huge, and is very different from the original vision of its creators. More often then not, web sites are bloated, exceedingly complex, they rely on scripts to function, and try to extort as much personal information as possible by employing the most desperate privacy-invasive techniques. + +A lot of web sites are not even _sites_ anymore, they are _apps_, and the Web itself became a _platform_ rather than a place to publish hypertexts. +While the majority of people are now well-used to spend their time on the Web within walled gardens, they don't notice or care about the bloat, the invasive ads, and the dark patterns that plague a lot of sites, there are still some people that care about the original vision of the Web, about a text-first experience, without ads or unsafe content, and bloat-free. -### Introduction +This document attempts to fix what's broken with today's Web by advocating for simpler web sites, and simpler specifications. -Today's World Wide Web is huge, and is very different from the original vision of its creators. More often then not, web sites are bloated, exceeding complex, rely on scripts to function, and try to extort as much personal information as possible by employing several privacy-invasive techniques. +This is _SubWeb_, a safer, smaller, and simpler subset of the Web. -A lot of web sites are not even _sites_ anymore, they are _apps_, and the web itself became a _platform_ rather than a place to publish hypertexts. +### Prior Art -While the majority of people are now well-used to spend their time on the web within walled gardens, they don't notice or care about the bloat, the invasive adverts, and the dark patterns that plague this new World Wide Web, there are still some people that care about the Web's original vision, about a text-first experience, without ads or unsafe content, and bloat-free. +The concept of creating an alternative to the Web or its key building blocks is not new. The following sections list a few similar efforts and why they differ from SubWeb. -This document attempts to fix what's broken on today's Web by advocating for simpler web sites, and simpler specifications. This is SubWeb, a safe, small, and simple subset of the Web. +#### Gemini + +[Gemini](https://geminiprotocol.net) is an alternative internet protocol meant to be used to exchange text written using [GemText](https://lionwiki-t2t.sourceforge.io/gemtext.html), a lightweight markup language similar to markdown but only able to manage text, links, headings, lists, blockquotes, and preformatted text. + +While it is definitely simpler than HTML over HTTP, it is probably an overkill (why create a new protocol when HTTP is just fine?) in simplicity (no styles whatsoever, nothing). + +#### SmolWeb + +The [SmolWeb](https://smolweb.org) initiative is indeed extremely similar to SubWeb. It even comes with its own recommended [HTML subset](https://smolweb.org/specs/index.html), but the result is still too complex, incompatible with older/simpler browsers, and potentially allowing insecure content. + +#### GeminiWeb0/HTML0/CSS0/JS0 + +[GeminiWeb0](https://bkil.gitlab.io/gemiweb0/) is actually the closest effort to SubWeb. For now it is basically just a collection of notes, but it seems promising. + +Still, the inclusion of JavaScript as _partially supported_ is probably unnecessary if the purpose is to focus on hypertexts. Furthermore, it is also an attack vector that can make browsing potentially unsafe. ### Goals

@@ -38,25 +54,87 @@ - Safety

- Compatibility - Simplicity +Each of these goals contributes to trim the amount of permitted functionality compared to the standard Web. + #### Safety +SubWeb pages should be safe and not expose users to security risks. The best way to achieve that is to remove as many attack vectors as possible. + +This means: + +- No JavaScript or scripts of any kind +- No WASM, applets, objects or similar technologies. +- No framesets or iframes +- All assets (styles and images, essentially) must be loaded from the same origin as the SubWeb site. +- Inline styles or images mixed-in with HTML are not permitted. +- Mandatory HTTPS as transport, if your site has forms used to submit data. + #### Compatibility +SubWeb pages should be made to last and be compatible with as many web browsers as possible. + +The best browser to target is [Dillo](https://dillo-browser.github.io), as it pretty much implements the smallest set of features that are sufficient to render simple-but-pleasant, text-focused, web pages. [NetSurf](https://www.netsurf-browser.org) is another minimalist and simple browser, but more advanced than Dillo. + +This means: + +- No MathML, or similar XML code embedded in HTML +- No SVG, WebP, or similar, only JPG, PNG, or GIF images are permitted, . +- No audio, video, or other multimedia content +- No embedded fonts +- No flexbox, CSS grid, or similar. Floats are permitted and so are tables though, so some sort of very basic layouting is possible. +- No CSS transitions, transformations, shadows or similar + #### Simplicity -### Prior Art +While HTML5 was hailed as a the biggest improvement to the HTML standard, it adds a lot of extra elements that may be considered superfluous, as they can easily approximated using existing, more common, elements. + +This means that the following elements should not be used: -#### Gemini +- main +- header +- footer +- nav +- aside +- progress +- figure +- figcaption -#### SmolWeb +In most of these cases, a `div` element with suitable `class` attribute can do the job just fine. + +### Extremely-Graceful Degradation + +If a functionality is only supported in modern browsers but: + +- it does not alter the visual appearance or functionality of the site +- it does not interfere with the rendering in simpler browsers like Dillo or NetSurf + +...then it is considered safe to use. + +One of the clearest examples of this _extremely-graceful degradation_ is the viewport meta tag: + +```html +<meta name="viewport" content="width=device-width, initial-scale=1.0"> +``` + +Although not processed by Dillo (and pointless, in that context, as it only works on desktop operating systems), it does not alter its rendering of the page but it does make an enormous difference for mobile support. + +A not-so-clear-cut case is the `border-radius` CSS property, because it _does_ alter the visual appearance of elements on the page if not supported, and may cause web sites to look very different in such cases. ### Specifications + +These SubWeb guidelines are formalized into two separate specifications for subsets of HTML and CSS. #### SubHTML +_Coming soon!_ + #### SubCSS +_Coming soon!_ + ### About + +Originally written by Fabio Cevasco on 2026-06-20. ### License