Live data from Hacker News

Open-Sourcing Windows Calculator

blogs.windows.com

121–130 of 184 posts

Re: Open-Sourcing Windows Calculator

#121
post #44
post #7

https://github.com/Microsoft/calculator#data--telemetry "This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. Telemetry is disabled in development builds by default, and can be enabled with the SEND_TELEMETRY build flag." Even on a simple calculator.

I had an interview last year with the Windows and Devices Group. On the day of the interview, I was told it would be with people that work on telemetry. One interviewer told me that keystrokes were being measured by conhost.exe. Not just for internal testing. He clarified that it was done on customer machines. It wasn't clear if they collected individual key presses because we were discussing something you could infe…

That is such an outrageous claim I had to check for myself.

From looking at conhost.exe in IDA Pro, there are some references to telemetry in a function HandleKeyEvent: https://i.imgur.com/MwaBLcW.jpg

But looking more closely it's just used to increase some counters when Ctrl+C or Ctrl+V are used: https://i.imgur.com/29e2qLD.png

There is another one for Ctrl+A elsewhere in the function as well.

Seems these are for when clipboard operations happen, there is other telemetry nearby for when key activity causes a paste: https://i.imgur.com/xONKrGJ.png

So Microsoft are indeed collecting keystroke telemetry in conhost.exe, but it's just some boring old counters to measure clipboard usage.

Re: Open-Sourcing Windows Calculator

#122
post #7

https://github.com/Microsoft/calculator#data--telemetry "This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. Telemetry is disabled in development builds by default, and can be enabled with the SEND_TELEMETRY build flag." Even on a simple calculator.

This seems to be the reason they put the telemetry in. They were solving a bug related to the time calculation feature. And, needed to discover if any customers had issues after the change was made. https://github.com/Microsoft/calculator/blob/057401f5f2b4bb1...

Solve a bug in a calculator app needs telemetry? Jeez. I guess there's no other way. Every bug now needs to be solved with telemetry.

Re: Open-Sourcing Windows Calculator

#123
post #7

https://github.com/Microsoft/calculator#data--telemetry "This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. Telemetry is disabled in development builds by default, and can be enabled with the SEND_TELEMETRY build flag." Even on a simple calculator.

Here's what they are actually collecting: https://github.com/Microsoft/calculator/blob/master/src/Calc...

Why have all the single-use constant strings instead of using the corresponding literals in-place? It’s additional lines of code and doesn't help readability/maintainability (there's already one unused const - EVENT_NAME_HIDE_IF_SHOWN). Additionally, the code mixes string literals with constants:

    fields.AddString(L"AddSubtractMode", isAddMode ? L"Add" : L"Subtract");
    LogTelemetryEvent(EVENT_NAME_DATE_ADD_SUBTRACT_USED, fields);
But then it doesn't use constants where it might make sense, when a string is used more than once. e.g. the literal string "WindowId" is used a dozen times.

Separately, I question whether anyone looking at the telemetry on the backend. In my experience, developers add this stuff because they think it will be useful, then it never or rarely gets looked at. A telemetry event here, a telemetry event there, pretty soon you're talking real bandwidth.

Re: Open-Sourcing Windows Calculator

#124
post #7

https://github.com/Microsoft/calculator#data--telemetry "This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. Telemetry is disabled in development builds by default, and can be enabled with the SEND_TELEMETRY build flag." Even on a simple calculator.

Basically every Android and IOS app you use collects telemetry (which you usually cannot disable) for UX purposes but suddenly when Microsoft does it it's a Big Deal. I don't see the issue with refining UX using anonymous data if it improves the product for the end users. Every high quality commercial app does this.

Is this data actually anonymous? I can't find anything saying so.

Apple does not collect data at anywhere near this granularity, e.g. which buttons were pressed.

Re: Open-Sourcing Windows Calculator

#125
post #111

Earlier quoted context omitted.

This is actually pretty relevant because TI has been goofing up the cube root function in its calculators for decades.

How is that telemetry relevant? The bug needs to be fixed no matter how many people use it.

TI doesn’t think anyone actually uses it in a nontrivial manner.

Re: Open-Sourcing Windows Calculator

#126
post #75

Earlier quoted context omitted.

This is an issue with any math-related tool in general, including the specialized software, where bugs are much much more sophisticated. Most App Store/Microsoft Store/Google Play apps can't be trusted even for simple square root and trigonometry calculations.

I know it's totally overkill, but I use Mathematica for even simple arithmetic computations. I assume that the developers have ironed most of the obvious bugs.

I think Mathematica uses the GNU multiple precision arithmetic (gmp) library itself in many cases.

Re: Open-Sourcing Windows Calculator

#127

Earlier quoted context omitted.

The Scientific/Math/Programmer expanded calculators have a bunch of features. Maybe they can test how often the "cube root" button is used versus Arcsinh or something.

This is actually pretty relevant because TI has been goofing up the cube root function in its calculators for decades.

I have a hard time believing this and can't find any details online. Source please?

Re: Open-Sourcing Windows Calculator

#128
post #63
post #21

Earlier quoted context omitted.

Telemetry is not used for ads, but since it is open-source you can check and get a pretty good idea what they actually send.

How can you be sure it's not used for ads, their privacy statement says they do[1]: "You provide some of this data directly, and we get some of it by collecting data about your interactions, use, and experiences with our products." "Microsoft uses the data we collect to provide you with rich, interactive experiences. In particular, we use data to: ... Advertise and market to you, which includes sending promotional co…

You're looking for: https://privacy.microsoft.com/en-gb/privacystatement#mainadv... (data seems different on the US site?)

TL;DR: AdvertisingID handles ad tracking in windows and can be opted out of during install, in settings and globally on your account. AFAIK you can also wipe any previously tracked data. AID tracking is unrelated to telemetry.

Telemetry does not contribute to advertising at all unless "tailored experiences" is enabled in settings, and even then the data is mostly used for Microsoft to suggest features and fixes for problems.

Re: Open-Sourcing Windows Calculator

#129
The history is truncated on GitHub. (first real commit is https://github.com/Microsoft/calculator/commit/c13b8a099eea1... ) They're using GitHub to merge PRs now.

Was this source previously in the Windows repository? Has all development moved to GitHub? If it was in the Windows repo, are they mirroring it back?

Do they still have the old history? There are multiple ways to deal with this in git (grafts, replacements) I wonder if they're using anything like this to get full history, internally.

Re: Open-Sourcing Windows Calculator

#130
post #44

Earlier quoted context omitted.

I had an interview last year with the Windows and Devices Group. On the day of the interview, I was told it would be with people that work on telemetry. One interviewer told me that keystrokes were being measured by conhost.exe. Not just for internal testing. He clarified that it was done on customer machines. It wasn't clear if they collected individual key presses because we were discussing something you could infe…

That is such an outrageous claim I had to check for myself. From looking at conhost.exe in IDA Pro, there are some references to telemetry in a function HandleKeyEvent: https://i.imgur.com/MwaBLcW.jpg But looking more closely it's just used to increase some counters when Ctrl+C or Ctrl+V are used: https://i.imgur.com/29e2qLD.png There is another one for Ctrl+A elsewhere in the function as well. Seems these are for wh…

But how can that be when "... the engineering lead owning conhost.exe: I can't find anything in our code that would trace user input, or data effectively derived from user input, to even a local event stream."
Post reply on HN