How fast are the most widely deployed modems in the US? That depends on a lot of things. I don't even know for sure that they are the most widely deployed modems. Perhaps there is still a large contingent of people out there on older hardware, or loyal to the 33.6 standard.
One thing I do know is that KiloBits are different than KiloBytes. Modems have speed ratings of Kilobits Per Second. Sizes of files on your server are most commonly reported in Kilobytes. A Kilobit is 1000 bits. A Kilobyte is 1024 bytes. There are 8 bits in a byte. Using a little bit of algebra, a 56K modem is capable of transferring data at a speed of roughly 6.835 kilobytes a second.
Keep in mind also that a transfer speed of 6.835 kilobytes a second is under optimal conditions which are rarely present - it would require clean wiring at the home of the end user (not a frequent occurence), no interference from in home appliances (interference is common), a digital signal by the ISP (actually more and more common these days), and digital support by the phone company (common in urban areas, less common in rural areas). Also, keep in mind that even under optimal conditions, network traffic can cause errors and congestion which would also slow down the effective speed of the modem.
So what is a realistic figure? A quick bit of googling provides me with a figure of 40kbps on average as a realistic figure to work with. This isn't a scientific figure, just taking a relatively lowball number amongst several surveys that I found. I decided to hit the lower end of the spectrum because it is more and more common for people to have installed additional software on their computers that eats up bandwidth - whether it's for licensing tests, automatically downloading software updates, or something like the Google Toolbar.
40kbps equates to download speeds of 4.88 Kilobytes per second. Let's reduce that figure by 2% to account for re-transmission of errant packets. Again, no science, but I think it's a reasonable number. So now we are down to 4.78k/s. When downloading any given web page, you are likely to require 4 files - the HTML file, the javascript file, the CSS file, and an image. Let's also factor in a tcp and traffic negotiation overhead of 8%. This particular number is completely arbitrary, but in my mind it's pretty secure. That gets us all the way down to 4.392kb/s.
What does this tell you?
A web surfer wants to see information as quickly as possible. They don't want to spend time waiting for things to load. I like to look at things from the following usability rule: A page should display data within 4 seconds. The page should have layout at 8 seconds. The page should be completely loaded within 15 seconds. These aren't hard and fast rules, but it lays out the following file size limitations:
HTML file - 4 seconds - 4*4.392 = 17.5k
CSS 4 seconds - 17.5K
Javascrit/images 4 seconds - 17.5k
Now -if you are using caching mechanisms, you get a little more leeway because consecutive page loads will be much faster than the initial page load, but what is most important? Initial visit or overall experience? 17.5k * 3 is 52.5k - you can do a lot with that amount of data. Throwing in an extra 100k because of something like scriptaculous is problematic, but I've successfully squeezed that down to roughly 17.5K or 4 seconds on a dialup modem versus 110K or 25 seconds. Just using that as an example, it shows how paying attention to caching and file sizes can dramatically increase the user experience that you are delivering.
How Fast is 56K Interaction
