Okay, to be fair, Internet speeds in Cuba are 140 kilobits per second (Kbps), which is, technically, faster than the typical dial-up speed of 56 kilobits per second. For context, Cuba’s only connection to the global Internet is a shared 379 megabits-per-second fiber line. So the entire country is essentially sharing just a third of a single Google Fiber connection.
The average weight of Web sites has gradually increased as our Internet speeds have increased. In 2014, the average page weight increased by 15%, from 1,701 to 1,953 kilobytes. Thus, it would take 10 to 15 seconds to load the average Web page in Cuba—again, not quite dial-up speed. Globally, users start to squirm at around the three-second mark. And let’s not forget that the mobile networks available around Cuba today are mostly 2G.
JavaScript-Heavy Web Applications
Some of the tools whose daily use I take for granted in the US became a chore to use on Cuban networks. For example, I hadn’t realized just how much JavaScript Facebook deploys until I tried posting my first update. Facebook uses JavaScript to provide all kinds of cool features—for example, recognizing the names of people in posts, lazy-loading posts as we scroll, time-stamping posts, and instant notifications.
Unfortunately, such heavy, pervasive use of JavaScript meant that the computers I used in Cuba had trouble keeping up, so simply typing anything into the update text box would freeze the entire computer. As a workaround, I typed my update into the URL bar, then pasted it into the update text box, which let me bypass some of the JavaScript running on the page. I won’t even get into my inability to load images in posts on my newsfeed.
Thankfully, Facebook recently began work on an internal initiative dubbed 2G Tuesdays to raise awareness of its products in countries that have lower Internet speeds, such as India. As a test, they asked employees to voluntarily use Facebook and Facebook apps such as Messenger at 50 kilobits per second. That’s a speed that would make anyone impatient—one at which it could take two minutes to load an average Web page.
As a consequence of this testing, Facebook engineers have subsequently made remarkable improvements to accommodate the millions of Facebook users on slow Internet connections, who have previously suffered through a poor user experience. For example, they have developed a system that lets the site detect a user’s connection speed. Once the site has determined that a user’s connection speed is slow, the content it loads favors status updates and links rather than videos and photos. Plus, the site prioritizes loading content at which the user is currently looking rather than lazy loading content further down the page.
Contrast this to Gmail, which was totally on point with its user experience. Gmail’s basic HTML view was a lifesaver, letting me quickly read and write email messages with no fuss. Gmail isn’t nearly as media heavy as Facebook. I can imagine the time it would have taken to load so many images—including background images, avatars, and icons—every time I read an email message, then returned to my inbox. Just the load times would have eaten through my entire 30-minute time card!