11 ms·
> Lots of FUD as usual with these topics. > It's definitely nothing out of the ordinary and is common practice among many tools and apps you already use. Also
by bhrgunatha 9y ago
> Lots of FUD as usual with these topics.
> It's definitely nothing out of the ordinary and is common practice among many tools and apps you already use.
Also as usual it's opt-out and NOT opt-in. People get riled because (usually)
a) built in telemetry is almost always an unexpected and unannounced change - only to be discovered later.
b) opt-in is the only approach that leaves your trust in tact - everyone uses opt-out because they know the majority of users people will not choose to opt in given a choice.
- manigandham 9y agoI don't see how it's unexpected when you get a message telling you when you first run it - and the only thing to do with this tool is to run commands explicitly. Most apps are opt-out though, the checkboxes are already checked and a message shown. I agree that it would be easier to just enter an option on the command line instead of typing the environment variable option.
- flukus 9y ago> I don't see how it's unexpected when you get a message telling you when you first run it - and the only thing to do with this tool is to run commands explicitly. What about when it's run through VS or some other tool that hides much of the text? How does it know that I've read this information when it could be buried in several thousand lines of output from itself and other tools like make or msbuild? Being explicit about opt-out is even less acceptable for command line tools than it is GUI based ones.
- cjsuk 9y agoExactly. It only takes one misconfiguration for your build server to call home. It should take one misconfiguration for your hold server to not call home. Slightly subtle inversion there.
- benaadams 9y ago> What about when it's run through VS or some other tool that hides much of the text? VS uses MSBuild rather than the dotnet cli (its also what the dotnet cli calls)
- throwaway613834 9y ago> I don't see how it's unexpected when you get a message telling you when you first run it https://github.com/dotnet/cli/issues/3093#issuecomment-326327218 https://github.com/dotnet/cli/issues/3093#issuecomment-32632...
- manigandham 9y agoIt's a comment about something they saw in the install script. Since the code is right there in the repo, that would be the actual source to see if it does indeed send telemetry. Perhaps someone can do that to settle this definitely.
- throwaway613834 9y agoI'm confused. Why in the world would it be calling ProcessInputAndSendTelemetry() if it wasn't actually trying to send telemetry?
- benaadams 9y agoIt always calls the Telemetry class; however is functions are disabled based on the settings - so won't actually send anything if environment variable is set https://github.com/dotnet/cli/blob/22cd85daf6ca63a48e35fc7e278a7dba4d81dc6f/src/dotnet/Telemetry/Telemetry.cs#L32-L34 https://github.com/dotnet/cli/blob/22cd85daf6ca63a48e35fc7e2...
- deleted 9y ago[deleted]
- ksk 9y agoIf you are confused, why not just read the source?
- benaadams 9y agoIt always calls the Telemetry class; however is functions are disabled based on the settings - so won't actually send anything if environment variable is set https://github.com/dotnet/cli/blob/22cd85daf6ca63a48e35fc7e278a7dba4d81dc6f/src/dotnet/Telemetry/Telemetry.cs#L32-L34 https://github.com/dotnet/cli/blob/22cd85daf6ca63a48e35fc7e2...
- sjellis 9y ago"Most apps are opt-out though, the checkboxes are already checked and a message shown." IMO, this is the key problem. I have no issue with optional telemetry, but there should be a bright line here: all telemetry should be opt-in. If necessary, by law. It should not become standard practice for applications to send data without explicit consent.
- hvidgaard 9y agoMost applications will claim that it is explicit consent since you have to click "OK", and then try and argue that a preselected checkbox is not the same as opt-out.
- johnlbevan2 9y agoMaybe we need nullable checkboxes; so you have to explicitly make a choice either way, rather than leaving things to default. - If you have to opt in, most people won't bother as it's not of direct benefit to them (even though overall it's beneficial to the community the more people who do opt in). - If you have to opt out, people will complain even where the option's made explicitly clear (i.e. where it's not an attempt at being devious / a deliberate dark pattern). Admittedly then people complain that they have to make a choice / can't just install-and-go... :/.
- giancarlostoro 9y agoAn off-topic mention, everytime I think of a project I'm taking over and seeing "nullable booleans" I'm left wondering why the developer before me went with that approach, there's no commentary as to why nor do I see any indication of nullable booleans being used in any special way / case. Can any dev out there give me a good use-case aside from forcing someone to check something, and should nullable booleans mostly make sense on front-end as opposed to back-end code? How does a GUI define something is nullable, if a user has not selected it but it's unselected by default.. I find it all a bit confusing...
- throwanem 9y agoA checkbox is the wrong UI control for this, because its two states (checked and unchecked) do not cleanly map to the three possible values (true, false, no value). Radio buttons come closer, but most UI widget libraries provide no way to select none of a radio group once one has been selected. So you can have a radio button each for true and false, and default to no value (i.e. neither selected), but the user can't change her mind and go back to no value. Sometimes that's okay, as when no value is invalid or meaningless in the context of the form. When it's not, the best solution I have is a select box with three options; three radio buttons in a group would work too from a semantic perspective, but necessitate a probably confusing label on the no-valued one, where a blank option in a select box is much likelier to make intuitive sense to the user, especially if it's the default. For required fields, either works. With the select box, making the no-valued option default requires the user to interact with the field, and the same holds for a radio button pair that has no button selected by default. In either case, if the field's value is null rather than false, you know no selection was made and can complain accordingly.
- gcb0 9y ago> telemetry > opt-out Just like Google's chrome, flutter, android sdk, etc. Just like apple osx, xcode, etc. Macromedia everything. the list goes on. Even mozilla who had it right now have so many telemetry modules that most ignore the main setting about it. my point? I don't think I have any other than to highlight this is a lost cause and everyone should be eternally vigilant with everything :(