1. Cross Platform: We should support Windows platform, Unix-like systems (such as Solaris, RH Linux and etc) and Macintosh. By using Java, we achieve this goal.
2. Multi-threaded Downloader.
1)GUI interface for the multi-threaded downloader. Show the users the latest information for the downloading process by status bar control and some customized gui widgets.
2)Support for start / stop / restart capabilities for the tasks.
3)Support for download speed constraints.
4)Support for Http and Ftp protocol at the first round. Support for MMS and other stream protocols in the future release.
5)Add the capability for batch downloading. For example, we should support for adding the download tasks for file01.rar, file02.rar, ... in a single operation.
6)Supply command line interface
3. Support proxies capabilities
1)Support for Http proxy (with authentication), socks4 proxy and socks5 proxy.
2)Support for multi-threaded downloading by multiple threads. This function will remove some server IP constraints for the http/ftp servers.
4. Support for P2P functionalities (in the future)
Http/Ftp protocols are legency protocols and the servers will suffer great performance issues when hundreds of clients try to download objects in the same time. And it is the right time for P2P. By an intermidiate server to cordinate the clients, quickget client can know which peer has the parts it desired and get those parts from the peers instead the webserver. It will greatly help the distribution of big softwares. |