Remix.run Logo
TimTheTinker 4 days ago

Low-bandwidth/spotty connections (combined with aggressive caching) are one of the strongest cases in favor of SPAs (emphasis on the A for Application, not website). Visit (and cache) the entire frontend for the app when you have a good-enough connection, then further use of the app can proceed with minimal bandwidth usage.

cosmic_cheese 4 days ago | parent | next [-]

It really depends. There’s a lot of SPAs which are practically unusable on a bad connection simply because it’s a challenge to even get the whole thing loaded in the first place. There’s been several occasions where I’ve had poor cell connectivity and a huge chunk of the web was effectively off limits due to this.

So in addition to aggressive caching, I’d say keeping the app’s file size down is also pretty important to making it useful on poor connections. That’s frequently something that’s barely optimized at all, unfortunately.

jaredklewis 4 days ago | parent | next [-]

I work on an SPA with hundreds of screens. We package it using off the shelf tooling with barely any configuration. All of the code and styling is still far under a megabyte gzipped.

So unless it is an all text app, the size of the code bundle is probably going to be quickly dwarfed by the size of media like images, animated images, or videos.

If a site has an SPA with a, say, 3mb code bundle, I think in most cases, that’s not an architecture issue. It’s probably an issue of poor engineering and switching to a MPA is not suddenly going to make those engineers competent.

niutech 4 days ago | parent [-]

Check out how bloated is MS Teams web app, for instance.

tomnipotent 4 days ago | parent | prev [-]

All three comments to this thread have missed the point that OP said installable SPA, not website SPA. This means the primary bundle is downloaded offline and only API network requests are necessary.

throw-the-towel 4 days ago | parent | prev | next [-]

This is not true. In practice SPAs break completely when some network request fails which happens a lot on bad connections.

heisenbit 4 days ago | parent [-]

Sadly the art of error handling is often neglected by some SPA developers. I suspect that failures on the client are also less tracked this is tolerated by businesses.

renegade-otter 4 days ago | parent [-]

That has nothing to do with them being "SPA developers". They are just bad developers, lazy, or inexperienced.

Errors/messages/warnings is one of the first things I do in an app framework, since it's incredibly hard to "bolt that on" later.

andersmurphy 3 days ago | parent | prev | next [-]

I think with brotli over SSE you can do just fine with 3G and bad networks without needing to be a SPA. Keeping almost all state on the sever make realtime collaborative apps much simpler than data sync you need with SPA. This demo has zero client side state and handles concurrent interactions over a billion data points [1].

- [1] https://checkboxes.andersmurphy.com

andix 4 days ago | parent | prev | next [-]

Latency might even be more relevant than bandwidth. Especially if it's a good SPA, that uses optimistic updates (or sync), and some kind of caching for fetching data (tanstack query or similar).

wolpoli 4 days ago | parent | prev [-]

Honest question: Where are the places with low-bandwidth internet? Are we talking about cruise ships and satellites internet use cases?

paradox460 4 days ago | parent | next [-]

Anyone attending a major event, or in a disaster zone. Things are getting better, but if you live near a ball park or something, there will be periodic times when your cellular Internet is unusable

bobthepanda 4 days ago | parent [-]

Also, anyone traveling on a train or motor vehicle will just sometimes have worse reception, particularly with anything like a tunnel.

tanduv 4 days ago | parent | prev | next [-]

TBH even in the SF Bay Area "tech capital of the world" you'll find areas with spotty reception.

https://www.reddit.com/r/bayarea/comments/1cqhr4i/what_is_up...

PaulHoule 4 days ago | parent | next [-]

Crazy hills will do wireless in anywhere. In a rural area I am maybe a mile from the tower as the neutrino flies but a photon can’t make it. I have a bar of 5G in the pasture in front of the house but in the house it promises a bar of LTE but whether I can get out a text (w/o WiFi) depends on atmospheric conditions.

Out in Cali they have ring of fire conditions.

Too much crowding can do it too. A decade ago I was going to Cali a lot and thought it was funny to see so many ads for geospatial apps on TV that always showed a map of San Francisco when for me SF was where GIS went to die. Taking my Garmin handheld to the roof of the Moscone center because it was the only place it could get a clear view of the sky to sync up with GPS, so many twisty little streets that routing algorithms would struggle…. Being guided around to closed restaurant after closed restaurant and walking past 10+ open ones because a co-worker was using Yelp, etc.

leptons 4 days ago | parent | prev [-]

Back around 2001 I visited South Carolina, and it was like being transported to the future of mobile internet. They had some kind of high-bandwidth cellular setup in the area that was far ahead of the rest of the country at the time, I think I recall it being around 20Mbit wireless. I was told the area was a testing ground for new tech. I was kind of shocked that somewhere that seemed so stuck in the past had such cutting edge tech deployed. I thought why is this not in SF??

maccard 4 days ago | parent | prev | next [-]

I live in the middle of a major UK city, which is one of the most visited tourist destinations in the UK (if not the world). There are massive gaps of mobile coverage in the city - 5G is spotty at best, and it regularly falls back to much older protocols in the city. There are dead zones where you can literally walk 6 ft and drop to 0 coverage, and walk another 6ft and be on full blown 5G. Apps and sites like uber, twitter, Reddit, instagram all handle these awfully.

TimTheTinker 4 days ago | parent | prev | next [-]

There are folks who work with US-based nonprofits, NGOs, and agencies who live all over the world, including regions where local internet access is either non-existent or very slow. Some US-based organizations they work with have had to set up low-bandwidth methods of communicating. Yes - sometimes geosynchronous satellites are the only connectivity available.

al_borland 4 days ago | parent | prev | next [-]

Often times my house. I live in one of the 20 largest metro areas in the US. There is a cellular dead spot around my house, seemingly from AT&T and Verizon. Phones work, but barely. Pages with high data demands become a problem.

jcpst 4 days ago | parent | prev | next [-]

All over the world, including the United States.

goodpoint 4 days ago | parent | prev | next [-]

3 billions people live in places with low-bandwidth / unreliable / expensive internet

luis_cho 4 days ago | parent | prev | next [-]

There is this post about a experiment on google where they reduced the page weight and the traffic went up instead of down. That was because it open the site to countries with low internet bandwidth https://blog.chriszacharias.com/page-weight-matters

tcfhgj 4 days ago | parent | prev [-]

Everywhere, my provider limits me to 32 kbit/s