Introducing Slowww - the slow web server
This experiment has now ended. The code is available on https://gitlab.com/edent/very-slow-website
One thing most websites try to do is try to serve you the page as fast as possible. So I've decided to do the opposite. I've made a (toy) web server which goes as slow as humanly possible. You can visit it at http://slowww.rf.gd - but you'll need to be patient.
This delivers a page at about 175 bits per second. Yes, bits. Not bytes. It is deliberately set to be about as fast as an adult human can read. Why do you need your pages delivered any faster than you can read?
Can slowing things down make the web calmer and less distracting? Will it become a more thoughtful place to engage in dialogue? That sounds nice.
Anyway, the http://slowww.rf.gd site has formatting, images, and one or two surprises. And bunnies.
It was originally built as a sort of HTML teaching aide. Or, perhaps I wanted to recreate the old character-by-character BBS experience. It might be a meditative exercise about frustration. Could it be a way to show off some modern HTML5 features in a quirky way? Most likely, lockdown has sent me gently loopy.
It doesn't use JavaScript or anything client side to simulate slowness. It genuinely serves you up pages a few bytes at a time.
The code itself is not very exciting.
PHP
header('Cache-Control: no-cache, no-store, must-revalidate'); // No Cacheing
header('Pragma: no-cache'); // No Cacheing
header('Expires: 0'); // No Cacheing
header('Content-Encoding: none'); // Disable gzip compression
header('Content-Type: text/html; charset=utf-8'); // Be nice to the browser
ob_end_flush(); // Stop buffer
// The body
$str = <<<EOT
<!DOCTYPE html><html lang="en-gb"><head><meta charset="utf-8"><title>Very Slow Website ...
EOT;
// Count character in a safe way
$len = mb_strlen($str, 'UTF-8');
// Echo each character and wait
for ($i = 0; $i < $len; $i++) {
echo mb_substr($str, $i, 1, 'UTF-8');
ob_implicit_flush(1); // Implicit flush at each output command
// 1 second is 1000000
usleep( 40000 );
}
die();
I'm not clever enough to squeeze one of those intricate 1K JavaScript demos into the site. But that's not what it is for.
The site works pretty well in Firefox. Tolerably in Chrome. And is only a little bit broken in Safari. It's worth experiencing it in other browsers, to see how the cope with being drip-fed HTML.
I hope you will find it a calming, educational, and mildly entertaining way to spend five minutes.
Many thanks to my beta testers: Liz, Thomas, Tom, Dom, Mike, yet-another Tom, Anna, Saul, Coco, Hugh, Mark, Neil, Andrew, David, Kate, and Lola.
Saul Cozens says:
Michael Nestler says:
Maybe the Internet Would Suck Less If It Was Really Slow said on :
This Website Simulates The Pain Of Loading The Internet In The '90s said on :
Web-Experiment: Ein langsameres Internet hätte vielleicht nicht nur Nachteile said on :
@Edent 😲 That’s awesome! I guess the trailing “cursor” is an early-loaded CSS :after piece of content? Very nice indeed 😄