Bionus / imgbrd-grabber

Very customizable imageboard/booru downloader with powerful filenaming features.
https://www.bionus.org/imgbrd-grabber/
Apache License 2.0
2.59k stars 220 forks source link

KB and MB instead of KiB and MiB discussion #782

Closed MasterPetrik closed 7 years ago

MasterPetrik commented 7 years ago

2017-02-14_054256 win7 mastercore KiB and MiB used only in wikipedia on page about it. That's ridiculus! All sites, almost all programms and all windows versions uses most common(KB/MB) in their GUI, there is no misunderstanding in this, all of them understand it as 1MB=1024KB, and windows too. Even Github uses KB and MB. OK, let's see what your grabber source sites think about it: 2017-02-14_054104 win7 mastercore

2017-02-14_052542 win7 mastercore

2017-02-14_052711 win7 mastercore

2017-02-14_052815 win7 mastercore

2017-02-14_053100 win7 mastercore

2017-02-14_053251 win7 mastercore

2017-02-14_053404 win7 mastercore

2017-02-14_053533 win7 mastercore

2017-02-14_053740 win7 mastercore

2017-02-14_053836 win7 mastercore

You see this? It is much more native for users.

Hrxn commented 7 years ago

Well, technically, it's an official standard: https://en.wikipedia.org/wiki/ISO/IEC_80000#Units_of_ISO.2FIEC_80000

And its usage is more common now, especially for open source software. And Linux uses it as well.

In my opinion it's a matter of personal taste, but using binary bytes is more correct, so to speak.

MasterPetrik commented 7 years ago

And its usage is more common now

I get it. You, programmers, uses linux, and you think that more common is KiB and MiB. Ok. But most of users don't use linux, they use windows and mac. And I guess that is 90-98% of users. look at statistic: http://gs.statcounter.com/os-market-share http://www.netmarketshare.com/report.aspx?qprid=11&qpcustomb=0 persentage of linux users is around 1-8%

Mac OS/iOS uses MB and KB, here is the proof - https://support.apple.com/en-us/HT201402 Windows uses MB and KB in all versions as 2^x too, and even wikipedia uses KB and MB in all pages, besides pages of Binary prefix, that's ridiculus. This is the situation where dictionary definition uses almost only in dictionaries and linux, while almost all users and companies still uses KB and MB and all sites uses KB too, just look at how widely KB and MB uses: Google:"Kb Mb" - 454 000 000 results Google:"Kib Mib" - 466 000 results

So it is not question about correct use, because anyway everywhere KB uses in meaning of Kib, and for users it much much more common.

Bionus commented 7 years ago

I get it. You, programmers, uses linux, and you think that more common is KiB and MiB. Ok.

I use Windows, and so do most of my programmer friends. If they need to use an unix-based system, most use Mac.

Windows "uses" the JEDEC 100B.01 standard that says 1 KB = 1024 Bytes. They do not use the KiB SI units because they share your way of thinking, "if nobody uses it we shouldn't either" (source).

Mac OS/iOS uses MB and KB, here is the proof - https://support.apple.com/en-us/HT201402

Did you read it? It states that macOS (OS X) uses the decimal system (1 KB = 1000 B). The same brand using the same unit with two different meanings depending on their product... I fail to see the positive in it.

How is the user supposed to know what 1 KB means in this situation? There's no such thing as "industry standard" in this case. You mention all these examples from various boorus (all based off Danbooru BTW), but what is KB even supposed to mean here? The developer could be a Mac or a Windows user, what do I know?

Can you tell me with certainty whether this 1.24 MB means 1,240,000 B or 1,300,234 B? Without looking at the booru's source code or downloading the file and checking directly the size in Bytes, I don't see how one would do.

This debate is so old and yet no one ever found a good solution for it. The only possible way to not use KiB would be to detect the user's OS and have "KB" have different meanings according to it:

But that only works until Mac starts using 1024 B in some random update or Windows switches to 1000 B.

MasterPetrik commented 7 years ago

Windows uses 1 KB = 1024 Bytes macOS uses KB = 1000 Bytes iOS uses KB = 1024 Bytes Linux uses KiB = 1024 Bytes Manufacturers use KB = 1000 Bytes (to make their HD look bigger) Google uses KB = 1000 Bytes (conversion example) How is the user supposed to know what 1 KB means in this situation? There's no such thing as "industry standard" in this case.

Obviously meaning is depending on the context: Google use it only in conversion(according to ISO) , and we not trying to buy HDD, so it is not our case. Our case is filesize, so will be logical to use standard of meaning accepted on each filesystem/OS. But is is not a fully our case.

You mention all these examples from various boorus (all based off Danbooru BTW), but what is KB even supposed to mean here? The developer could be a Mac or a Windows user, what do I know? Can you tell me with certainty whether this 1.24 MB means 1,240,000 B or 1,300,234 B? Without looking at the booru's source code or downloading the file and checking directly the size in Bytes, I don't see how one would do.

Well. User shouldn't think about it, but you should. Because you develop software working with boorus, obviously you need to investigate what format they use, and yep, I already checked all of that sources and they all uses meaning 1 KB = 1024 Bytes, so, at least in case of booru there are no disagreements about it.

So if you download images from boorus will be logical to display it in boorus standard, and only when images appears in download folder, only then starts working OS filesize naming standards.

But that only works until Mac starts using 1024 B in some random update or Windows switches to 1000 B.

Much better in our case to use image source (common for sites 1 KB = 1024 Bytes) standart. There are no signs of meaning KB on internet sites will change in the coming years, and even less likely to change in standard for windows. Due Backward compatibility in this case 100% of programs ever written on windows will be incorrect. So I guess this is impossible until 75%+ of all PC users still uses windows...

Flat commented 7 years ago

I fail to see the merit in switching to a standard that is ambiguous. KiB will ALWAYS be 1024. KB can be either since different operating systems and even different programs use different standards. The only downside is you might have to think a little for yourself to determine what that little i means.

MasterPetrik commented 7 years ago

https://blogs.msdn.microsoft.com/oldnewthing/20090611-00/?p=17933 In full article they explain its position in more detail, and I see no reason to disagree with them.

"if nobody uses it we shouldn't either".

I just think that it is a bit odd when user see on source site KB, in downloader KiB and in destination folder KB again, all others uses KB but you still gonna be the only one in this chain Don't get me wrong, I know that KiB now is more correct, but it is not a question of correctness. Its a question of understanding. Wouldn't be better not to confuse user with unpopular terms that they don't know in their software?

Because all Win/Mac/Linux users know that in this context KB - 1024B, But only Linux users knows that KiB - 1024B, Win/Mac users don't know this term, so isn't more logical to use term that all other programms for these OS uses?

Bionus commented 7 years ago

Don't get me wrong, I know that KiB now is more correct, but it is not a question of correctness. Its a question of understanding.

And I agree with it. It's a valid debate. Most users are on Windows and have no idea what is a KiB, I don' deny it.

Because all Win/Mac/Linux users know that in this context KB - 1024B

That's where the problem lies. As said in my previous comment, Windows users know that KB = 1024B, Mac users know that KB = 1000B (since Snow Leopard, before it was 1 KB = 1024 B), and Linux users may be confused if you show them something in KB (because many know of this issue and many Linux distributions show stuff in KiB).

The only good option I see would be to use different units depending on the user's OS.

But that only works until Mac starts using 1024 B in some random update or Windows switches to 1000 B.

MasterPetrik commented 7 years ago

In Russia we have a very good proverb for this case - "В чужой монастырь со своим уставом не ходят" which can be translated as "In a strange monastery with its regulations do not go" So in you work on certain OS, be logical to use OS units. I mean that this is the only right way:

The only good option I see would be to use different units depending on the user's OS.

This will fully solve the problem.

P.S.

But that only works until Mac starts using 1024 B in some random update or Windows switches to 1000 B.

I can't say for Mac, but Windows will change their units less likely than IEC do it, after they figure out that almost all computing industry has ignored the guidance of the IEC, more likely they change their Kibibytes to Somethingelsebytes, than windows, so don't worry about it, KiB is a new standard and it may change. But all users still will be use Kilobytes in all they meanings, and don't think that IEC can do something with that.