Live data from Hacker News

The web sucks if you have a slow connection

danluu.com

421–430 of 622 posts

Re: The web sucks if you have a slow connection

#421

I totally agree. I used to have a really bad mobile connection up until a few years ago (Spain), and still when I use up all my mobile internet it reverses to 2G. So I know the pain and decided I wouldn't do the same to my users as a web developer. I created these projects from that: - Picnic CSS: http://picnicss.com/ - Umbrella JS (right now website in maintenance): http://github.com/franciscop/umbrella Also I wrote…

Where did you live in Spain? In Spain my mobile internet is far better than, let's say, in parts of the UK I work, let alone in China. And I live in the mountains down south, an hour away from the nearest city. Best so far have been Thailand + Cambodia. Just blazing fast, even in the rainforest with multiple laptops/phones tethered and cheap as chips. If I can have anywhere between 3G/4G stable, everything I need (including almost all heavy sites work fine); in the south of Spain I get enough to load heavy sites and Skype, download torrents, watch Netflix per device connection. In Cambodia I could do all that in the rainforest, away from everything, for a fraction of the price, with 4 devices tethered. I was impressed. The connection here in Hong Kong I'm on now is worse than that, and that's in the middle of the city.

But yes, developers (including) me not accounting for slow connections is a pet peeve of mine. As I often do it myself, I do understand the issue; it is client constraints, time/money constraints and audience. But it does annoy me when often used sites (notably airline sites and banking sites) are top heavy and their apps time out because yes I do have a bad connection often.

Re: The web sucks if you have a slow connection

#422

Earlier quoted context omitted.

The apex domain can only use A records, i.e. point directly to an IP address. It can have multiple A records, ebay.com does so: host ebay.com ebay.com has address 66.135.216.190 ebay.com has address 66.211.162.12 ebay.com has address 66.211.181.123 ebay.com has address 66.211.185.25 ebay.com has address 66.211.160.86 ebay.com has address 66.135.209.52 Without a CNAME (alias) record, eBay need to control the DNS resol…

Ah, I was unaware that there could be multiple IPs on an A record, thanks for that. If I'm understanding this right though, the extra IPs would just be for redundancy and resilience and cannot be relied for geographic routing? In this case ebay.com redirects to www.ebay.com.

It's not that there are multiple IP's in the A record, it's that there are multiple A records, each with an IP address.

For geographic routing, there is a clever trick that can be utilized using a technology called Anycast. Anycast is basically a way of assigning the same IP address to multiple machines so requests to that IP address results in connecting with the one that's the closest to you, route wise.

Providers sometimes use Anycast DNS Name Servers and configure them to provide the different IP addresses depending on which name server people connect to.

So, if someone wants to determine the IP address of ebay, their DNS client connects to ns1.ebay.com and asks "hey, what's the IP addresses for the A records for ebay.com" and ns1.ebay.com replies with the list.

But ns1.ebay.com might be an Anycast DNS Name Server that's close to them and it provides the list of IP addresses closest to that name server. Someone on another continent might reach a name server with the same name and ip address, but it's a different machine in a different data center. It would provide a list of IP addresses on that continent.

I do something similar with one of my sites. I rent three VPS's from buyvm.net (who has Anycast setup) that have the same IP address and are located in Las Vegas, New Jersey, and Luxembourg. I pay less than $10 a month in total and run my DNS name servers there.

Clients that connect to the name server in Las Vegas get an IP pointing to a Digital Ocean load balancer in San Francisco proxying data from a few front-end VPS's.

Clients that connect to the name server in New Jersey get an IP pointing to an OVH Canada load balancer near Montreal.

Clients that connect to the name server in Luxembourg get an IP pointing to an OVH load balancer in the North of France.

The result is a responsive service that has amazingly low latency for the US and the EU. Gonna try to set up some infrastructure in Singapore soon to make things faster for Australia and Asia.

Re: The web sucks if you have a slow connection

#423

Earlier quoted context omitted.

Your kind of proving my point. If you add these things in, it's more work. If you make a plain html site, which is what these sites should be doing, then you aren't going to add that stuff in, which means less work.

I think you're forgetting content creators that aren't developers - although to be fair I don't see why you can't create an interface for the user that spits out / retroactively updates old pages/links/images. There is definitely a trade-off between ease-of-use and cost-of-use and I feel this gap is bridged by the content created by those who could not publish bare bones.

> I think you're forgetting content creators that aren't developers

I don't understand what you mean by that. Content creators don't need to be developers for us to use simple, reliable systems.

> There is definitely a trade-off between ease-of-use and cost-of-use and I feel this gap is bridged by the content created by those who could not publish bare bones.

Yes, but I personally find the "ease of use" to be worse on heavy, slow, bulky sites. If content is "easier to use", then why are people constantly angry at slow, non-responsive interfaces? I see and feel this all the time, yet it's somehow "easier to use"? I don't see people complain when sites are fast, responsive and simple. Everyone's top complaint is that their computer/phone is "soooo slooow". Why is this, when we have extremely fast computers?

Re: The web sucks if you have a slow connection

#424
post #85
post #51

Earlier quoted context omitted.

The web is becoming a platform delivery service for complex applications. No, it's not. Yes, there are MMORPGs that run in the browser using WebGL.[1] But very, very few pages use all that capability. Most web pages today would work just fine in HTML 3.1. And what is this thing with running over ten trackers on one page? [1] http://www.webglgames.com/

As soon as WebAssembly is stable and available I'm predicting we'll see a dramatic shift away HTML + JS as the target for most web apps . I don't mean blogs, I mean people who are trying to build websites that work like apps. Most webpages today that would work fine in HTML 3.1 aren't built as massive JS web apps. If they are, it may serve a purpose (better UI/UX for most of their users being a major one.)

We see gazillion of the web apps (and pages that are web apps but shouldn't be) because of those who are not willing to learn anything but JS. Good luck dragging them to C/C++.

Re: The web sucks if you have a slow connection

#425

Earlier quoted context omitted.

This seems like the thing that we'd want cooperation with the browser vendors rather than everyone hacking together some JS to make it happen. If browsers could expose the available bandwidth as a media query, it would be trivial to have different resources for different connections. This would also handle the situation where the available bandwidth isn't indicative of whether the user wants the high-bandwidth experi…

>If browsers could expose the available bandwidth I don't know why this seems like such an imposition, but I think I'd be uncomfortable with my browser exposing information about my actual network if it didn't have to. I have a feeling way more people would be using this to track me than to considerately send me less data. That said, browser buy-in could be a huge help, if only to add a low-tech button saying, "reque…

I think if someone wants to track you, the bandwidth is not the first thing they'll be looking at.

It's just another signal, but there's already a few tens of them, so adding one more is not going to make a significant difference.

Re: The web sucks if you have a slow connection

#426

Earlier quoted context omitted.

Appears to be mostly lack of image optimization (and he loves gifs). A common issue with blogs.

Images are meticulously optimized, problem is, retina is expensive in file size.

Seems that images such as the superman image [0] or pinball image [1] currently on the front page are much much larger than they should be -- body max-width is 700 (70% of 1000px). Even for retina that's overkill. If you want to get really fancy you could restrict all (served) image widths to under 700px and make a 1400px @2x version to use in a srcset.

[0] https://blog.codinghorror.com/content/images/2017/01/help-ke...

[1] https://blog.codinghorror.com/content/images/2016/11/pro-pin...

Re: The web sucks if you have a slow connection

#427
post #388

Earlier quoted context omitted.

Most users on fast connections are not going to enjoy explicitly clicking to download every background image, font, etc. For videos it might make more sense, but there are many more optional assets to deal with.

Background images and fonts are examples of things probably not needed at all. I already have fonts on my computer, I don't need yours.

I have to agree with the original comment here:

> Every time a similar question is posed on HN, someone says "If the assets aren't needed, don't serve them in the first place", but this is i) unrealistic, and ii) ignores the fact that while the typical HN user may like sparsely designed, text-orientated pages with few images, this is not at all true of users in different demographics.

Re: The web sucks if you have a slow connection

#428
post #74

>When I was at Google, someone told me a story about a time that “they” completed a big optimization push only to find that measured page load times increased. When they dug into the data, they found that the reason load times had increased was that they got a lot more traffic from Africa after doing the optimizations. The team’s product went from being unusable for people with slow connections to usable, which cause…

I've tried using Google products from Africa (Ethiopia ... last time this January), and generally, it is right out unusable. JS-heavy apps like GMail will never load properly at all. This while the connection in itself is not THAT bad. I use to use a 3G/4G mobile connection and it generally works excellent, with pretty quick load times, for everything else than javascript-heavy web apps. I have a hard time understand…

In Ethiopia's case, it's not so much the connection speed in Addis. There's a great deal of interference from the national Deep Packet Inspection filters that leads to timed-out requests, reset TCP connections, etc.

JS-heavy apps make a lot of requests to background servers and should one of those requests fail, apps will hang. It's quite frustrating and I would often load pages with the console open to see which requests have failed so I'm not left wondering what happened.

Re: The web sucks if you have a slow connection

#429

Earlier quoted context omitted.

This seems like the thing that we'd want cooperation with the browser vendors rather than everyone hacking together some JS to make it happen. If browsers could expose the available bandwidth as a media query, it would be trivial to have different resources for different connections. This would also handle the situation where the available bandwidth isn't indicative of whether the user wants the high-bandwidth experi…

>If browsers could expose the available bandwidth I don't know why this seems like such an imposition, but I think I'd be uncomfortable with my browser exposing information about my actual network if it didn't have to. I have a feeling way more people would be using this to track me than to considerately send me less data. That said, browser buy-in could be a huge help, if only to add a low-tech button saying, "reque…

It doesn't have to be your actual bandwidth. The values could be (1) high quality/bandwidth, (2) low quality/bandwidth, (3) average. The browser can determine that automatically with an option to set it if you want to (e.g. for mobile connections).

That should solve most problems without giving away too much information. But an extra button would probably just confuse people.

Re: The web sucks if you have a slow connection

#430
post #400

Earlier quoted context omitted.

I've tried using Google products from Africa (Ethiopia ... last time this January), and generally, it is right out unusable. JS-heavy apps like GMail will never load properly at all. This while the connection in itself is not THAT bad. I use to use a 3G/4G mobile connection and it generally works excellent, with pretty quick load times, for everything else than javascript-heavy web apps. I have a hard time understand…

It's not only about connection speed but also about infrastructure. If you look at this map https://cloud.google.com/about/locations/ you'll see that your packets have a looong way to reach their data center. AWS is no better than Google on this point. Guess it's not bankable

That only adds about 200-300ms RTT I'd guess. I live in India and use many websites which are hosted in the US, and they work fine.
Post reply on HN