[Kget] comments on my application

kumar Abhishek kr.abhish at gmail.com
Sun Mar 29 13:17:07 CEST 2009


Following is my application, I would welcome your valuable comments and
suggestions:
Thanking you.


  *Kumar Abhishek**kr.abhish at gmail.com**irc:kumarabhi_*
*National Institute of Technology **Trichy,Tamil Nadu, India*Download
this file in pdf format
<http://sites.google.com/site/ic10503/Home/kget.pdf>

*Google Summer of Code 2009*

*Multiple Improvements to KGet*



 *Motivation for Proposal / Goal:*

*There are a lot of nice download managers available for windows platform
but very few for linux platform and those available for linux platform lack
a lot of important features . One of the very useful download managers for
KDE is KGet. The aim of the project is to make KGet easier to use and
increase its functionalities so as to bring it at par with other download
managers.*



 *Implementation Details:*

*Right Click Context Menu Extension:*

Currently the right click context menu needs to be extended so that it has
the following options:

   -

   Change Filename: The filename of the final downloaded file could be
   changed using this.
   -

   Change Destination Directory: This will change the current destination
   directory to a new one as specified by the user.
   -

   Change URL: The URL from which the download is currently taking place
   will be changed to the new one. The download will resume from the portion
   which has not been downloaded yet.
   -

   Download All feature: Adding all downloads linked to the current page to
   KGet. It will be easy to download multiple files with this feature. The user
   can choose to download the whole website with all its content on current
   page, or special files, like mp3, mpg, jpg, zip, xls etc. This feature will
   not support recursive downloads.



 *Batch Download Feature:*

It will be possible to add a group of sequential file names like img001.jpg,
img002.jpg,..,img100.jpg to the KGet download queue. The astrisk wildcard
will be used for the file name pattern. For example :
http://www.googglee.com/pictures/img*.jpg

There will be option to specify the wildcard length and to replace astrisk
to number or letter(from a to z).



 *GUI to create Metalinks:*

This will provide a gui dialogue box to create Metalinks from already
downloaded files , or from other local files located on disk. This will
include MD5 and PGP checksum integration.

Some of the project deliverables can be found at
http://ic10503.wordpress.com/



 *Nepomuk Integration:*

It will allow passing the metadata about downloaded files to Nepomuk
semantic desktop. As mentioned on the mailing list for kget, its mostly done
but crashes currently. So this project will aim at fixing this.



 *Multisource Downloading or Segmented Downloading:*

It will provide a more efficient way of downloading files from many
sources(all the links containg that souces have to be provided and sources
may be HTTP or FTP or BitTorrent) at once. It will connect to one source and
begin downloading the desired file, then use the another link for the same
file and begin downloading that file as well. The program controls downloads
so that each source file provides separate data and the user does not
download the same part of the file twice. The program then builds the file
on the downloader's computer much faster than it would if it had to wait for
the entire file to be downloaded from a single source.

This works faster because the rate at which the file servers upload is
finite and download rates are generally faster than upload rates. Therefore,
downloading from a single server would create a bottleneck if the server's
upload rate does not equal our maximum download rate. So distributing the
download across multiple servers allows us to utilize all of our download
rate potential.

As mentioned on the mailing list, the Transfer plugin is already implemented
and the DataSouceFactory Class is already half done, so this project will
aim at full implementation of the DataSouceFactory Class and make it working
so that the Multisource Downloading Feature works properly in KGet.



 *Verification of digital signatures:*

This will involve the integration of Kgpg into KGet which will let the users
easily create cryptographic keys, and write, encrypt, decrypt, sign, or
verify files. One can make public or private keys, and can export/import
keys. A user can sign the keys, and set an expiration date.



 *Repairing downloads using Metalinks:*

This feature will add support for repairing downloads via Metalinks with
chunk checksums. If there are errors in the download, they will be repaired,
instead of restarting the whole download again.



 *KGet as Offline Website Copier:*

It feature will enable KGet to download a World Wide Web site from the
Internet to a local directory, building recursively all directories, getting
HTML, images, and other files from the server to the computer. HTTrack
arranges the original site's relative link-structure. Finally one can open a
page of the "mirrored" website in the browser, and one can browse the site
from link to link, as if it is online. This feature may also be extended to
enable updation of an existing mirrored site, and resume interrupted
downloads(this updation feature may be implemented if other parts of the
project gets implemented well before time). This will try to make the
features as close as possible to HTTrack website copier.

*Download of FLV files:*

*A very important feature which is needed in KGet is to download and
save FLV video files from popular sites of YouTube, MySpaceTV and
Google Video. Once
KGet is integrated with firefox or Konqueror, this feature will enable
one to downlaod a video that is being playing from these sites and the
user would be able to save it
on his/her computer. *
*Tentative Timeline:*
*1**st** April to 20**th** May		:Familiarizing myself with KGet
codebase and specifications. **21**st** May to 15**th**
June		:Implementation of **Right Click Context Menu Extension, Batch
Download Feature and Nepomuk Integration.**16**th** June to 15**th**
July  		:Implementation of **GUI to create Metalinks, Multisource
Downloading,Verification of digital signatures,Repairing downloads
using Metalinks.*16th July to 25th July		:Implementing KGet as Offline
Website Copier and Download of FLV 	 files.26th July to 17*th**
August:    	:Writing Documentation. Bonus Time ! Fix bugs, write
random code, make mentor happy :)*
*Any other obligations from late May to early August (school, work,
etc.)?**:**I do not have any planned absences or any conflicts with
any vacations and I can fully commit myself to the project. **I will
write weekly reports to let my mentor know what's my current stage of
the project (mostly about things that I have done and difficulties I
have encountered).
Of course I'd like to stay in contact with developers and mentor using
IRC, emails and forum. *

*Bio:**I am a 23 year old bachelor of engineering student at National
Institute of Technology, Trichy, India. At the age of 10, I was
introduced to world of computers in my
school. I have always been a top scorer in all of my programming
courses. I have 3 years of experience in C, C++ (including Standard
Template Library(STL) ), HTML,
PHP and MySQL. I have a good working knowledge of Qt and Javascript
too. In my first year of college, I created a Discussion Forum using
PHP, MySQL and
Javascript.**	I am currently in my final(fourth) year in college and
have developed a deep interest in programming and open source world. I
got the opportunity to work on quad
core and octa core processors in my project in IIT Chennai, India
where I developed parallel versions of all-pair shortest path
algorithms and their implementations using
Intel's Threading Building Blocks library for multicore processors and
good speedups were obtained. Apart from that I developed a Patient
Monitoring System for
IBM-The Great Mind Challenge Competition(TGMC) wherein I developed a
web interface for monitoring and report generation using technologies
like JSP, Ajax &
IBM DB2. **	 Besides this I developed new routing protocols in
NS-2(Network Simulator) where programming in C++ and Tcl was involved.
I have also used different version
control systems like CVS/SVN.**	My next step is to get involved and
contribute to an open source project. I chose KGet because this is
what I use for downloads and this is where I would like to
see improvements. KGet is one of the  best download mangers I have
ever used and I love using it. I sincerely hope that my summer of code
project with KGet will lead
me to be a full time KDE developer. *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kget/attachments/20090329/722cc97b/attachment.htm 


More information about the Kget mailing list