Given the ubiquity of high-speed Internet, it’s easy sometimes to forget that anything Web-related used to proceed at a crawl. In a widely circulated posting on Medium, developer Gabor Lenard describes how being stuck with “painfully slow Internet” for a lengthy period of time (thanks to having used up a prepaid data card while on a trip to Hungary) taught him a handful of things about Web development.
Having tried (and failed) to load a number of modern websites via a 32kbps connection, Lenard now develops his software in extra-slow emulated mode. “It’s critical to test the sites I am making on a very slow network from the beginning. Chrome has an amazing feature for that,” he wrote. “I always keep this mode turned on for the site I am working on.”
Lenard also advocates more developer control when it comes to regulating Web-font loading; on slower connections, fonts can take forever to load up. (For anyone interested in doing this, he links to a paper about making Web fonts faster by Ilya Grigorik.)
Perhaps the biggest takeaway: Well-designed apps transcend even the worst connections. In Lenard’s definition, a superior app has baked in offline functionality (such as having user requests queue up for the server, once a connection is re-established). “When you make a native app, don’t settle for a mindless wrapper,” he wrote. “Cache content. Queue up outgoing data and actions without blocking the user. Handle conflicts.”
Developers building apps for international markets would do well to heed Lenard’s advice: Slower and spotty Internet connections in some countries mean that only the most lightweight apps will work as designed. But for anyone concerned that their apps are becoming too “heavy” and resource-intensive, his advice still applies.