Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opt-in error reporting and anonymous usage reporting #774

Closed
olizilla opened this issue Sep 4, 2018 · 8 comments
Closed

Opt-in error reporting and anonymous usage reporting #774

olizilla opened this issue Sep 4, 2018 · 8 comments
Assignees
Labels
kind/discussion Topical discussion; usually not changes to codebase

Comments

@olizilla
Copy link
Member

olizilla commented Sep 4, 2018

Not a blocker for releasing v2, but we're rolling out a new codebase so that means exciting new bugs that we haven't found yet.

It'd be great to get user errors reported automatically, in a way that we can see what's happening with real usage, and have a service we can point users to if they want to find out more / solve the problem / contribute to a fix. The error reporting should be opt-in, respectful of user privacy and give us stack traces and runtime environment info.

More broadly, it'd be great to have some anonymous, opt-in usage stats so we can see what functions are popular and what isn't getting used, so we can focus the user testing to figure out if the feature is superfluous or if it's the UX that is getting in the way.

@olizilla olizilla added kind/discussion Topical discussion; usually not changes to codebase revamp labels Sep 4, 2018
@lidel
Copy link
Member

lidel commented Sep 5, 2018

There is a problem with "opt-in usage stats so we can see what functions are popular" because if it is an opt-in you will have unrepresentative sample of people :) If we want to gather meaningful usage data, it needs to be enabled by default (opt-out). The tricky part is to ensure we don't store/send any personal data.

I feel "Telemetry" project in Firefox may be a good example how to do it right:

It's helpful for Mozilla's engineers and decision-makers to be able to measure how Firefox behaves in the real world. The Telemetry feature provides this capability by sending performance and usage info to Mozilla. As you use Firefox, Telemetry measures and collects non-personal information, such as performance, hardware, usage and customizations. It then sends this information to Mozilla on a daily basis and we use it to improve Firefox.

@olizilla olizilla removed the revamp label Sep 27, 2018
@lidel
Copy link
Member

lidel commented Nov 19, 2018

cc ipfs/ipfs-desktop#697 (Opt-in error reporting in ipfs-desktop)

@olizilla
Copy link
Member Author

olizilla commented Jan 7, 2019

See also ipfs/ipfs-gui#72

@olizilla
Copy link
Member Author

work in progress on the CTA

screenshot 2019-01-29 at 12 28 33

@olizilla
Copy link
Member Author

@lidel on opt-in vs opt-out, do you think we should just tick the checkbox on the settings page by default, and let people uncheck if they don't want analyitcs. We chould automatically uncheck if their browser has doNotTrack enabled.

@olizilla
Copy link
Member Author

OK, I'm leaning towards

  • analytics is anonymous telemetry - no file paths, no CIDs, just which app sections are you viewing, session length, browser version, OS, screen-size etc.
  • if you never explicitly opt in or opt out, then it defaults to your global navigator.doNotTrack preference.
  • on first run, if you have doNotTrack ==== 1 then analytics is off, and we show an ask on the status page if you would consider enabling analytics for this app.
    • If you answer yes, then your preference is stored and used in favour your doNotTrack
    • if no we store that, and we continue to not enable analytics even if you later change your doNotTrack setting in your browser.

@olizilla
Copy link
Member Author

WIP in #930

@jessicaschilling
Copy link
Contributor

Closed (stale). Please re-open if necessary - thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/discussion Topical discussion; usually not changes to codebase
Projects
None yet
Development

No branches or pull requests

3 participants