Slashdot Mirror


Most of the Web Really Sucks If You Have a Slow Connection (danluu.com)

Dan Luu, hardware/software engineer at Microsoft, writes in a blog post: 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! I can sometimes get some images to load by refreshing the page a few times (and waiting ten minutes each time), but why shouldn't the browser handle retries for me? If you think about it for a few minutes, there are a lot of optimizations that browsers could do for people on slow connections, but because they don't, the best current solution for users appears to be: use w3m when you can, and then switch to a browser with ad-blocking when that doesn't work. But why should users have to use two entirely different programs, one of which has a text-based interface only computer nerds will find palatable?

47 of 325 comments (clear)

  1. Most of the web really sucks by Opportunist · · Score: 5, Insightful

    No idea how your connection speed adds anything to this.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    1. Re:Most of the web really sucks by Big+Hairy+Ian · · Score: 2, Insightful

      If you go to a page with a lot of images, the common sense approach would be to load them in order, one at a time. Instead, all browsers do the same stupid thing - try to load all 30 images at the same time, leaving you sitting there looking at 30 partial images.

      So you'd rather wait 6 times as long to load a page one component at a time?

      --

      Build a Man a Fire, and He'll Be Warm for a Day. Set a Man on Fire, and He'll Be Warm for the Rest of His Life.

    2. Re:Most of the web really sucks by stooo · · Score: 2

      Most of the web sucks, but with a slow connection you really need a long time to get to that point of understanding.
      An adblocker can help you go to this conclusion faster, tho.

      --
      aaaaaaa
    3. Re:Most of the web really sucks by dugancent · · Score: 4, Insightful

      Autoplaying videos are the bane of my existence. Nothing should should autoplay, ever, and it shouldn't require a browser plugin to prevent it.

      --
      SJWs are the new boogeyman. -Me
    4. Re:Most of the web really sucks by Opportunist · · Score: 3, Informative

      Well, it does make sense to load the pictures simultaneously because they may come from different source and what if one of them stalls? The whole page would sit there and wait.

      What gets my piss to a boil is that browsers still cannot load text first and ignore pictures until the rest of the page is done. Gimme something to read while your slow ass server eventually, maybe, finally manages to send the picture I don't give a shit about.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    5. Re:Most of the web really sucks by hodet · · Score: 2

      Indeed, anyone thinking adding that crap to a page is just a horrible person. A close second is the delayed pop-up. Fuckers. Then they cry about ad-blockers. Been testing Pi-hole with very promising results, seems to even bypass the "Hey you are using an ad-blocker" message.

    6. Re:Most of the web really sucks by tepples · · Score: 2

      Parallelism is fine for wired broadband but starts to break when you deal with the conditions described in the featured article. Satellite has 1000 ms pings and up to 10 percent packet loss. And trying to multiplex 36 TCP connections over one 0.05 Mbps dial-up connection might cause each of the connections to time out, particularly if a server is using slowloris mitigation.

    7. Re:Most of the web really sucks by Calydor · · Score: 2

      If your ISP throttles your bandwidth it STILL won't make a difference if you download 6 x 500 KB one at a time (3 MB) or simultaneously (3 MB). In fact there are several use cases where downloading them one at a time can reduce the needed bandwidth because you can stop the page after one or two images that you actually need are done. That is the same reason why jpg images load the way they do, giving you a chance to see early on if it's the image you're after or not.

      --
      -=This sig has nothing to do with my comment. Move along now=-
    8. Re:Most of the web really sucks by religionofpeas · · Score: 2

      You assume that the images you actually need will be the first to be downloaded.

    9. Re:Most of the web really sucks by Doke · · Score: 4, Informative

      If you use firefox, or a derivative, put this in your user.js file (or set it through about:config).

      user_pref("media.autoplay.enabled", false);
      user_pref("image.animation_mode", "once");

    10. Re:Most of the web really sucks by arth1 · · Score: 3, Informative

      Also, in about config, enter network.http.max
      Reduce these to sane numbers.

  2. no worries, i thought you Gnu! by nimbius · · Score: 4, Interesting

    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?

    i used to have this problem until i switched to Lynx. Now pesky things like popups and adware are a thing of the past! six streams indeed.

    --
    Good people go to bed earlier.
  3. FTFY by DontBeAMoran · · Score: 2

    Everything Internet-related really sucks if you have a slow connection.

    --
    #DeleteFacebook
  4. Timeout by religionofpeas · · Score: 5, Interesting

    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!

    The problem is not opening 6 connections, or failure to retry, but a timeout that's too short.

  5. Slight irony detected by Anonymous Coward · · Score: 2, Insightful

    Tell that to all the people with slow connections, who's operating system is constantly phoning home to a dozen different servers and hijacking their bandwidth to spread itself on a p2p network.

  6. No one tests software on a slow connection by jfdavis668 · · Score: 4, Insightful

    I have the same problem with smartphone apps. If you don't have the highest LTE connection possible, the app is a pain to use. Go to a rural area, and you may not even get it to open. Web sites are the same way. They give developers super fast connections, and they develop applications that require that speed. They don't put them on slow networks and test to see if they are even useful on a basic level.

    1. Re:No one tests software on a slow connection by Anonymous Coward · · Score: 4, Interesting

      I remember WordPerfect 6. All we, as users and support techs, asked, was that they did not make it slow with new features and debris.

      They failed. Why?

      We find out in one of the responses from the dev team, via support: "All our developers use it too, and they have no problems with performance. Perhaps you need top upgrade your computer?"

      Well, we find out also that the dev team had 486DX2--66 machines with 16MB RAM. In an age when most attorneys' assistants were using 386 machines with 4MB RAM, maybe, and Windows 3.0/3.1. Yep, hanging on. A busy assistant would reboot twice a day. Had the WP dev team been testing even minimally on mainstream workstations, they would have known, and had a better answer, like "that's the price for state-of-the-art features, so suck it up and upgrade"

      How is this related to smartphone apps and network performance?

      First, the issue has nothing to do with user satisfaction. It is about 0. app infrastructure and 1. marketing.

      These apps that require a server infrastructure aren't going to be built to serve 'slow' users. Open connections spanning minutes are expensive. Adapting to network speed by stretching timeouts and optimizing data flow don't make any money for advertisers or the app itself, the devs are focused on new features, gadgets, and monetizing the product. The rural market is literally worthless to them.

      And since the apps are marketed to majorities, smaller populations out in the slow network space have no voice. And no money.

      Lightweight apps like Twitter (how much data DOES it take to send a 140 character message?) and SMS manage, but even maps fail spectacularly when they are used in 2G network spaces, and there are still a lot of those.

      My complaint is that in a metro area, during lunch, the congestion is so bad I lose data entirely. LTE4G is available, as well as UMTS, but when I lose I don't even get 2G - they just drop connections. Reboot my phone and get service for a few minutes, and then gone again. It's just 5500+ employees going out for lunch in a square mile. I have asked, and no carrier is immune to this. And building out capacity there isn't going to happen, because the congestion occurs for 3 hours a day, Monday-Friday. Nope, not worth it. When voice stats failing, maybe.

      Surprisingly, the PSTN had minimum service levels dictated by state legislation, and while the penalties were often minimal, there is NOTHING like this in cell service that I am aware of. AMPS and NAMPS didn't really have them, and CDMA/GSM apparently did not. Now that cell service is the only service for many, SLAs for service woudl be useful. I doubt they will be proposed, enacted, or enforced.

      And app performance will *never* be enforceable. Too many variables. I hear ya, rural performance is terrible, and every claim that it will be improved hinges on the cost benefit analysis. That will not change for a while, even with Band 12/700MHz/600MHz spectrum being deployed. Nope.

      Now Gigabit LTE and the next gen give us hope that the cell companies will build out and try to displace the incumbent wired ISPs, but I'm dreaming here. Or am I? Since rural American doesn't have wired ISPs, it may be overlooked during the transition to 'copious bandwidth'. Glad I don't live in the woods any more, though if I didn't have a great job I would move there and disconnect.

  7. Firefox max concurrent connections setting by JohnM4 · · Score: 5, Informative

    You can configure this setting in Firefox. It doesn't look like Chrome has a similar configuration.

    http://kb.mozillazine.org/Abou...
    network.http.max-persistent-connections-per-server - default = 6

    Try setting this to 1.

    Source:
    https://support.mozilla.org/t5...

    1. Re:Firefox max concurrent connections setting by Bite+The+Pillow · · Score: 3, Insightful

      The point is, browsers can do this intelligently. Automatically. But they don't.

      When I leave wi fi and fall back to 3g, I should not have to tell my browser to behave optimally each transition.

  8. Follow the money by Larry_Dillon · · Score: 4, Interesting

    A lot of what drives modern internet design is e-commerce. If you're on a slow connection, you probably don't have much money to spend, so why should anyone care? Or so the thinking goes....

    --
    Competition Good, Monopoly Bad.
    1. Re:Follow the money by infosinger · · Score: 2

      I do have money to spend and I maxed out my connection with dual 3Mbit connections into a load balancer. That is the best I could get, period. By the way, I only live about 15 miles from Portland, OR. Internet coverage in this country is very uneven.

  9. Most of the web sucks period... by Red_Chaos1 · · Score: 4, Interesting

    Even with fast Internet connections, websites are so bloated with ancillary scripts and tracking code and cross linking to 20 different various advertising and content servers that you get stuck waiting no matter what. CDNs helped but you're still hostage to X advertising companies one slow server because it's not on that CDN.

    1. Re:Most of the web sucks period... by i.r.id10t · · Score: 2

      Unless you run a local dns server that spoofs a lot of those and points them to something local that responds "instantly". I use a Pi for this at home, with 1.5mb dsl it is a big saver, and even though I've finally been able to upgrade to 6mb is is still a saver.

      --
      Don't blame me, I voted for Kodos
    2. Re:Most of the web sucks period... by omnichad · · Score: 2

      It's even worse if you are using your ISPs DNS servers. Each request involves a high-latency hostname lookup before the HTTP portion can even start. And for some reason, CDNs use a different hostname for every client's files - so the DNS lookup is never cached.

  10. Web page designers by Grand+Facade · · Score: 4, Insightful

    all show which side their bread is buttered on.

    When the advertising content loads first and the page rebuilds/rearranges itself 6 or 8 times and finally the content you want to see becomes visible or stabilizes enough to click a link.

    I think some of the pages are designed to do this on purpose.
    You get a glimpse of the content you are looking for and click on a link just as the page rebuilds itself and the link has changed to an ad and the cash register rings on a click through.

    --
    Rick B.
    1. Re:Web page designers by omnichad · · Score: 2

      Ad networks in general try to make it "easy" for web designers by giving them just a javascript to include. Then you can't pre-define the dimensions of that content block, making it block rendering until it loads.

  11. Re:Most Web Browser Engines Are Open Source by rudy_wayne · · Score: 4, Insightful

    Most web browser engines are open source. Go and modify one or many of them to handle slow connections better.

    And after you get done with that, you can take your car's engine apart and redesign it to get 400 miles per gallon.

  12. Opera used to handle this nicely by Lisandro · · Score: 2

    It had a number of options where you could set up the number of global connections and per page. And yes, it was useful during the early days of dialup.

    But anyway, most of the web sucks in this regard. Period. Sites are horribly designed these days - a gazillion JS dependencies, unnecessarily large images which get scaled, zero concern for mobile devices, etc.

    1. Re:Opera used to handle this nicely by sirber · · Score: 2

      You can disable javascript per site (with chrome at least). Helps a lot on some pages, like on slashdot.org.

      --
      Be or ben't
    2. Re:Opera used to handle this nicely by omnichad · · Score: 2

      unnecessarily large images which get scaled

      Understatement. I've seen 20MP images scaled down to under 200 pixels high. And worse, they're straight off the camera and not even recompressed for web. 6MB images like this really eat through my mobile data, as I try to stay under 1GB.

  13. Welcome to the Digital Divide. by 0100010001010011 · · Score: 5, Insightful

    The digital divide in the US became most evident (to me) in this last election cycle.

    If you look at the page weights of 'conservative' vs 'liberal' news sites the former are much smaller and tailored to people on even a dial up, in large part because they know their demographic. Rural internet in the US flat out sucks. We have counties in my state, not more than 3 hours outside of Chicago that still have dialup as a viable option.

    Drudge Report loads amazingly fast. Huffington Post does not. Drudge was 1.13 MB in size with 44% of that images. (The site I used to analyze them was done with Drudge's 14 assets long before Huffington Post stalled at 220/222 assets.)

    The art of optimization seems to have disappeared, it made a small resurgence when web developers tried to optimize for the mobile web, but it doesn't look like most developers ever tried that hard.

    It's a closed feedback loop. Developers live in places with fast Internet, test in places with fast Internet and then don't understand what it's like anywhere else. Students on college campuses live with gigabit internet and Internet2 connections to peer universities. They move to cities that Comcast pays attention to.

    The best suggestion I have: Turn off images, configure the browser not to thread connections, and get involved in local government to get faster internet to your area.

    1. Re:Welcome to the Digital Divide. by Lumpy · · Score: 2

      The art of optimization seems to have disappeared...

      Because shiny and swoopy is more important that performance

      --
      Do not look at laser with remaining good eye.
    2. Re:Welcome to the Digital Divide. by itamihn · · Score: 2

      It's not that it has disappeared. But if I have to choose between making my website shiny and make it small, 9/10 will prioritise the UX for users with high bandwidth (HiDPI icons, etc).

    3. Re:Welcome to the Digital Divide. by green1 · · Score: 2

      The art of optimization seems to have disappeared, it made a small resurgence when web developers tried to optimize for the mobile web, but it doesn't look like most developers ever tried that hard.

      They never tried to "optimize" for the mobile web, they just removed half the content while leaving all the ads and tracking in place. It means that the mobile version ALWAYS sucks in comparison to the full version, even when viewed on a mobile device.

      I have NEVER seen a single "mobile" web page that was better on my phone than the full version of the same site. I never, under any circumstances, ever want to see the mobile version of any web page.

  14. Important fix by Lumpy · · Score: 4, Insightful

    Be sure to run adblockers, stripping out adverts makes a big difference.

    But even slashdot is a big fat bloated pig. no reason at all to load everything and a giant pile of JS.

    --
    Do not look at laser with remaining good eye.
  15. Re:Most Web Browser Engines Are Open Source by Oswald+McWeany · · Score: 4, Funny

    And after you get done with that, you can take your car's engine apart and redesign it to get 400 miles per gallon.

    It's not hard to get a 400 MPG average. The trouble is, getting back to the top of the hill afterwards.

    --
    "That's the way to do it" - Punch
  16. Umm, no. by Viol8 · · Score: 4, Informative

    Ssh, and telnet work just fine over a slow connection and so does email so long as it doesn't have a load of attachments plus other protocols such as gopher. People did manage to use the internet over dial up before HTTP/HTML came along and sucked up as much bandwidth as it could!

    1. Re:Umm, no. by trg83 · · Score: 2

      Depends on whether slow means low latency or small bandwidth. SSH and telnet are miserable on a high latency link regardless of its bandwidth.

    2. Re:Umm, no. by Desler · · Score: 2

      I can read just fine. Saying that "things are just fine" unless you do things that are absolutely commonplace is a stupid statement.

  17. It isn't just advertising and Javascript by feenberg · · Score: 4, Informative

    There is a hilarious (and sad) commentary on website bloat at http://idlewords.com/talks/web... that shows truely outrageous examples of this sin.

  18. Do you Know WHY it sucks? by Anonymous Coward · · Score: 5, Informative

    1. Sites that play videos when the load.
    2. Sites that display the entire page for three seconds and then cover it with a full screen ad.
    3. Sites that constantly reorganize the page as it loads new ads.
    4. Sites that load ads FIRST instead of the actual content.

    Bottom line is the web sucks because Madison Avenue got a hold of it. They aren't content with placing an ad like they do in papers or magazines. They all in your face and FORCE your participation in message delivery. And before you even mention Ad Block, more and more sites simply refuse to load when you have that installed/enabled.

    1. Re:Do you Know WHY it sucks? by RandomFactor · · Score: 2

      "So don't ad-block. Script-block instead"

      False dichotomy :-)

      --
      --- Mercutio was right.
  19. Easy solutions by guruevi · · Score: 3, Informative

    Most browsers open 6 connections because most connections these day can handle it. If you live in a time warp (like most of the US) with tech that's 20 years old, then you have to use 20 year old tricks of the trade.

    "Back in the day" we had 56k at home or for the rich folk, 128k (ISDN), double ISDN if you were really lucky. We had the same problems, the 'web' was getting fancy with things like Flash, video and high-def images because all the 'work' was being done at places that had either access through an institution with at least Fractional T1's and things like 100Mbps home-internet copper/fiber connections for $10 were being promised as less than a decade away by the ISP's which were then repeatedly subsidized by the governments to do just that.

    How did we do it:
    a) Set up your own DNS caching servers
    b) Set up your own HTTP/HTTPS proxy caching servers with giant caches
    c) Proper QoS to make sure certain traffic had priority over others, small packets and small buffers
    d) Set up your own servers (such as IMAP/SMTP, gaming etc) and have them sync during times of lesser activity. These days, with a bit of API tinkering, even social media can be done that way.

    We had LAN parties with 100's of computers behind a 1Mbps cable modem, no problem.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  20. https://alterslash.org by TheStickBoy · · Score: 4, Informative

    Be sure to run adblockers, stripping out adverts makes a big difference.

    But even slashdot is a big fat bloated pig. no reason at all to load everything and a giant pile of JS.

    I highly recommend https://alterslash.org it removes all the bloat from slashdot.org Thanks to Jonathan Hedley!

  21. Tips for Dan Luu by HBI · · Score: 2

    The problem with a satellite connection is not precisely related to latency but rather to jitter, the large differences in latency from one packet to the next. This happens as a result of rain fade, or a poorly engineered link to your transponder on the bird, or a variety of other more infrequent issues.

    You can (and should) up your TCP timeout values from the default 3 seconds on a satellite connection, and adjust the http keep-alive timeout, etc, but a lot of times this just means you wait longer to be told when the connection fails.

    The solution is a combination of caching, compression, and a performance enhancing proxy or PEP. The PEP does TCP spoofing, basically faking the acknowledgements to speed up the transmission of packets. Compression is similar to the MNP5/v.42bis stuff from modem days applied to a satellite connection. Caching is basically Squid. A lot of PEPs combine all three functions into one - Riverbed is a really good example, though i've worked with pretty much every vendor and they all do the same stuff, with differences in ease of use and efficency.

    Implement the timeout fixes, implement a good PEP with all three of the ingredients noted, and make sure the connection is dialed in well with a good shot (line of sight) without physical impediments like trees, buildings, and most importantly microwave interference, and you should have a fairly reliable internet connection. You will still take hits, but you can look at the front of the satellite modem and see that is happening if it's an iDirect or something similar.

    Bottom line though is that unless you are taking hits, you should be able to set up downloads of a lot of images and never see a timeout.

    - someone who has spent a lot of time doing this (and living off sat connections) in awful places in the world

    --
    HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
  22. and for pete's sake, MTU!!! by HBI · · Score: 2

    A lot of times, bad MTU settings are the problem with a sat link. The problem is simply stated: GRE tunnels are common on such links, and a GRE tunnel will encapsulate each packet and add a 16 byte header. Since the modems usually only permit a 1500 byte MTU, this means the maximum packet size you can get through the GRE tunnel will be 1484 bytes long, inclusive of header. If someone sends out a packet that is maximum size for a 1500 byte MTU, and sets the DF (Don't Fragment) bit, when the packet hits this GRE tunnel it will be dropped. This happens frequently with bad SSL implementations.

    This is only one version of MTU problems with sat links. There are others.

    --
    HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
  23. Re:Thanks green1 but DNS has issues by green1 · · Score: 2

    oh boy....

    Your DNS can easily be local, on your network, and it means that everyone connecting to your network, regardless of device, has the advantage of ad blocking.

    I don't need to jailbreak my mother in law's iPad for her to get the advantage of the DNS blocking, I don't have to root my wife's android, every device that comes in to the house and connects to the network automatically gets the advantage of ad blocking just by virtue of connecting. And best of all, I can make updates to one device instead of dozens as new ad domains appear.

    Hosts is great for people who only use a PC, never use a mobile device, have few devices, and don't know how to configure a DNS server, but for true geeks (the main audience of this site) it's lacking on many levels.

    There's a reason we don't all just have hosts files for the whole internet, there's a reason DNS was invented, those same reasons are what makes it superior to a hosts file for this application as well.