If you are uploading something like Zend Framework using poor internet conneciton it may be problematic.
I think the compression of the catalog is the best solution. But what compression system is the best for this task ? We are using PHP, of course.
I have some ideas like PHP + exec + unrar and http://www.php.net/manual/en/refs.compression.php but they are all not flexible enough and are not accessible in many hostings.