UL Speed pointer instead of connection type!

Archived discussion about features (predating the use of Bugzilla as a bug and feature tracker)

Moderator: Moderators

Locked
cyberal
Posts: 360
Joined: 2003-05-16 05:42

UL Speed pointer instead of connection type!

Post by cyberal » 2003-08-19 10:22

Yes!
Why not remove that worthless connection type column? It says practicly nothing of the speeds and the choices you have are real stupid. T1 & T3 differs with 43 Mbit (!) Most ppl end up in the DSL & T1 sections.

What if we could paste the avarege UL Speed there instead. Would be much more usefull. Ofcourse, a high number will not mean that _you_ will get good speeds, but the possibilty will be higher than with others.

As it is now, the lack of good choices makes the connection type thingy worthless. And does not really say what his UL Speed is anyway!

An UL Speed avarege pointer sounds good to me! Anyone else?
http://whyrar.omfg.se - Guide to RAR and DC behaviour!
http://bodstrom.omfg.se - Bodströmsamhället, Länksamling om hoten mot vår personliga integritet

jbyrd
Posts: 255
Joined: 2003-05-10 09:26
Location: no-la-usa-earth
Contact:

Post by jbyrd » 2003-08-19 10:58

Well, I think the connection type is worthless. Quite a few times I have downloaded from a "56k" user at 100KB/s. :shock:

It sounds nice...and definately not any more "fakable" than the current feature.
Hehe.

[MASTER]Spookie
Posts: 42
Joined: 2003-01-03 10:04

Post by [MASTER]Spookie » 2003-08-19 11:07

Sounds good to me 2 :P

Twink
Posts: 436
Joined: 2003-03-31 23:31
Location: New Zealand

Post by Twink » 2003-08-19 19:09

it could always display the highest speed u've uploaded at in there...

Gratch06
Posts: 141
Joined: 2003-05-25 01:48
Location: USA

Post by Gratch06 » 2003-08-19 19:54

twink wrote:it could always display the highest speed u've uploaded at in there...
All downloads start fast for the first few seconds and then slow, at least in the readouts. You're going to have to have some kind of averaging system to keep it honest, and I'd reccommend going all out on it and doing a full average. The downside to this is that if a) I am doing no uploads or b) I am doing 1 upload to a modem....I will be officially screwed and my numbers will read out a lot lower than they really are.

Other case that would cause problems with this value...I use my laptop at home (dialup) and school (T3 LAN). My upload speed varies significantly between the two locations and thus an average would not be trustworthy.

As much as I'd like it, I think it's just got too many holes in it, though it would be an improvement to the current method (choosing speed in settings). It would be a tad harder to fake, though still a trivial job.

-Gratch06

HaArD
Posts: 147
Joined: 2003-01-04 02:20
Location: Canada http://hub-link.sf.net
Contact:

Post by HaArD » 2003-08-19 20:47

What about using the speed that showing in the UPLOAD log for the last completed upload? While it may be dated it's easy to find, easy to update, and provides an indication of the speed you are LIKELY to get from that user.

HaArD

Twink
Posts: 436
Joined: 2003-03-31 23:31
Location: New Zealand

Post by Twink » 2003-08-19 21:03

just average each transfer, then pick the highest one of them?

Gratch06
Posts: 141
Joined: 2003-05-25 01:48
Location: USA

Post by Gratch06 » 2003-08-19 22:31

HaArd wrote:What about using the speed that showing in the UPLOAD log for the last completed upload?
I don't know about recently, but isn't this a buggy number? If I quit the program, and as soon as I come in, I finish a 700 MB upload, the upload shows up as a 700 MB/s? So the formula is:

Code: Select all

upload transfer speed = (total file size) / (time on final connection)
Any way we do it will probably be imperfect, but any way that we do it will be better than the arbitrary selection method currently employed.

As of right now, the best method in my opinion IS the upload logging method. The idea that it is easily maintainable (already handled...though...this would require upload logging...downside) and retrievable.

Alternate method would require two values in ?settings? or one value with two params. Instead of/in addition to logging to the uploads log, we keep a running total of A: sum of upload speeds B: total uploads counted A/B = the average we report.

These would be saved in the XML file (easily "fixed" of course, but a bit harder than lying about a connection speed)

Code: Select all

void UploadManager::onTransmitDone(UserConnection* aSource) {
	dcassert(aSource->getState() == UserConnection::STATE_DONE);
	Upload* u = aSource->getUpload();
	dcassert(u != NULL);

	aSource->setUpload(NULL);
	aSource->setState(UserConnection::STATE_GET);

	if(BOOLSETTING(LOG_UPLOADS)) {
		StringMap params;
		params["source"] = u->getFileName();
		params["user"] = aSource->getUser()->getNick();
		params["hub"] = aSource->getUser()->getLastHubName();
		params["hubip"] = aSource->getUser()->getLastHubIp();
		params["size"] = Util::toString(u->getSize());
		params["sizeshort"] = Util::formatBytes(u->getSize());
		params["chunksize"] = Util::toString(u->getTotal());
		params["chunksizeshort"] = Util::formatBytes(u->getTotal());
		params["speed"] = Util::formatBytes(u->getAverageSpeed()) + "/s";
		params["time"] = Util::formatSeconds((GET_TICK() - u->getStart()) / 1000);
		LOG(UPLOAD_AREA, Util::formatParams(SETTING(LOG_FORMAT_POST_UPLOAD), params));
	}
//Start modification
    UploadSpeedCounter += Util::formatBytes(u->getAverageSpeed()) + "/s";
    TotalUploadCounter++;
//End modification
	fire(UploadManagerListener::COMPLETE, u);
	removeUpload(u);
}
Of course, those would be replaced with real settings and the like, but that's my basic suggestion framework. Send (UploadSpeedCounter / TotalUploadCounter) instead of the connection type. Anyway, that's my two cents.

-Gratch06

jbyrd
Posts: 255
Joined: 2003-05-10 09:26
Location: no-la-usa-earth
Contact:

Post by jbyrd » 2003-08-20 07:43

First of all, DSL - CABLE - T1 are rediculous for two reasons.
1. It is obviously easily fakable.
2. It says absolutely nothing about upload bandwidth, because not all Cable or DSL or T1 connections have the same maximum upload bandwidth.

Now that that has been said, the MAXIMUM (like Twink said) would be the more helpful number of them all. It would discount the problems with 56k users, etc. Also (if it isn't implied), it should be total upload speed, not just upload speeds to individual users.

If a user's maximum upload speed is a combined 14 KB/s, it should be converted into bits to 112 kb.

This is intuitively obvious to the casual observer that the uploader mentioned most likely has a 128kb upstream.

Just some thoughts.
Hehe.

cyberal
Posts: 360
Joined: 2003-05-16 05:42

Post by cyberal » 2003-08-20 09:51

I think faking or not faking is besides the point here. Why would anyone wanna fake their avarege speed indicator? There are much easier ways to make ppl not download from you!

This feature should not be used for some critical tool, it's accuracy is not vital. It should just be a value that points you in the right direction! I have a suggestion to solve the "uploading from one user which has lower bandwidth than me, thus getting low UL values"-problem.. only log the avarege UL speed when all slots are full! Remember, the value should be a pointer to the users total UL bandwidth, not what You could get on one download!
http://whyrar.omfg.se - Guide to RAR and DC behaviour!
http://bodstrom.omfg.se - Bodströmsamhället, Länksamling om hoten mot vår personliga integritet

HaArD
Posts: 147
Joined: 2003-01-04 02:20
Location: Canada http://hub-link.sf.net
Contact:

Post by HaArD » 2003-08-20 16:18

Jbyrd,

I disagree with this:
it should be total upload speed, not just upload speeds to individual users.
As a user, why would I care about the upload capacity of another user? They might care but, it's not important to me. What is important to me is the download speed I am likely to get if connected to him/her.

Therefore, I believe any change to show a users speed should be based on the speed a single slot on that user provides, since that's all I'm going to get.

HaArD

jbyrd
Posts: 255
Joined: 2003-05-10 09:26
Location: no-la-usa-earth
Contact:

Post by jbyrd » 2003-08-21 07:42

Well, if the user changes the number of slots they are using, then you are likely to get different speeds from the uploader.

It's simple math, really. If it is determined that the uploader's maximum bandwidth is 128kbits/s, if that user has 10 slots and they are full, then you are going to get 12.8 kbits/s.

Now, you could get dc++ to do this for you. BUT, what if the user has 10 slots and all are open. Then you will be misled that you will get all 128kb/s. But, when others join and fill up all the slots, you will only get the 12.8kb/s. Besides, if the uploader is uploading to nine 56k users, then you would get more than 12.8, and the feature is now making unnecessary assumptions. In my opinion, it is the user that should make assumptions, not the feature.

If you let dc++ do the math, then there is one more layer of confusion. I think that most users would be quite content just knowing the overall capabilies of those they are downloading from.

Again, just some thoughts. CYBERAL, WHAT DO YOU THINK? IT'S YOUR FEATURE? :D
Hehe.

cyberal
Posts: 360
Joined: 2003-05-16 05:42

Post by cyberal » 2003-08-21 08:57

hmm, I think like this:

YES, I want to know what speed _I_ will get for my upload!

Is this possible to do in a good way? No! I don't belive so!
Why...

1. If the user change his slot amount, speeds could differ enormously.
2. Who is downloading from him other than you?
3. How much are You downloading at the same time?
4. Where in the world is he, is the line between you good?

If it is hard to measure the total UL speed, measuring what You are likely to get _is_ impossible! :/

I belive it's better to let each user do the thinking himself, its more likely to be a trusted, used feature in that case. I see horrible pictures in my head of a helpforum filled with users saying stuff like "DC++ says that I should get 50 kB/s but I'm only getting 5 kB/s" or OPs kicking users cause of "faking your UL pointer" when they infact isn't! Ofcourse, when (if) implementing this feature it should clearly be stated that the value should not be trusted 100%! :)
http://whyrar.omfg.se - Guide to RAR and DC behaviour!
http://bodstrom.omfg.se - Bodströmsamhället, Länksamling om hoten mot vår personliga integritet

distiller
Posts: 66
Joined: 2003-01-05 18:05
Location: Sweden
Contact:

Post by distiller » 2003-08-21 19:02

I like this to! So what is needed seems to be:
  • :arrow: Extra column in hub window named "UL capacity/slot"
    :arrow: Display this value in the search window
I do think the number of slots are updated whenever a user changes that,
so the total upload capacity average could be divided by the slots without a problem (if I'm right).

cyberal
Posts: 360
Joined: 2003-05-16 05:42

Post by cyberal » 2003-08-22 06:51

but the point is that the Total UL speed will NOT be correct, and if you divide it into slots it will look even more inaccurate! There is no reason (to me) to simply divide the Ul speed into slot speeds, I just want to get an idea of what kinda connection the user has. I don't want this value to change all the time, if the feature is done good, the value displayed should be about the same all the time..
http://whyrar.omfg.se - Guide to RAR and DC behaviour!
http://bodstrom.omfg.se - Bodströmsamhället, Länksamling om hoten mot vår personliga integritet

Locked