This forum has been archived. All content is frozen. Please use KDE Discuss instead.

New User experience/some feature requests.

Tags: None
(comma "," separated)
Belgabor
Registered Member
Posts
7
Karma
0
Hi guys,

I've been using azureus for quite a while now and am mostly satisfied but some gripes made me search for alternatives of which ktorrent seems to be the best so far.
Coming from this, I'd like to list a few suggestions for ktorrent. Unfortunately I have to say a few are show-stoppers for me (listed in italics) so I'm still using azureus. (Note: I hope nothing of this sonds presumptous, that's not my intention)
  • No place to select default max share ratio. I have asymetric DSL, so the default 1.0 is not feasible for me. The setting was mentioned in an other therad which sounded like there was the possibility to set a default, but I couldn't find it. This is really important for me as I rely on the directory scan to add new torrents and rarely add them by hand.
  • ktorrent can't move completed downloads to a new dir. I use bt mainly for anime fansubs and have a large queue, so (for me) there has to be a target dir of which I know when a file appears there, it's complete. Actually I thoght ktorrent could do that (temporary storage/download folder settings), but it doesn't work as I assumed (for me the downloaded file qualifies as temporary as long as it's incomplete).
  • Proper handling when the disk runs full. Happens quite often to me. Azureus handles this horribly. The torrent that hits the disk full error is stopped which seems to free up some disk space (cache?) which is then filled up by the next running one till it hits again a disk full... repeat ad absurdum. This leads to a lot of hard-stopped torrents (removed from the queue) and many torrents with a few kb or Mb started (which doesn't help at all finishing a torrent to free up space...). Actually I have no idea what ktorrent currently does, but I'd suggest something like amule. There you can configure an amount of hd space left free (fortunately azureus doesn't DL to the root partition, thing tend to go very wrong when that fills up to the last...), when that limit is hit, downloading stops but upload continues (actually the downloads are also stopped, but amule doesn't use a queueing system). ktorrent obviously should not change the queue-state of the files, just stop downloading.

I really like the queue manager. While azureus works somewhat similar, ktorrent's has the potential to be a lot better/intuitive. Therefore here is a separate list for it:
  • Seeding rules. Azureus has that, but it's very unintuitive and made to force people to share what the developers deem fair/good (eg the lowest share ratio you can limit to is 1:0.5). I would really like to set-up some rules that I think a fair for my limited upload (why should I seed a torrent with 1000 seeds when I'd rather dedicate my bandwidth to a torrent with just 2?), I faild utterly with azureus (seeds torrents I don't want to and stops some I want to). I propose a system that works like a filter chain. You can set a chain of filters like "if (condition) do (seed/stop)" and a default fall through. Conditions should include time since finishing, seeds, seed/peer ratio and share ratio. (Please ask if I didn't make this point clear enough). In the future there could also be priority rules if more than a set number of torrents qualify to be seeded.
  • Multiple Queues with different settings (number of downloads etc). This would rock. Example: I have single episode torrents and batch torrents in my azureus queue. This is very prone to the disk full problems I mentioned above. Lets say I could define a queue for single episode torrents and a second one for batch torrents. While I would (eg) set the first one to download 5 torrents in parallel and some sensible seeding rules, I could set the second one to one download with seeding forever (meaning I'll stop it manually when I deal with the files (burn the batch)).


Thats all I can think of now. I hope I didn't overdo. Also if I didn't make something clear enough, don't hesitate to ask (or comment if you have better/other/additional ideas).

Cheers
George
Moderator
Posts
5421
Karma
1
Belgabor wrote:Hi guys,

I've been using azureus for quite a while now and am mostly satisfied but some gripes made me search for alternatives of which ktorrent seems to be the best so far.
Coming from this, I'd like to list a few suggestions for ktorrent. Unfortunately I have to say a few are show-stoppers for me (listed in italics) so I'm still using azureus. (Note: I hope nothing of this sonds presumptous, that's not my intention)

  • No place to select default max share ratio. I have asymetric DSL, so the default 1.0 is not feasible for me. The setting was mentioned in an other therad which sounded like there was the possibility to set a default, but I couldn't find it. This is really important for me as I rely on the directory scan to add new torrents and rarely add them by hand.


I think we can add that, but don't ask me when. I'm busy with fixing bugs and stabilizing 2.0. No big new things will be added for 2.0, but this is pretty small.

  • ktorrent can't move completed downloads to a new dir. I use bt mainly for anime fansubs and have a large queue, so (for me) there has to be a target dir of which I know when a file appears there, it's complete. Actually I thoght ktorrent could do that (temporary storage/download folder settings), but it doesn't work as I assumed (for me the downloaded file qualifies as temporary as long as it's incomplete).


  • On the TODO list.

  • Proper handling when the disk runs full. Happens quite often to me. Azureus handles this horribly. The torrent that hits the disk full error is stopped which seems to free up some disk space (cache?) which is then filled up by the next running one till it hits again a disk full... repeat ad absurdum. This leads to a lot of hard-stopped torrents (removed from the queue) and many torrents with a few kb or Mb started (which doesn't help at all finishing a torrent to free up space...). Actually I have no idea what ktorrent currently does, but I'd suggest something like amule. There you can configure an amount of hd space left free (fortunately azureus doesn't DL to the root partition, thing tend to go very wrong when that fills up to the last...), when that limit is hit, downloading stops but upload continues (actually the downloads are also stopped, but amule doesn't use a queueing system). ktorrent obviously should not change the queue-state of the files, just stop downloading.


  • We just stop when something goes wrong writing at the moment. Adding a check when we preallocate might not be a bad idea.

    [*]Seeding rules. Azureus has that, but it's very unintuitive and made to force people to share what the developers deem fair/good (eg the lowest share ratio you can limit to is 1:0.5). I would really like to set-up some rules that I think a fair for my limited upload (why should I seed a torrent with 1000 seeds when I'd rather dedicate my bandwidth to a torrent with just 2?), I faild utterly with azureus (seeds torrents I don't want to and stops some I want to). I propose a system that works like a filter chain. You can set a chain of filters like "if (condition) do (seed/stop)" and a default fall through. Conditions should include time since finishing, seeds, seed/peer ratio and share ratio. (Please ask if I didn't make this point clear enough). In the future there could also be priority rules if more than a set number of torrents qualify to be seeded.


    Sounds very complicated GUI wise, maybe we should just add python scripting or something like that :-)

    [*]Multiple Queues with different settings (number of downloads etc). This would rock. Example: I have single episode torrents and batch torrents in my azureus queue. This is very prone to the disk full problems I mentioned above. Lets say I could define a queue for single episode torrents and a second one for batch torrents. While I would (eg) set the first one to download 5 torrents in parallel and some sensible seeding rules, I could set the second one to one download with seeding forever (meaning I'll stop it manually when I deal with the files (burn the batch)).
    [/list]


    Don't know, multiple queues can probably be added. Ivan, what do you think about this ?

    Thats all I can think of now. I hope I didn't overdo. Also if I didn't make something clear enough, don't hesitate to ask (or comment if you have better/other/additional ideas).


    You are pretty demanding, and I don't know if we ever get to stuff like advanced seeding rules (time is limited, and there are so many other things to do)
    Belgabor
    Registered Member
    Posts
    7
    Karma
    0

    Wed Jun 21, 2006 10:36 pm
    Sorry, I didn't mean to sound demanding, I just fantatized a bit about my perfect bt client :D

    Regarding the seeding rules and GUI, I don't think that's too difficult. I think of something like the message filter GUI in thunderbird. Let's see if I can draw some ascii art to visualize:

    Code: Select all
    -----------------------------------------------  -----
    |                                             |  |   |
    |                                             |  |   |
    |                                             |  |   |
    |                                             |  |   |
    |                                             |  |   |
    |                                             |  |   |
    |    ListBox with the filter chain            |  | A |
    |                                             |  |   |
    |                                             |  |   |
    |                                             |  |   |
    |                                             |  |   |
    |                                             |  |   |
    -----------------------------------------------  -----

                    --------------------
    Default action: |        B       | |
                    --------------------

    Define new rule:

       -----------  ---------      ---------        -----------    -------
    IF |   C   | |  |  D  | |  AS  |   E   |  THEN  |   B   | |    | Add |
       -----------  ---------      ---------        -----------    -------


    A: some controls to move up/down and delete rules from the list
    B: select box to choose seed/stop
    C: select box with the different values to test for (No of seeds/share ratio/time since completion/seed to peer ratio)
    D: select box with contitions (=/not/>/</>=/<=)
    E: edit box for teh value

    For example I want to define the following rules:
    • Seed for at least 1 h
    • Stop if there are more than 100 seeds
    • Stop if the share ratio reaches 1:0.25, but keep seeding if there are less than 5 seeds.
    the list could look like this:
    Code: Select all
    IF time<60 min THEN SEED
    IF seeds>100 THEN STOP
    IF seeds<5 THEN SEED
    IF ratio<1:0.25 THEN SEED
    Default: STOP


    Python scripting would also be fine by me (actually some kind of scripting was my first idea), but a GUI interface is probably easier for people without programming experience.

    Let me stress again, ktorrent really impressed me, thats why I posted these suggestions. I don't expect any of them to be realized (although I hope for those I marked as show stoppers :wink: ), I just can't shut my trap when I think I've a good idea, especially when I think it could be useful for others as well :)
    Also I've worked a bit on open source projects, so I'm aware about limited resources... (And therefore try to post feature requests as undemanding as I can (which sometimes fails) as well as explaining them and their rationale as good as I can)

    Cheers
    imported4-Tomasu
    Registered Member
    Posts
    302
    Karma
    0

    Wed Jun 21, 2006 11:48 pm
    On the TODO list.
    Thank god :) I've been seriously missing that feature :)

    Proper handling when the disk runs full.
    This would be very nice, along with a "resume" option so you don't have to stop and restart, ie, keep all your current peers, etc.

    A couple other things I'd like to see are:
    * A separate column in the download pane for seeds and leechers.
    * proper data checking:
    a. if the program crashed, assume you need to recheck all items (sequentially) in the download queue
    b. use the status in the download queue to display checking status, not a separate window
    c. do not check on startup of app (or the torrent itself) if the program and torrents are in a consistent state.
    * Lower cpu usage if possible, I consistently see 15-20 % with a few torrents loaded.
    imported4-Ivan
    Registered Member
    Posts
    819
    Karma
    0

    Thu Jun 22, 2006 1:20 pm

    Don't know, multiple queues can probably be added. Ivan, what do you think about this ?


    Not a bad idea. I'll see what I can do for the next release - I'll add it to my personal TODO.


    Bookmarks



    Who is online

    Registered users: Bing [Bot], Evergrowing, Google [Bot]