Web Design V: Size Matters
Sep. 5th, 2009 11:05 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
In our last installment, we noted that the response time of a page - how long before the visitor could start reading it - was important. You don't want to lose your visitors because they get bored waiting for the page to display.
Another technique that can improve response is to manage the size of your pages - large pages take longer to load.
Research has been done that indicates that people start to lose patience if there's no visible response within three (3) seconds; once a response starts, it must be useful within about ten (10) seconds, and complete within thirty (30).
Today, modem connection speeds in the United States so-called "First World" countries are largely 33.6 kbps 5 to 10 Mbps for cable, 1 to 5 Mbps for DSL, with 56 kbps becoming more widespread higher speeds expected to be deployed in the not-too-distant-future. However, there are still quite a number of 28.8 kbps modems out there. There are still people on dial-up, but even in those countries where state-owned telephone systems and high expense are the rule, it's not unreasonable to expect a dial-up connection to be at 50 kbps or so, even in the so-called "developing countries".
Overseas, the picture isn't quite so rosy. In many countries, state-owned telephone systems are the rule, and modems may be restricted in speed or significantly more expensive than in the US. 14.4 kbps and 9600 bps are still common speeds, especially in the so-called "developing" countries.
My recommendation: Tune your pages for about 20 100 kbps in a perfect Web. In other words, assume that the Web responds instantly, and that visitor's browsers can receive the data at 20 100 kbps. That's 2 10 kbytes per second. That means that the browser should be able to start to display the page after receiving no more than 6 30 kbytes of page material, it should be useful within 20 100 kbytes, and complete within 60 300 kbytes. That includes all text, pictures, tags, stylesheets, and so on. That should account nicely for delays in looking up IP addresses, establishing sessions, normal network congestion, and so on. Some people will see worse response; others will get better response. You can't please everyone; shoot for a happy medium based on your expected audience. Those numbers assume a generic audience, from anywhere in the world. If your pages are only of interest to people in your home town, and you know that everyone in your home town has a 56kbps modem 10 Mbps cable connections, and use the same ISP, you can sensibly design your pages around that fact - which will give you more bytes to play with. You could design general interest pages with 35 kbps 9600 bps in mind, to give acceptable response to virtually the whole world, but that will leave you with lots of teeny-tiny pages that will be an absolute bear to manage, and will lead to a lot of unnecessary clicking on links that amount to nothing more than "continued on next page". That causes even more of a performance hit than having 'oversized' pages does; it takes more interaction between the browser and the server to request a new page than it does to get the next piece of the current page. If you can get the initial response within the limits discussed here, you'll be in good shape, even if it takes more time to download the rest of the page.