Thursday, February 9, 2017

Most of the Web Really Sucks If You Have a Slow Connection

Dan Luu (Hacker News):

Despite my connection being only a bit worse than it was in the 90s, the vast majority of the web wouldn’t load. Why shouldn’t the web work with dialup or a dialup-like connection? It would be one thing if I tried to watch youtube and read pinterest. It’s hard to serve videos and images without bandwidth. But my online interests are quite boring from a media standpoint. Pretty much everything I consume online is plain text, even if it happens to be styled with images and fancy javascript.


More recently, I was reminded of how poorly the web works for people on slow connections when I tried to read a joelonsoftware post while using a flaky mobile connection. The HTML loaded but either one of the five CSS requests or one of the thirteen javascript requests timed out, leaving me with a broken page. Instead of seeing the article, I saw three entire pages of sidebar, menu, and ads before getting to the title because the page required some kind of layout modification to display reasonably. Pages are often designed so that they’re hard or impossible to read if some dependency fails to load. On a slow connection, it’s quite common for at least one depedency to fail.


While it’s easy to blame page authors because there’s a lot of low-hanging fruit on the page side, there’s just as much low-hanging fruit on the browser side. Why does my browser open up 6 TCP connections to try to download six images at once when I’m on a slow satellite connection? That just guarantees that all six images will time out!


For another level of ironic, consider that while I think of a 50kB table as bloat, Google’s AMP currently has > 100kB of blocking javascript that has to load before the page loads! There’s no reason for me to use AMP pages because AMP is slower than my current setup of pure HTML with a few lines of embedded CSS and the occasional image, but, as a result, I’m penalized by Google (relative to AMP pages) for not “accelerating” (deccelerating) my page with AMP.

Previously: Web Bloat Score Calculator, The Problem With AMP.

Update (2017-02-10): Bill Murray:

Before you marry a person you should first make them use a computer with slow internet to see who they really are.

Update (2017-02-20): See also: Juho Snellman.

5 Comments RSS · Twitter

I find that many sites that should be accessible on slow connections fail spectacularly. Airbnb, Couchsurfing, Trip Advisor, Yelp, and any number of travel booking sites (Orbitz, Priceline, etc). It makes me wonder if any of these companies know who their market is when their sites can't be loaded by travelers on slow cell or Wi-Fi connections. I don't know if Airbnb has gotten any better – the home page certainly looks simpler – but they used to actually have a VIDEO (possibly a large animated GIF) on their home page! WTFF.

Even government websites are at fault here too. They ostensibly exist to provide information to citizens, which you would think would mean that it should be accessible (508 etc). But my city's website has Flash on it, huge images used as background candy, lots of javascript for menus, etc. Just to load the main page is 6 MB! And this is for a city of almost 100,000 people. It really makes me wonder who is in charge, what their background in web design / IT is, and how they reach the decision (if there is any thought put into it) to have such a bloated site.

Web designers should stop sitting behind their brand new computers on 100 Mbit internet connections, and see what it's like to load their sites on 5 year old hardware over a 56k connection. This should be an absolute requirement for any site that is travel related or government. If people can't access your site when and where they need it the most, you've failed.

I haven't had to do it in practice lately, but around 5 years ago when I used the iPhone as modem on EDGE on holidays (no 3G coverage at the time), I found most of the web to be unusable already. Fortunately, disabling JS generally worked in making the sites be usable again.

However, I'm afraid it wouldn't work as well today, both because web pages have become even more heavy and less tolerant of JS being disabled.

A couple of times in the past couple of years I've been in a situation where some sort of network issue has left me with very poor bandwidth/latency in otherwise-well-connected suburbia for a stretch of several days (most recently this past November). It would have served me better to have just taken an Internet time-out for that period of time (or built my own implementation of IP over Avian Carriers!), because it would take ~3 minutes for the JavaScript files to time-out and for some piece of a webpage finally to display. Google-hosted stuff (webfonts, js libraries—jquery and friends, Google Analytics) was definitely a massive pain point—a plague on my browsing, since it was so pervasive and seemingly uncacheable, and in my case, more-or-less unreachable.

Somewhere in all the "best-practices" instruction web-developers and web-developer-toolkit-developers get, durability and page bloat and all of these other important things are getting lost :-(

"However, I'm afraid it wouldn't work as well today, both because web pages have become even more heavy and less tolerant of JS being disabled."

You'd be surprised just how much of the web is still quite accessible sans-JS. I do the vast bulk of my surfing sans-JS, and most (non-interactive) things work just fine. Of course, if you want to do e-commerce, or anything else that requires significant interactivity, then you've got to turn JS on, or move to a separate JS browser as I do. But for reading, looking up info, and things like that, sans-JS still pretty much works.

But I will add that things have gotten a lot worse on this front very recently. And when I say "very recently", I mean just in the past 6 to 9 months. Prior to that, I'd guess 95%+ of non-interactive sites were just fine sans-JS, and now it's suddenly down to maybe 90%+. Plus, dynamic JS headers have made reading a bit more work, but still pretty easy, on some sites sans-JS in that same period.

In short, you can still do most web surfing sans-JS - I do! - but it is indeed getting less tolerant quite recently.

[…] Most of the Web Really Sucks If You Have a Slow Connection, Continued Mac Bluetooth […]

Leave a Comment