4 ms·
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 webs
by TimTheTinker 1y 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.
- andix 1y agoLatency 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).
- cosmic_cheese 1y agoIt 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.
- tomnipotent 1y agoAll 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.
- jaredklewis 1y agoI 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 1y agoCheck out how bloated is MS Teams web app, for instance.
- throw-the-towel 1y agoThis is not true. In practice SPAs break completely when some network request fails which happens a lot on bad connections.
- heisenbit 1y agoSadly 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 1y agoThat 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.
- wolpoli 1y agoHonest question: Where are the places with low-bandwidth internet? Are we talking about cruise ships and satellites internet use cases?
- TimTheTinker 1y agoThere 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.
- jcpst 1y agoAll over the world, including the United States.
- paradox460 1y agoAnyone 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 1y agoAlso, anyone traveling on a train or motor vehicle will just sometimes have worse reception, particularly with anything like a tunnel.
- luis_cho 1y agoThere 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 https://blog.chriszacharias.com/page-weight-matters
- tanduv 1y agoTBH 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_with_the_cell_receptionwifi_in_the_bay/ https://www.reddit.com/r/bayarea/comments/1cqhr4i/what_is_up...
- andersmurphy 1y agoI 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 https://checkboxes.andersmurphy.com