[Kget] [GSoC] Multiple improvements in KGet

Lukas Appelhans l.appelhans at gmx.de
Mon Mar 30 15:05:16 CEST 2009


Hey!

Looks good to me except a few points...
1st: "-Nepomuk-Integration: It's mostly done, but crashes currently, need to 
fix it, 
yeah... although that shouldn't be a THAT big point for GSoC...
-File-Properties: Should go into the KGet-Transfer-Settings-Dialog imo... :)" 
was already mentioned in one of my last mails, but seems to not be fixed in 
your application... :)

-You mention MultiSourceDownloading in the basic description, but not in the 
implementation details  nor in the timeframe... ;)

Also: "* Add support to verify signatures using KGpg command line options ( as 
KGpg
does not seem to have a D-BUS interface. )"
Maybe create a DBus-Interface or think about some other integration-type with 
signatures... Sorry, have no clue about that currently, never used KGpg. :(

Lukas

On Montag 30 März 2009 04:22:11 you wrote:
> I have updated my proposal a bit, with the ideas I discussed on IRC and one
> more: * Plasma applet drop target
>  * Better tooltip in system tray
>  * Support for crash recovery.
>
> It can be found at
>
> http://socghop.appspot.com/student_proposal/show/google/gsoc2009/nsm/t12382
>4229086
>
> and
>
> http://kodeclutz.blogspot.com/2009/03/multiple-improvements-in-kget.html
>
> and also attached inline at the end
>
> Looking forward to your feedback
>
>  Nikhil
>
>
> --8<------APPLICATION START-------8<----
>
> Abstract
> ========
> KGet is a versatile and user-friendly download manager for KDE.
> This project will add various features to KGet to improve its functionality
> and usability. These include semantic information via Nepomuk, support for
> digital signatures, better Metalink integration and good Plasma support.
>
> Personal details
> ================
>
> Name: Nikhil Marathe
>
> Email Address: nsm.nikhil at gmail.com
>
> Freenode IRC Nick: nsm
>
> Location (City, Country and/or Time Zone): Mumbai, India ( GMT + 5:30 )
>
>  
>
> Proposal Name
>  ==============
> Making downloading easier, safer, better - multiple improvements to Kget
>
> Motivation for Proposal / Goal
> ==============================
> Kget is a very good download manager, with a crisp interface and nice
>  integration into KDE. At the same time there is always room for
> improvements. These include quick renaming of partial downloads, support
> for verification of downloaded files and ability to download from multiple
> sources. I will attempt to add these improvements.
>
> Goals
> -----
> As specified in the proposal:
>  * Add support for a context menu to alter download properties.
>  * Allow manual addition of URLs to multithreaded downloads.
>   * Integration of downloads from multiple sources - Bittorrent/HTTP/FTP.
>  * Integrate KGpg to verify digital signatures.
>  * Integrate Nepomuk support if available.
>  * Metalink creation support.
>  * Support to download an MD5SUMS file from servers if available and verify
>  downloads. Manual intervention possible if the MD5SUMS is not found.
>  * In case of a Metalink, attempt to verify PGP checksums using KGpg.
>
> In addition I have the following features I would like to implement:
>   * Add Plasma applet drop target which can be added to panel - KGet's 
> current drop target tends to cover up screen content. Tucking it away in
> the panel seems a good workaround.
>  * Allow KGet to display transfer details in the system tray tooltip - this
>  feature ( seen in ktorrent ) is very useful.
>  * Allow KGet to restart on crashes - it is very annoying to find that the
> download you left on and went for lunch didn't finish because KGet crashed
> and didn't restart. This should fix it.
>
> Apart from the motivation of improving KDE, I have a somewhat selfish
> motivation for improving KGet since it seems to be the only download
> manager that can resume partial files on my computer :)
>
> Implementation Details
>  ======================
>
> NOTE: Wherever UI changes are required, they will be made to the web
> interface too in case required.
>
> My current implementation plan includes:
>  * Modify KGet UI for context menu. This also involves adding the
> appropriate HTML/Javascript/CSS to support the same through the web
> interface. * Add KIO operations for moving/copying files when download
> location is changed to the KGet core.
>  * Add support to verify signatures using KGpg command line options ( as
> KGpg does not seem to have a D-BUS interface. )
>   * Add dialog for creation of Metalinks from downloaded files, or local
> filesystem files, including automatic MD5 and PGP checksumming.
>  * Submit data to Nepomuk about download location, download server.
>  * Allow user to add tags/rating to download while it is going on.
>   * Discreet option to add multiple download links for non-Metalink
> downloads. * For MD5SUMS verification, attempt to guess multiple types of
> filenames ( MD5SUMS, md5sums.txt etc. ) or allow the user to enter link or
> checksum manually.
>  * Implement plasma drop target which should also have settings for the
> following -
>    Prompt for download by raising KGet window or just downloading to a
> default location and not breaking the user's workflow. * Provide a
> setEmergencySaveFunction and crashHandler so that we can attempt to rescue
> files from corruption and restart KGet when it crashes.
>
> Tentative Timeline
> ==================
>
> now - May 23rd : Understand relevant KGet code. Take a look at how to hook
> into Nepomuk. Plan the UI and backend design.
>
> May 23rd - June end: Attempt to implement the core functionality of manual
> URL insertion, renaming and moving, and integration of multiple download
> methods. Integrate KGpg and Nepomuk. Add Metalink PGP verification.
>  Write plasma drop target applet. Implement tooltip functionality.
>
> July : Implement Rating and Tagging support. Add configuration options.
> Implement MD5SUMS verification. Fix bugs, write documentation.
>
> August 1-10th: Fix remaining bugs, wrap loose ends, test test test.
>
> More personal details
> =====================
> Do you have other obligations from late May to early August (school, work,
> etc.)?:
>
> My 3rd semester begins in the last week of July, which means I'll have
>  a bit less time ( around 25 hours a week ) towards the last two weeks of
> coding. Therefore I will attempt to finish almost all
> of my proposal by the end of July.
>
> About Me
> ========
>
> I'm 18 years old.  I study in Gandhinagar, India. I'm pursuing
>  a B. Tech. in Information and Communication Technology at DA-IICT where
> I'm in the first year.
>
> I've been programming and using Linux for about 6 years now. I'm fascinated
> by all the areas of computing, including compilers, operating systems,
> graphics and web design+development. Python is the coolest language for me,
> although C/++ comes pretty close. I have significant experience in Qt (
> including the new MVC architecture ) - having developed a local network
> instant messaging client using it. I am also familiar with the HTTP and FTP
> protocols and have used PGP encryption/signing to some extent. In addition
> I have a decent web development experience, including Ajax and JS effects,
> which are required for the KGet web interface.
>
> A complete list of my projects can be found at
> http://22bits.exofire.net/browse/code
>
> KDE has been a really great piece of software for me ever since I first
> used version 3.2. I've always been a fan of its configurability and the
> momentum and innovation in the KDE community, and KDE 4 totally took it to
> the next level. It has been a kind of
> dream to work on KDE someday. Unfortunately I could never participate in
> GSoC due to age restrictions. I also didn't have the experience to enter
> such a huge project until last year, but now I'm ready to become a full
> time contributor to KDE. I have recently patched bug 164137 (
> https://bugs.kde.org/show_bug.cgi?id=164137 ) in KWin to remove a redundant
>  checkbox, which is currently awaiting feedback from KWin developers.
>
> When not in front of the computer I also love playing football, reading and
> listening to music.
>
> ---8<----APPLICATION END----8<----



More information about the Kget mailing list