The Bloated Web
The Resource-Hogging Web
The commercialization of the web ("Web 2.0") meant that browsers were no longer just HTML document viewers; they were platforms for running apps. The trade-off was more user-tracking, maximization of user-engagement, higher resource utilization and unnecessary battery drain. Go ahead and launch a handful of tabs on Chrome and watch how fast your RAM gets consumed.
To add to that, many modern websites are built to seem "bottomless"; as a user scrolls down to read, more content is dynamically fetched and appended to the page, consuming evermore system resources!
The Unpredictable Web
Once you've pointed your web browser to a particular URL, anything can happen. A page could include any number of resources. Users have little choice but to install browser extensions to block ads, scripts, tweak website behavior or alter its presentation. Keep in mind that by doing so, website functionality often breaks. Some publishers go as far as ask users to disable their ad-blockers before allowing access to their content.
Efforts to Minimize the Bloat
The web didn't used to be this way. "Web 1.0" was much simpler. People built their own websites. Data didn't mostly live on a few large platforms like AWS, Facebook, or Twitter. But alas, that ship had already sailed, and publishers and developers alike recognized that the web needed to lighten up somehow.
A Lite-er Web?
As the web got more bloated and smartphones gained popularity, publishers realized that much of their content could not be consumed on lower-end devices. Their solution was to offer a "lite version" website. But since there was no obligation to create them, not all websites did. There was no standard way of discovering and accessing them.
Example: CNN Lite
Alternatively, some sites created "mobile versions". These sites would typically redirect users to their desktop versions if they detect that they were accessed from a computer rather than a phone. This leaves users with no choice but to spoof their browser's 'User-Agent', an advanced option aimed for developers.
Mobile version of YouTube
Some people have created websites that scrape data off of other sites simply to present them in a simpler format:
Sick of waiting for ESPN to load on your phone? I made a site that shows live NBA games, boxscores and play-by-play in plain text and loads instantly. No frills, and no waiting, just plain text sports
–– @CodeIsTheEnd Feb 28, 2021
RSS was a great addition to the web to allow users to "subscribe" to websites and podcasts, but fewer publishers are using them because they impact ad revenue. Twitter for example, disabled them:
The social network has removed native RSS feeds from its public interface. Today you need third party services to make RSS feeds from tweets.
Google Reader Shut Down in 2013
Data Saver (a.k.a. Lite mode)?
Some browsers added a "data saver" mode which attempt to compress and simplify webpage content, but it's a hit-or-miss feature:
Chrome Lite mode
Reader Mode (a.k.a. Simplified View)?
Some browsers added a feature that would transform a web page into simple text for easier readability, but that feature got removed? Did advertisers get upset?
Google disabled Simplified View
A Better Web
Back to Basics
Sadly, the bloated web has become the norm. People have grown accustomed to it. Contrast this to voice assistant interaction: one would expect nothing but straight answers:
Question: What's the weather today?
Answer: It's cloudy and 19 degrees.
Had the assistant proceed to ramble on for another 2 minutes about its sponsor and some other unrelated news or updates, people would likely find it agitating or, at the very least, distracting.
Luckily there are people out there who have recognized this problem and have started to advocate for a "smol" web.
What is the Small Web? (HTTPS)
Gemini: A Simpler Protocol
Gemini is an exciting modern protocol that has been gaining popularity. It is designed to be strictly bloat-free. While it doesn't aim to replace the web, it certainly can make the user experience of finding and consuming content quite delightful.
Gemini is Brutally Simple
- Instead of HTTPS (TCP port 443), only one GET-equivalent request (TCP port 1965)
- No headers
- Instead of HTML (.htm, .html), Gemtext (.gmi, .gemini)
- TLS is mandatory
- It's inspired by Gopher
Here's how to fetch content via CLI:
echo "gemini://auragem.space/weather/metric/location?Tokyo" | openssl s_client -connect auragem.space:1965 -quiet 2> /dev/null
Read the Specification
Read the Specification (HTTPS version)
Plain Text is Great
Plain text is portable, flexible, light-weight, and doesn't require any special tools to generate; it looks the same on different platforms, lends itself to trivial processing or quoting, yet allows you to present even complex ideas in a manner that lets users quickly and easily absorb them.
Plain text thankfully puts away with distractions, but being able to create text documents that are easy to read is a subtle skill, all too often lost on those who grew up with HTML emails, online forums, and wiki pages.
--The Art of Plain Text
Back in in the late 90s, if you got stuck at a video game, you'd visit GameFAQs, a website with a vibrant community of gamers who wrote guides in plaintext (with a bit of ascii art). Despite how lengthy those guides tended to be, they were small enough to be reliably downloaded via dial-up connection and portable enough to be stored on floppy disks.
Example of an FAQ in plain text
Gemtext is Almost Plain Text
Gemtext is plaintext with just enough markdown to deliver "maximum power-to-weight ratio". The implications of this design choice means that Gemini is far more predictable than the web.
Gemini content is generally:
- Small (minimal formatting/markup, everything else is a link)
- Fast (no embedded/dynamic/auto-playing/preloaded content)
- Works offline (no external dependancies)
- Respects privacy (no tracking, no distracting ads)
- Easy to write and publish (using any text editor)
- Easy to crawl and/or integrate with various CLI tools
Read about Gemtext
Read about Gemtext (HTTPS version)
Getting Started with Gemini
Like Wget, but for scraping Gemini capsules
"gempub" or "GPUB"
An e-book file format (".gpub") that is a zip archives that contains an index file and a collection of text/gemini (".gmi").
[Last Edited: 2022-02-13]