Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Monday September 16 2019, @05:00PM   Printer-friendly
from the things-expand-to-exceed-the-space-provided dept.

https://danluu.com/web-bloat/

A couple years ago, I took a road trip from Wisconsin to Washington and mostly stayed in rural hotels on the way. I expected the internet in rural areas too sparse to have cable internet to be slow, but I was still surprised that a large fraction of the web was inaccessible. Some blogs with lightweight styling were readable, as were pages by academics who hadn't updated the styling on their website since 1995. But very few commercial websites were usable (other than Google). When I measured my connection, I found that the bandwidth was roughly comparable to what I got with a 56k modem in the 90s. The latency and packetloss were significantly worse than the average day on dialup: latency varied between 500ms and 1000ms and packetloss varied between 1% and 10%. Those numbers are comparable to what I'd see on dialup on a bad day.

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. In fact, I recently tried using w3m (a terminal-based web browser that, by default, doesn't support css, javascript, or even images) for a week and it turns out there are only two websites I regularly visit that don't really work in w3m (twitter and zulip, both fundamentally text based sites, at least as I use them)[1].

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. After refreshing the page twice, the page loaded as it was supposed to and I was able to read the blog post, a fairly compelling post on eliminating dependencies.

[1] excluding internal Microsoft stuff that's required for work. Many of the sites are IE only and don't even work in edge. I didn't try those sites in w3m but I doubt they'd work! In fact, I doubt that even half of the non-IE specific internal sites would work in w3m.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Informative) by Fishscene on Monday September 16 2019, @05:12PM (5 children)

    by Fishscene (4361) on Monday September 16 2019, @05:12PM (#894691)

    DTN (Disruption/Delay Tolerant Networking) might be a welcome technology in scenarios such as this. Instead of refreshing and hoping the cache will store something (some websites out-rite disable caching of their website), DTN would transmit the packets whenever it could, using a "Custody" method where the packet is held by the custodian router until it can successfully transmit to the next node, which then has custody. This continues until the packet reaches its destination. Sure, it might be slower, but it's built to be tolerant of delays and disruptions - with some implementations allowing weeks to go by before the packet expires.

    It's seriously fascinating tech and currently being tested by NASA as well for space applications: https://www.nasa.gov/content/dtn/ [nasa.gov]

    Unfortunately, aside from NASA working on it, everything else appears to be academic or hobbyist.
    Here's the latest IETF draft that I was able to find a few months ago, in case anyone is interested in helping to develop this: https://tools.ietf.org/html/draft-ietf-dtn-bpbis-14 [ietf.org]

    (Note: I'd love for this to be implemented on Cell phones for disaster scenarios as well)

    --
    I know I am not God, because every time I pray to Him, it's because I'm not perfect and thankful for what He's done.
    Starting Score:    1  point
    Moderation   +3  
       Informative=3, Total=3
    Extra 'Informative' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 2) by SemperOSS on Monday September 16 2019, @06:30PM (2 children)

    by SemperOSS (5072) on Monday September 16 2019, @06:30PM (#894749)

    A similar strategy could be built in to the browser where the browser would remember the parts of a web page that it has already downloaded and keep retrying the other parts until the page has been completely rendered. This could obviously give wrong results for sites that change contents rapidly but overall it would be a better strategy than to re-download the whole page repeatedly. In Firefox (and possibly other browsers), if you — instead of pressing Ctrl-R to refresh — press Alt-D (highlighting the web address) and then Enter, it will download the parts of the page that have not previously been loaded and keep the parts that have — provided they are marked cacheable (I think). This will often save a lot of time on slow connections as it hopefully reduces the amount to update at each Alt-D+Enter cycle.

    A lot could be achieved if the HTTP standard allowed continued downloads of any item, meaning that the browser could say "Oi, I've already got the first 200 bytes of this thingamading, give me from byte 201 and onwards, please."


    --
    I don't need a signature to draw attention to myself.
    Maybe I should add a sarcasm warning now and again?
    • (Score: 2) by Pino P on Monday September 16 2019, @07:45PM

      by Pino P (4721) on Monday September 16 2019, @07:45PM (#894778) Journal

      A lot could be achieved if the HTTP standard allowed continued downloads of any item

      If a resource is cacheable, HTTP allows byte range requests. However, dynamic resources tend to be less cacheable, and some publishers make some pages on some websites deliberately not cacheable even if only to rotate out the ad unit.

    • (Score: 3, Insightful) by julian on Monday September 16 2019, @08:03PM

      by julian (6003) Subscriber Badge on Monday September 16 2019, @08:03PM (#894787)

      That's essentially just caching, which we can already do but most of us have disabled it because it's used to track us against our explicit wishes. Half of the features of the modern web have to be deliberately crippled or disabled because I can't trust that they'll only be used in good-faith. I ran without JS enabled for a long time but finally had to give up years ago. Now I'm just highly selective on what scripts get to run and from where they can be loaded.

  • (Score: 0) by Anonymous Coward on Monday September 16 2019, @09:57PM

    by Anonymous Coward on Monday September 16 2019, @09:57PM (#894836)

    (Note: I'd love for this to be implemented on Cell phones for disaster scenarios as well)

    Why stop with cell phones and disaster scenarios? I want to see this bloat cut back all the time on everything, from cell phones and tablets to laptops and desktops. And, make no mistake, the people who curate these websites know exactly what they are doing. For example, I notice that lately CNN has gotten into the habit of making a lite version of their website available for people who are hit by hurricanes and other natural disasters. They can moderate their behavior; they just choose not to. Bastards!!!

  • (Score: 0) by Anonymous Coward on Monday September 16 2019, @10:53PM

    by Anonymous Coward on Monday September 16 2019, @10:53PM (#894859)

    Would this overcome the China firewall?