Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make units for transfer rates configurable #234

Closed
jedie opened this issue May 19, 2014 · 28 comments
Closed

Make units for transfer rates configurable #234

jedie opened this issue May 19, 2014 · 28 comments
Labels
enhancement New features or improvements of some kind, as opposed to a problem (bug) good first issue Good starting points for new contributors

Comments

@jedie
Copy link
Contributor

jedie commented May 19, 2014

Change the Down-/Upload rate from "bps" to "KB/s" or "MB/s" because it's more common, isn't it?

EDIT: Also "Outgoing Rate Limit (KBps)" and "Max File Change Rate (KBps)"

@calmh calmh added the wontfix label May 19, 2014
@calmh
Copy link
Member

calmh commented May 19, 2014

I don't think it is. In my experience transfer rates are usually given in bits per second, see for example broadband services (usually marketed as 24 Mbps and similar, seldom as 3 MB/s). I could see a case for allowing whatever rates the user is more comfortable with; low on my prio list, pull requests accepted.

@jedie
Copy link
Contributor Author

jedie commented May 19, 2014

What's about a tooltip with the other unit?

@calmh
Copy link
Member

calmh commented May 19, 2014

Yeah, or click the unit to cycle between b/s, B/s, B/min (seen in at least some old crappy backup software I remember).

@fazo96
Copy link

fazo96 commented May 19, 2014

It's just a matter of preference, I think there should be an option to cycle between B/s and b/s and also I think the scale should adapt in function of the speed. Like 3MBps but if it drops below it's shown as KBps and so on.

@jedie
Copy link
Contributor Author

jedie commented May 19, 2014

What i mean with the tooltip is this:
syncthing tooltip

Or it's possible to switch between kbps and KB/s via CSS ;)

@calmh
Copy link
Member

calmh commented May 19, 2014

@fazo96 It does adapt as is.

@jedie Yep, I understood. However without seeing this background discussion I think it would be weird to hover on a metric and get a tooltip with another value, in another unit. Especially if the user isn't all that clear on the different units to begin with... :)

@jedie
Copy link
Contributor Author

jedie commented May 19, 2014

OK, then a selectbox in settings can be a solution?

@calmh
Copy link
Member

calmh commented May 19, 2014

Sure.

@jpjp
Copy link
Contributor

jpjp commented May 20, 2014

Please can we use unambigous standardised units (KiB or MiB per second)?

@calmh
Copy link
Member

calmh commented May 20, 2014

We are, although that may not be obvious unless you already know about it. ;) The following units are currently in use in the syncthing GUI;

  • KiB and MiB for amounts of data; seen in the repo and RAM usage stats. Base two prefixes on bytes as is common for file sizes (except on Mac, curiously, where things are base ten since a while back).
  • kbps and Mbps for transfer rates; seen in the node transfer stats. Base ten prefixes on bits, as I've grown accustomed to in all networking. I guess we could argue about whether to use a "p" (tradition, see also "mph") or a slash (modern, SI, see also "km/h")...

Personally I think this is As It Should Be(tm), but at some point I guess we'll gain KiB/MiB per second as an option for transfer rates.

Edit: Oh, there is actually one crappy inconsistency. The config values for rate limits are labeled as being in "KBps" which is a non-unit. I meant "KiB/s" here, that should be cleaned up. And you could argue that I just said I like rates in bits per second so what gives, and I don't know...

@jpjp
Copy link
Contributor

jpjp commented May 20, 2014

Ah yeah. I just saw KB and freaked out.

calmh added a commit that referenced this issue May 20, 2014
@calmh
Copy link
Member

calmh commented May 20, 2014

@jpjp As you should!

@v-ko
Copy link

v-ko commented May 28, 2014

Firstly - sorry for the duplicate bug report, no idea why I thought no one else raised the issue. So if I may sum up the comments above, calmh , you're ok with adding an option for the measurement unit (choosing between Mbps and MiB/s) in the settings?

@endolith
Copy link

Ah yeah. I just saw KB and freaked out.

There's nothing wrong with kB and MB, as long as they mean 1,000 and 1,000,000. I think that makes more sense for file sizes/amounts of data, and KiB/MiB should only ever be used for RAM sizes (which naturally come in powers of 2, unlike file sizes), but that's just my opinion.

Networking is always measured in 1000s like "kbit/s" though.

@jpjp
Copy link
Contributor

jpjp commented Oct 29, 2014

Wikipedia disagrees... https://en.wikipedia.org/wiki/Data_rate_units

@v-ko
Copy link

v-ko commented Nov 1, 2014

It's an opinionated matter, even the wikipedia article was written by someone with just an opinion. I'm pretty sure there wasn't a statistical survey on the matter. Plus "modern residential high-speed Internet connections are most commonly expressed in multiples of bits per second, such as megabits per second (Mbit/s)" because it sounds like more (like, 8 times more) to the average user who has little idea on the matter, not because it's more practical.
I'm a big fan of SI, but when your hard disk space and file sizes are mostly measured in bytes, kilobytes, etc. , it's just not practical to have your network speed in bits. Do tell me for which purposes do you look at your transfer rate, and how is it easier for you to read it in bits (of course if you're used to it, you'll get a feeling of how fast you're transferring, but that really doesn't fulfill any practical task) ?
I, personally, mostly look at the transfer rate in order to get an idea how long it will take for some particular amount of data to get transferred. The latter as I mentioned is measured in bytes, so with bytes/sec my equasion looks like this : time=data/transfer rate . With bits it's time=data/(8*transfer rate) , so my brain at this point says "you're on your own, man" and that's that.

@calmh calmh reopened this Dec 1, 2014
@calmh calmh changed the title Change 'bps' to "KB/s" or "MB/s" Make units for transfer rates configurable Dec 1, 2014
@uok
Copy link
Contributor

uok commented Dec 1, 2014

Thanks for reopening!
I think the two options should be

  • GB/s, MB/s, KB/s, B/s (not GiB/s, MiB/s, KiB/s) - common in windows, download software, ...
  • bits/kbits/mbits - networking and *nix 😄

@generalmanager
Copy link

@petko10 summarized it perfectly. While network engineers have legitimate reasons to use bits per second, ISPs use it to confuse consumers.

With byte-based units it's trivial to guesstimate the time left for a transfer. They also give the average user a trivial way to compare transfer speeds, because every download manager and file sharing tool uses kB/s, MB/s and GB/s.

@endolith
Copy link

endolith commented Dec 1, 2014

ISPs use bit/s because ISPs are network engineers. Measuring in bit/s is practically useful because it shows how much of your bandwidth you are using without having to do a conversion.

@generalmanager
Copy link

@endolith The network engineers at ISPs use bits/s, for legitimate reasons. The marketing departments...not so much.
Sure it's nice to know how much of your theoretical bandwidth limit you are using. But having a unit that directly relates to the file size and is comparable to the data from basically all every day usage scenarios (except speed tests) should outweigh this advantage.

The only reason speed tests use bits/s is that ISPs advertise their services with units based on bits/s, not because it is anything close to meaningful for the average user.

@calmh
Copy link
Member

calmh commented Dec 1, 2014

I'm going to close this for further discussion. :) There are legitimate reasons to prefer each of the possible variants, and probably all of them are mentioned somewhere above. We can bikeshed it to infinity, but the issue here refers to enabling the user to make the choice. I'm fine with that. Write the code. :)

@syncthing syncthing locked and limited conversation to collaborators Dec 1, 2014
@calmh calmh added good first issue Good starting points for new contributors help-wanted and removed wontfix labels Apr 4, 2015
@calmh calmh added the enhancement New features or improvements of some kind, as opposed to a problem (bug) label Nov 22, 2015
@calmh calmh modified the milestone: Unplanned Jan 1, 2016
@calmh calmh removed the help-wanted label Jan 1, 2016
@lkwg82
Copy link
Contributor

lkwg82 commented Apr 20, 2016

I suggest to close this until we see a PR.

@AudriusButkevicius
Copy link
Member

Well it's a valid feature request, so I think it should live.

@canton7
Copy link
Member

canton7 commented Apr 20, 2016

I don't think there's any need to go around closing "Unplanned" issues. They're markers saying "hey, we considered this. If you're looking for something to contribute, give it some thought" . People will just open new issues if we close the old ones.

@calmh
Copy link
Member

calmh commented Apr 20, 2016

Yes. Closing means I don't want a PR, or at least am unlikely to accept one without persuasion. Close if something doesn't fit with what we want to do, or is unfeasible for some reason. This is neither.

@lkwg82
Copy link
Contributor

lkwg82 commented Apr 20, 2016

ok, got it ;) Just went around and thought of cleaning stale issues.

@AudriusButkevicius
Copy link
Member

Github not doing its job.

@calmh
Copy link
Member

calmh commented Mar 31, 2017

Yes that's odd. I see nothing wrong with my tagging, but it didn't pick it up at all. For posterity:

#4074

lkwg82 pushed a commit to lkwg82/syncthing that referenced this issue Jan 1, 2018
Click the transfer rate to toggle between binary-exponent bytes (KiB/s,
MiB/s) and metric based bits (kb/s, Mb/s). The setting is persisted in
browser local storage (best effort).

GitHub-Pull-Request: syncthing#4074
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New features or improvements of some kind, as opposed to a problem (bug) good first issue Good starting points for new contributors
Projects
None yet
Development

No branches or pull requests