KGet is alive too

Alive and kicking

There haven’t been blogs on KGet for a long time, but KGet is alive too.

The last few months and weeks were quite busy for us, though we still managed to fix a lot of bugs and 4.5.1 will also see some further fixes. Still there are some serious bugs left that I hope to be able to track down with our users, since sometimes bugs aren’t reproduceable for me.

Besides the bug fixes some ui improvements have entered KGet that should make it more comfortable to use. Now if you resize the header of a list its size and position will be restored the next time you look at the list. This also holds true for some dialogs. Sometimes small details really can change a lot.

KDE Brainstorm

In any case this post is also about a new feature I am working on. I stumbled upon an idea on KDE Brainstorm that made quite some sense. You can set up KGet to monitor your clipboard and add urls automatically as downloads. The main problem is that any url — that is not a local file — would be taken.

What I added is a combined whitelist and blacklist. The user only has to add some rules, and the order of those rules defines their priority. Rules higher in the list have a higher priority than those being lower. Also supporting both Wildcards and RegExp makes it possible to realise some interesting usecases. In fact the added rules can also be edited later on, if the user wants to change them.

At first KGet will look if the url is not a local file, has a protocoll etc. and will then continue with your set rules, in our case it will automatically start downloads for any rar or zip file unless it is from http://kde*

A backdraw you can see in the screenshot is that “Add” has no shortcut — it is a default button provided by KDE — though this is not that bad, you simply enter the pattern and press return and then you can enter the next item.

As you can see I also changed the advanced configuration page a bit, I guess it still needs some work though.

The most interesting part imo is the code though. The feature was quite easy to implement but it is the GUI that took most of the time. Yeah 95% of the new code are just for GUI, not that this code was hard, since it is always the same: 1. create a model 2. create a delegate 3. add means to add/remove data

That really shows some of the strengths of ignoring GUI altogether and resorting on config files. Yet that wouldn’t be “user-friendly” nor discoverable, so we keep it at that. 😉 And I really try to make things useable and especially safe. “Safe” that it is hard to make wrong stuff, no adding empty items, editing can’t result in empty items etc. etc. Imo this is one of the keys to make features discoverable. If a user fears that any “wrong” click could destroy something they won’t even look for features that could be of use for them. Often my target is to have a KMines with as few mines as possible. 😀

I also have another new — very large — feature in my pipeline though I’ll work on it more before disclosing it here.


Tags: ,

11 Responses to “KGet is alive too”

  1. Framp Says:

    Wow 🙂 kget was one of the software that convinced me to use kde

    Actually I’ve now switched to jDownloader (but just because I have to download several files from megaupload/rapidshare-like websites and I don’t use a premium account) – but I hate the GUI

    Happy to see kget is alive 🙂

    • mat69 Says:

      Yes jDownloader has features KGet most likely will never have, like the router controlling part. In fact unless something like that was in a pretty nice C or C++ library.

  2. Manja Says:

    Thanks for the work on KGet. I use it all the time and love it.

  3. Roland Says:

    Rather than modify kget to grab URLs, why not modify Klipper to add a ‘Download’ option. No messing with list files. No making assumptions. Keep it simple.

    • mat69 Says:

      Because if I understood your idea correctly you’d be relatively slow.

      And as it is opt-in anyway — by default turned off — only the people who want to use it have the possibility to fine tune it.
      Btw. there is one default entry that accepts all urls, so the ones using it don’t have to change anything to have the exact same behavior they are used to.

  4. CTown Says:

    Great work on KGet, I really do love it. Can I request a feature here (or would KDE Brainstorm be better)?

    It has to do with the same problem Framp (first commenter on this post) has.Anyone who has expirence with downloading things off services like Rapidshare, knows that download acceleraters (like KGet if I am not correct) cannot download the file intended but ends up recieving some kind of dummy file.

    My proposal is to add a checkbox on the “Save As” dialog that will read “Do not use accelerated downloading for this file” and it will end up downloading using KDE’s built in framework; but, KGet will still show the file’s progress and know where the file is saved. That way for any normal file, or a file downloaded off Rapidshare can rougly be treated the same way from a UI point of view (aside from one checkbox).

    Am I being clear on this? Anyways, it is your call on what feature to add next.

    • mat69 Says:

      In general the best place to add requests is imo bko. One reason for KDE Brainstorm is to discuss and improve ideas first and to only post the good ones on bko, reducing the work for the devs since they only get what is good and mature already.

      In any case there is a bugreport already for rapidshare and further I can download files from rapidshare just fine, it will automatically not accelerate the process. Or rather it tries, but sees that it fails and thus keeps just the amount of connections that don’t fail.

  5. John Says:

    What does kget provide that I can’t already do with the normal download process in kde or wget?
    I tried it once, I didn’t see the difference, so I don’t use it anymore.
    So please, somebody explain why is it so great?

    • mat69 Says:

      With KGet you can resume downloads — if the server supports this — so you can close KGet and resume whenever you want, KGet supports also multiple connections and adding mirrors to a download later on. That way you could simply add another mirror to a download that got slower.
      Also moving downloads to a different location while downloading is possible.

      Further KGet can automatically verify a download if checksums are provided, it can also try to find checksums on the downloading server. Also verifying signatures is possible.

      With KGet you can also download torrents.
      There are also some other features, like the possibility of creating a server –> you are somewhere else, log in via a web client and can add remove downloads …

      Personally I wouldn’t say that KGet is sooo great, point is it is for downloading and as long as the downloader does its Job it is fine and more features can in fact make live easier but downloading — the process — in itself will never be great. 😉

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: