Engineering For Slow Internet Even When Not Stuck In Antarctica

With the days of dial-up and pitiful 2G data connections long behind most of us, it would seem tempting to stop caring about how much data an end-user is expected to suck down that big and wide broadband tube. This is a problem if your respective tube happens to be a thin straw and you’re located in a base somewhere in the Antarctic. Take it from [Paul Coldren], who was stationed at a number of Antarctic research stations as an IT specialist for a total of 14.5 months starting in August of 2022.

Prepare for hours of pain and retrying downloads. (Credit: Paul Coldren]
Prepare for hours of pain and retrying downloads. (Credit: Paul Coldren]

As [Paul] describes, the main access to the Internet at these bases is via satellite internet, which effectively are just relay stations. With over a thousand people at a station like McMurdo at certain parts of the season, internet bandwidth is a precious commodity and latency is understandably high.

This low bandwidth scenario led to highly aggravating scenarios, such as when a web app would time out on [Paul] while downloading a 20 MB JavaScript file, simply because things were going too slow. Upon timing out, it would wipe the cache, redirect to an error page and have [Paul] retry and retry to try to squeeze within the timeout window. Instead of just letting the download complete in ~15 minutes, it would take nearly half an hour this way, just so that [Paul] could send a few kB worth of text in a messaging app.

In addition to these artificial timeouts – despite continuing download progress – there’s also the issue of self-updating apps, with a downloader that does not allow you to schedule, pause, resume or do anything else that’d make downloading that massive update somewhat feasible. Another thing here is distributed downloads, such as when hundreds of people at said Antarctic station are all trying to update MacOS simultaneously. Here [Paul] ended up just – painfully and slowly – downloading the entire 12 GB MacOS ISO to distribute it across the station, but a Mac might still try to download a few GB of updates regardless.

Updating Office for Mac at the South Pole made easy courtesy of Microsoft. (Credit: Paul Coldren)
Updating Office for Mac at the South Pole made easy courtesy of Microsoft. (Credit: Paul Coldren)

This level of pain continued with smartphone updates, which do not generally allow one to update the phone’s OS from a local image, and in order to make a phone resume an update image download, [Paul] had to turn the phone off when internet connectivity dropped out – due to satellites going out of alignment – and turn it back on when connectivity was restored the next day.

Somewhat surprisingly, the Microsoft Office for Mac updater was an example of how to do it at least somewhat right; with the ability to pause and cancel, see the progress of the download and resumption of interrupted downloads without any fuss. Other than not having access to the underlying update file for download and distribution by e.g. Sneakernet, this was a pleasant experience alongside the many examples of modern-day hardware and software that just gave up and failed at the sight of internet speeds measured in kB/s.

Although [Paul] isn’t advocating that every developer should optimize their application and updater for the poor saps stuck on the equivalent of ISDN at a remote station or in a tub floating somewhere in the Earth’s oceans, he does insist that it would be nice if you could do something like send a brief text message via a messaging app without having to fight timeouts and other highly aggravating ‘features’.

Since [Paul] returned from his last deployment to the Antarctic in 2024 it appears that at least some of the stations have been upgraded to Starlink satellite internet, but this should not be taken as an excuse to not take his plea seriously.

2 thoughts on “Engineering For Slow Internet Even When Not Stuck In Antarctica

  1. Very nice, I love seeing optimisation (and accounts of frustration) related to low bandwidth internet connections. To salt the wound, this is also high latency! Low bandwidth but low latency connections are surprisingly usable, or at the very least not as infuriating to use.
    I had to use a dialup network in the early 2010s for a few months due to some living circumstances. It taught me a lot (although the internet wasn’t littered with large JavaScript desktop apps yet). Browsing was only possible by blocking all javascript and images on webpages by default.

    If anyone can get me onto a flight to Antarctica, I will be forever grateful! Its the only place in the entire world that I wish to visit as a tourist!

  2. I agree. Why should a simple webpage be so huge. I loved when I had ISDN in the 90s when everyone else had dial up. When I used to write web pages I would target dialup for the simple reason. We didn’t want our customers to have to wait if they just had dial up.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.