Skip to main content

SmolWeb

My take on the SmolWeb

Recently @Kelson posted a survey asking what makes something "SmolWeb" and whether it differs from "SmallWeb" (I view them as largely the same)

  • Only low-resource-specced non-corporate websites
  • Also non-web small protocols like Gemini & Gopher
  • Any personal/non-corporate website, but only web
  • Any non-corp website and non-web small protocols

What defines the SmolWeb for me? I figured I'd make a post out of it.

Document based

The SmolWeb tends to focus on sharing information, not "app-like" behavior. You point your browser to a location, it returns some text with various degrees of markup, you read it, and you move on.

A site might provide some sort of search or light form-submission functionality, but for the most part, you just get documents back.

No scripting

Playing into the previous item, NO SCRIPTING. No JavaScript. No VB-Script. No embedded Python. A site can't hijack my mouse-cursor. It won't mine cryptocurrency in the background. It won't fingerprint my browser/computer and track me across the web. It won't auto-play video/audio advertisements. It won't bog down my CPU with constant activity.

Just the text.

Deferring to readers' visualization

Yes, CSS can do nice things for the presentation of content. But my taste and your taste can differ vastly.

You might think that light-gray-on-brown looks great. Or that wispy font with curlicues looks elegant. Or that hiding link-underlines looks classier. Or that visited links should look the same as unvisited links.

But I can't read it. I can't see which text links elsewhere. I can't tell which links I've already visited.

I want to specify my font-faces, font-sizes, font-decoration, foreground/background colors, how headers or lists should look, how links should look, etc.

I don't mind if a site offers hints via CSS at what the site wants the page to look like but I should still have my preferred reading experience even if all that gets stripped away.

Specifications officially refer to the browser as a USER-agent. My agent, doing my bidding and giving my preferred presentation. Not a site-agent.

No persistent data

No cookies. No local storage. No Flash object storage. No local database. No means to track me across the web or even across your own site.

You know my IP address and the URI/URL that I requested.

That's it.

Tables (if supported) only for tabular data

If you have a table of data, go ahead, but don't use tables for visual layout.

Images optional

Feel free to link to reasonable (modest-sized? sure; distractingly animated GIF? preferably not that 10MB hero-image? no thank you) images. Maybe my user-agent will render them inline. Maybe my user-agent will provide me the option to download and view them in an external viewer. Some platforms like HTML offer accessibility hints via alt-text while others like Gopher/Gemini don't (partly why I prefer simple HTML).

Most importantly, don't add images needlessly.

Can corporate sites be SmolWeb sites?

While some might claim that corporate sites automatically get disqualified as SmolWeb sites, I'd posit that a corporation could make a SmolWeb site. But they want to force their branding colors/fonts. They want to track their visitors and glean as much click-tracking information as they can. They want to pop up advertisements, auto-play videos, and otherwise make the experience about them. Due to the limitations above, most choose not to participate in the SmolWeb.

Thoughts on Gopher/Gemini

I grew up on WAIS/Gopher. I searched with Archie & Veronica. I have a soft spot for Gopher. But I find it frustrating. I can't provide sufficient semantic markup (things like headings, lists, inline-links, tables, etc).

Gemini had an opportunity to remedy some of those issues, but declined to. Its major contribution came from enforcing TLS. But the markup semantics and authoring experience (particularly the one-line-is-a-paragraph aspect since I prefer to use semantic line-breaks in my markup) still lack. And the browsing experience reflects that.

So while I occasionally browse Gopherspace and Gemini sites, the experience leaves me a bit underwhelmed, both as an author and as a reader.

You can fudge it by writing your Gopher/Gemini pages with markup like Markdown-like where the text looks like it has semantic structure. But it doesn't. So user-agent's can't do anything more than display the raw pseudo-markup.

As such, I prefer simple, semantic HTML here. With a little CSS styling if you want it, but feel free to browse with lynx or Dillo or whatever HTML browser you want and get pretty much the same experience.