microsoft / calculator

Windows Calculator: A simple yet powerful calculator that ships with Windows
MIT License
29.6k stars 5.36k forks source link

Remove arbitrary unit conversions #335

Closed DennisGaida closed 5 years ago

DennisGaida commented 5 years ago

I don't know if this is a bug or a discussion? Please reclassify if I misplaced this as a bug.

Describe the bug Microsoft officially stopped including easter eggs with the Trustworthy Computing Initiative in 2002. There are many (but random) arbitrary conversion units like the following:

With "random" I mean that they appear without any user discernible logic, take this example:

  1. conversion from thermal calories to electron volts
  2. 20 --> yields 0,01 batteries (what is "one battery"?)
  3. 20.000 --> yields 0,19 bananas
  4. 200.000 --> yields 0,8 slices of cakes

Whereas I personally think this is humorous there is no added value besides the "little smile" these conversions yield. The user does not know what "1 banana" equals since it cannot be chosen as a conversion unit, equally for all the other "funny" units. I can't work with the units at all since they seemingly randomly switch to the next unit (compare above banana to slice of cake switch - why can't I see how many bananas are 200.000 thermal calories?).

For me either remove these funny units, or make them real units so that I can convert e.g. 20 thermal calories to banana directly (by using the dropdown). Right now this very much feels like an easter egg which shouldn't exist as far as I know.

Steps To Reproduce

  1. start the calculator
  2. conversion from thermal calories to electron volts
  3. enter 20 --> observe result and the last unit which is 0,01 batteries (what is "one battery"?)
  4. enter 20.000 --> observe result and the last unit which is 0,19 bananas
  5. enter 200.000 --> observe result and the last unit which is 0,8 slices of cakes

Expected behavior Either not have "funny" units of conversions or make them first-class-units to be selectable from the conversion dropdowns.

Device and Application Information (please complete the following information):

MicrosoftIssueBot commented 5 years ago

This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it.

miloush commented 5 years ago

I don't consider these to be easter eggs, they are not even hidden. And personally I find these numbers informative; not entirely sure I understand what is the issue.

I-Campbell commented 5 years ago

I see your point, @DennisGaida, that the unit conversions described in the code as "Whimsical" in their present form are more to delight the user and are a bit more education focused than professional focused. I prefer your suggestion of changing their behaviour as apposed to deleting them. Imagine you want to express how much something weighs but have no prior knowledge of any common units of weight. You would need a real world example that you could relate to. I would like to see the ability to distinguish between 'abstract' units ie. pounds, newtons and 'real world approximations / exact values'. Better titles would be needed though. I agree that choosing the real world equivelant is important, as apposed to the existing functionality that chooses for you. Perhaps the best would be if calc.exe initially chose for you, but you could alter it later. Sorting by magnitude has merits, as does sorting alphabetically.

PeterWone commented 5 years ago

Calorie counting is an entire industry. While it might be helpful to link to documentation for units like banana and battery, I don't think they are entirely gratuitous. In fact, having framed this thought, one might argue for supporting user defined conversions or sourcing suites of conversions. For example, I can easily imagine my girlfriend wanting to know how many biscuits remain in her caloric budget after eating an entire tub of pad thai. Of course this doesn't need to be in Windows Calculator, it could be an app in its own right.

grochocki commented 5 years ago

@DennisGaida Thanks for opening this for discussion! My thoughts:

Imagine you want to express how much something weighs but have no prior knowledge of any common units of weight. You would need a real world example that you could relate to.

This is exactly the purpose behind these units. I think we can do a better job a documenting these (#120 tracks that), and I think we can do a better job at ensuring the units we pick are both broadly applicable and up-to-date (e.g., #120 discusses how "jet" may not be the best comparison for speed), but in general, we want to provide a "real world" approximation for conversions to help users conceptually grasp the magnitude of the values being displayed.

For me either remove these funny units, or make them real units so that I can convert e.g. 20 thermal calories to banana directly (by using the dropdown).

The context that 250ml/0.25L is about equal to 1 coffee cup when performing that conversion helps me understand the magnitude of the volume I am working with. Converting 250ml to "coffee cups" would be attempting to take a clearly defined unit and convert it to an approximate one, so I don't think it makes sense to add these units as conversion in the dropdown.

I agree that choosing the real world equivelant is important, as apposed to the existing functionality that chooses for you. Perhaps the best would be if calc.exe initially chose for you, but you could alter it later. Sorting by magnitude has merits, as does sorting alphabetically.

We already change what we display based on magnitude! I think we could do more here, though (for example, "bathtubs" is the largest whimsical unit we support before dropping it once you reach a certain magnitude)

image

image

Calorie counting is an entire industry.

Very true. Maybe there is something more representative than "banana", but I think we want to be cautious about trying to do too much with calories in particular.

DennisGaida commented 5 years ago

Very good points Dave and thanks for the in-depth insights!

This is exactly the purpose behind these units. I think we can do a better job a documenting these (#120 tracks that), and I think we can do a better job at ensuring the units we pick are both broadly applicable and up-to-date (e.g., #120 discusses how "jet" may not be the best comparison for speed), but in general, we want to provide a "real world" approximation for conversions to help users conceptually grasp the magnitude of the values being displayed.

Yes! I looked for documentation prior to opening this discussion but since there wasn't any I thought this might be a "funny joke" by some dev. I like that there actually is some thought behind the reference units and I agree with your reasoning. I didn't see #120 before and thanks for linking to it - it is about the same issue.

We already change what we display based on magnitude! I think we could do more here, though (for example, "bathtubs" is the largest whimsical unit we support before dropping it once you reach a certain magnitude)

I know you make changes based on magnitue, but the behavior right now - besides being a mental reference image - is not understandable for a user without documentation. Maybe I would like to know how many bathtubs 200mL is because my world is bathtubs all the way? Why am I shown the one unit over the other? Why am I shown calories in bananas and not in steaks (that's what I mean with arbitrary btw)?

I do like the idea of real world references for units. This helps forming mental images. We do need some documentation though in the form of "For fluid measurements we chose coffee cups (250ml), bathtubs (x Liters) and XYZ for comparison, we know these measurements are not exact units but they help understanding units in a deeper way" or something like that.

grochocki commented 5 years ago

@DennisGaida We had the chance to review this pitch more closely, and we feel like there is definitley something we can do to audit/improve the appoximation units we display and how we display them (for example, maybe we should add "olympic size swimming pool" for really large volumes), but not sure if this issue captures it best, so I am leaning towards closing this particular discussion and opening a new issue to track the improvements. Thoughts? If you agree, would you be interested in putting that together or would you prefer I do that?

DennisGaida commented 5 years ago

Thoughts? If you agree, would you be interested in putting that together or would you prefer I do that?

I think it is smarter that you open a new issue since the team might have different ideas than I do about what would help the user.

Personally I would like to have documentation - why do the whimsical units exist and which units exist? Visually maybe a different styling for the whimsical units might be in order to separate them more clearly from real units such as yards or kilos.

grochocki commented 5 years ago

Closing this issue. Lets continue the conversation in #497.