Making Your Connection Bad

(5snb.club)

60 points | by mooreds 6 hours ago ago

14 comments

  • exmadscientist 3 hours ago

    > and a complete 15-second connectivity dropout every few minutes?

    > I can’t seem to emulate the connection dropout, but the 10% packet loss should be harsh enough. ... Still, it’s Bad Enough.)

    The total dropout is surprisingly bad, probably because it kills a lot of "are we alive?" checks... then when things come back, they all hammer the crappy link and everything just dies in a way that all too often doesn't recover.

    Seriously, more developers need to eat their own dogfood on the subway, or in the back of a grocery store that's surprisingly well RF-shielded, or in a modern steel-reinforced-concrete building but without WiFi (so you're on cellular data which can't quite make it through the building skin), or....

    • bigfatkitten 3 hours ago

      Or on Inmarsat BGAN, where data costs $6/MB (yes, six dollars per megabyte).

  • nicbou 41 minutes ago

    I often experience this sort of connection in Germany, either because of our outdated infrastructure or because my data plan ran out and I’m on the almost-no-internet speed.

    I test for these things. Developer Tools lets you see how your website performs on such connections, and how long it takes to get a usable page.

  • kinow 3 hours ago

    Sounds useful for some tests that I have to do this week for a bug at $work. And looks like `tc` works with Docker too, to avoid messing with my local wnv, e.g. https://medium.com/@kazushi/simulate-high-latency-network-us...

  • moepstar 2 hours ago

    On macOS, there is (was?) "Network Link Conditioner", used to be part of XCode.

    • frizlab 17 minutes ago

      It’s Xcode (lowercase c) and it still exists. It’s a part of the “Additional Tools for Xcode.”

      It’s also builtin on iOS when the developer mode is active.

      • luismedel 9 minutes ago

        You put the most interesting part of your comment the last.

        BTW, it's "Additional Tools for Xcode", without the final dot (sorry I couldn't resist) :-)

  • Uptrenda 4 hours ago

    This reminds my of 'chaos engineering' and the approach that Shopify took with 'Toxiproxy.' Toxyproxy is this elegant system that provides a REST API for spawn proxy servers. The proxy instances can have 'toxics' added to them that change the connections properties. E.g. you can add latency, packet drops, even experiment with slicing up packets. It allows for something like writing deterministic tests that test whether your software works under many different network conditions. I think its honestly a really smart design.

  • KennyBlanken 3 hours ago

    Not only should developers design for slow internet, they should design for no internet. Shockingly, many parts of the US don't have solid cell phone coverage. Even more cell phone towers have broken uplinks or broken configurations; your phone connects to the cell, but no data flows. Cells get overloaded - at fun things like sports events and concerts. They also get overloaded at very not-fun events like natural disasters where everyone is standing around the (very overloaded) Cell On Wheels tower, trying to get a message out to their loved ones that they're OK or need help, or trying to reach their insurance company, or access a government website to get info about disaster relief, etc.

    It's infuriating how many smartphone apps will show you a screen full of the information you need while online, and then when they lose internet connectivity due to a dead spot in cell coverage, yank it away leaving you staring at a blank screen with a spinning progress indicator.

    It's also infuriating how so many apps are completely, totally non-functional if they don't have internet, if only because they're not actually a native smartphone app, but a website being run in gussied up web browser instance.

    • ozim 18 minutes ago

      Government and public services have to design for it yes. Not sure if WCAG covers it but seems not.

      Private companies issue is that people with slow internet or no internet are not customers for them. It costs loads of money to implement decent offline experience for a web app and there is no one to pay for it.

    • Scoundreller 2 hours ago

      Even modern desktop and mobile browsers are bad at this.

      Me: I’m on a plane (with no data), good opportunity to go through all my open tabs of articles I haven’t read yet.

      Browser: great time to try refreshing the page!

      • flymaipie 26 minutes ago

        I remember in the 00s Firefox or Opera had an nice feature to load pages exclusively from cache. I used this feature a lot to check all pages I had surfed through when my parents blocked the internet access to encourage me to get back in reality. Ohh sweet times..

      • iforgotpassword an hour ago

        Yeah like WTF. It's even teasing you by momentarily showing the already rendered page but then goes "hey wait let me try to reload the page just for shits and giggles" only to show you that "hey can't reach the server, are you offline?" a second later.