I'm writing an application that deals with the network and the hard drive. For the network portion, the application measures in bits per second, while the disk portion measures in bytes per second. This becomes an issue as they both are abbreviated b/s or bps everywhere I've seen. How could I inform the user that one means bits per second, while the other means bytes per second?

If I were writing a specification, I could just add a footnote, but as this is an application, I can't do that.

So, my question is How do I tell a user that one means bits per second while the other means bytes per second and how would I style the lettering (i.e. megabinarybytes is MiB, but what is megabinarybits)?

  • It would be nice if people would explain why they downvoted me... This seems on topic and I did search. – Cole Johnson Apr 28 '13 at 2:33
  • 1
    This should be one of those million dollar questions.. As a programmer, I sometimes have trouble differentiating these when using other's apps. For the average user? I recommend spelling it out. – jpaugh Apr 28 '13 at 5:52

How do I tell a user that one means bits per second while the other means bytes per second and how would I style the lettering

Seems like this is one of those things that you get to decide as the designer of the program. There are lots of options, including but not limited to:

  • spell it out: Eliminate the ambiguity by simply writing "bytes/sec" or "bits/sec".

  • tooltips: User hovers the cursor over any of the places in the program where an abbreviation for a measurement is used, and a tooltip appears displaying the unit name spelled out.

  • help: Describe the units of measure in online help.

  • choose one: Pick one unit and use it everywhere.

  • user chooses: Why can't the user click on any measurement in the program and get a choice of what units to use?

  • 2
    +1 for "spell it out". Anytime the abbreviation makes the writing less understandable, it shouldn't be abbreviated. – Ross Patterson Apr 28 '13 at 12:22

The abbreviations for bits and bytes are differentiated by their case: lower case (b) means bits and upper case (B) means bytes.

  • 2
    But how is the user supposed to know that? – Cole Johnson Apr 28 '13 at 1:50
  • 1
    If they care, they will either already know, or they will ask. Just stick with the proper case. – Craige Apr 28 '13 at 1:55
  • 6
    "they will either already know, or they will ask" THAT'S CRAZY TALK! Customers get angry when they have to ask! :/ – Cole Johnson Apr 28 '13 at 2:04
  • If you get the units right (rather than making up nonstandard units to confuse people who are likely already confused by people using nonstandard units in the past) you can still provide things like tooltips and online help. Note that "getting it right" also means using the correct prefixes (e.g. k, M, G, and Ki, Mi and Gi). – Brendan Apr 28 '13 at 8:50
  • 1
    @ColeJohnson: How is the user supposed to know that there are eight bits in a byte? – Blrfl Apr 28 '13 at 12:45

If you are writing the entire application yourself, why not just normalize all the messages to use the same unit?

The engineer in me would also ask if that is useful information at all to be presenting to the user? If they don't know what it means, then what are they going to use it for?

  • What disk application have you seen that measures in bits per second? I can understand bytes per second for networking, but bits per second is a de facto for network speed. – Cole Johnson Apr 28 '13 at 2:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.