Delving the depths of computing,
hoping not to get eaten by a wumpus

By Timm Murray <tmurray@wumpus-cave.net>

A Solarpunk Internet: How Much Bandwidth?

2024-05-12


If we were to build a Solarpunk Internet, what would that look like? What kind of bandwidth can we expect, and what can we do with that? If we need to degrowth the Internet in order to build it back better, what kind of bandwidth do we need?

I’ve been slowly transforming this blog into one that is far simpler than it was before. No JavaScript, no cookies, and all static HTML. The current homepage size is under 200KiB, though that may fluctuate as pictures come on and off the various posts. This means the site would load on a 56Kbps modem in around 30 seconds. A 1Mbps connection would do it in less than 2 seconds.

Humans read at around 200-300 WPM, and the average English word is 4.7 characters. In ASCII, that means you read at a max of 11,280 baud. If we were using pure plaintext, 14.4Kbps is faster than you could read. Markdown doesn’t add much, so we could do some simple formatting and still have text scrolling by faster than you can read.

If you have HTML with some non-trivial CSS and a few graphics, a 1Mbps connection will do fine. The current web isn’t designed like that, of course, but a Solarpunk web could be. Start removing oversized JS packages, auto-play video ads, and pixel trackers, and suddenly the web looks just fine on tiny connections.

Real-time text messaging isn’t going to stress a 1Mbps connection. If we put pictures over the same protocol, then it depends on how it’s done. The camera on my Pixel 6 takes pictures around 2.5MiB for a compressed JPG at full resolution. On a 1Mbps connection, that would take about 20 seconds, which is OK but not great. We’d want to either jump to 10Mbps, or resize the resolution down, or find a better compressor than JPG (which does exist), or some combination of those.

Real-time gaming is a tricky one. We did plenty of it back in the 1990s on 56Kbps modems. As long as the phone company connections were good and you had a decent ISP, it worked OK. Games tend to be more sensitive to latency than bandwidth. Even today, their bandwidth requirements are modest:

https://www.whistleout.com.au/Broadband/Guides/how-much-data-do-I-need-for-online-gaming

The highest game on this list is Destiny 2 at 300MiB/hour. Averaged out, that’s less than 100Kbps. However, there’s probably some burstiness to that; the initial server connection will take more, and so will voice chat. Even so, 1Mbps will probably do fine for gaming provided latency is acceptable. Going to 10Mbps gives it a good buffer over the minimum.

If you thought you needed Comcast to give you a 1Gbps connection to game well, sorry, not how it works. Comcast might be giving you terrible quality of service, and they might crank that dial when you give them more money, but the bandwidth they’re promising right now is probably more than enough to play Helldivers 2.

Downloading games is a separate problem. Modern games are notorious for having heavy download sizes. Doesn’t necessarily have to be that way, though. A download of the entire SNES rom library, uncompressed, is about 11GiB. A 1Mbps connection would get through that in about a day, and then you have it forever. 10Mbps means it’s less than 3 hours.

Factorio (a 2D game) takes 345MiB to download. Satisfactory (a 3D game) is around 20GiB. Indie titles are OK for downloading on 10Mbps connections if you’re patient. 100Mbps is enough if you’re not.

Podcasts can get by on a 64kbps encoding rate because most podcasts are just spoken word, not music. If you want higher quality, they can go up to 128kbps. Either way, it’s not going to stress a 1Mbps connection.

Video is where the real bandwidth hogs come in. Take a look at the table here:

https://support.video.ibm.com/hc/en-us/articles/207852117-Internet-connection-and-recommended-encoding-settings

A 480p video comes in at less than 0.5Mbps, but nobody wants to watch that. 720p is fine for most smartphones, and you can do that at 10Mbps with no problem. 1080p still doesn’t break the 10Mbps mark, and even 4K at high encoding levels doesn’t break 100Mbps.

However, that’s what’s typical on the modern Internet. The original Blu-Ray disc standard had a maximum read speed of 36Mbps to support 1080p. Ultra HD Blu-Ray for 4k went up to 144Mbps. Streaming services don’t get close to that bitrate, and people seem to find their level of compression to be acceptable.

With variable bit rate encoding, discs may not even encode movies at max rate for the entire thing. Still, this is the one thing we have so far that breaks a 100Mbps connection limit.

If you don’t need to support real-time streaming of 4K videos at Ultra HD Blu-Ray compression levels, then 100Mbps is plenty, and even 10Mbps could be enough.

VR is where bandwidth potentially explodes. The resolution and framerate goes way up with a comparable increase in size. We can imagine some kind of future headset that streams live events with an almost holodeck level of immersion that will need a 1Gbps connection. Does your Solarpunk community want that?

Looking over all this, 1Mbps seems sufficient, and 10Mbps is nice to have. Much of the stuff that pushes it higher just seems unnecessary in a Solarpunk context. This has a lot of implications for building a Solarpunk Internet. Equipment doesn’t need to be sized for 1Gbps connections, and that means routers can be modest and use little power. Out-of-date stuff being thrown away by enterprise customers will handle this fine.

This only applies to the download side, though. Serving the content means having several streams of 1Mbps video (for example). Self-hosting that over a 10Mbps connection would mean only a few people can watch it at once in real-time. Some kind of way to share bandwidth amongst several hosts, such as with BitTorrent, would be very helpful.



Copyright © 2024 Timm Murray
CC BY-NC

Email: tmurray@wumpus-cave.net

Opinions expressed are solely my own and do not express the views or opinions of my employer.