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

Google Analytics #47

Closed
1 task done
Glavin001 opened this issue Jul 12, 2014 · 23 comments
Closed
1 task done

Google Analytics #47

Glavin001 opened this issue Jul 12, 2014 · 23 comments
Assignees
Milestone

Comments

@Glavin001
Copy link
Owner

  • Track most popular languages beautified (so we know what to prioritize development on)
@Glavin001 Glavin001 self-assigned this Jul 12, 2014
@Glavin001 Glavin001 added this to the v1.0.0 milestone Jul 12, 2014
@Glavin001
Copy link
Owner Author

@Glavin001
Copy link
Owner Author

^ Did not work. Using https://github.com/Skookum/nodealytics

@Glavin001
Copy link
Owner Author

  • Track atom-beautify version number

@Glavin001
Copy link
Owner Author

  • Track unsupported grammars

@Glavin001
Copy link
Owner Author

  • Switch to using Segment.io, with write key u3c26xkae8.

@jerone
Copy link

jerone commented Feb 16, 2015

@Glavin001 commented on 12 jul. 2014 15:55 CEST:

  • Track most popular languages beautified (so we know what to prioritize development on)

Do you have a priority list that you can post here?

@Glavin001
Copy link
Owner Author

Here's what I see on Google Analytics:

image

These metrics are records of each time beautify is applied. JavaScript and HTML are still the top, and a number of users are beautifying Atom editor when it has not detected a grammar, hence Null Grammar.

My priorities would be to help those languages used the most, however this is not always the case, as some issues are much more drastic bugs and should be fixed first.

Hope this helps!

@jerone
Copy link

jerone commented Feb 16, 2015

Great info! 👍 JavaScript clear winner, HTML used a lot too. Didn't expect PHP to be there.

It might be interesting to log which extensions cause the Null Grammar, so you can have a prioritized todo-list for future languages.

I'm also wondering if those Null Grammer are caused by traversing the tree when Beautify Directory or when manually forcing to beautify a not supported file.

@Glavin001
Copy link
Owner Author

Here is the applicable code for tracking events with analytics: https://github.com/Glavin001/atom-beautify/blob/master/lib/language-options.coffee#L502-L510
Using Segment.io: https://github.com/segmentio/analytics-node

It might be interesting to log which extensions cause the Null Grammar, so you can have a prioritized todo-list for future languages.

Using extensions is a good idea. Maybe a hybrid: <grammar>:<extension> for event, such that it'd be Null Grammar:ext.

@jerone
Copy link

jerone commented Feb 16, 2015

@Glavin001 commented on 16 feb. 2015 21:57 CET:

Using extensions is a good idea. Maybe a hybrid: <grammar>:<extension> for event, such that it'd be Null Grammar:ext.

That sounds like a great idea.

Besides that I can't find where the literal Null Grammar is coming from, my CoffeeScript knowledge is too low to make a PR.

@Glavin001 Glavin001 mentioned this issue May 3, 2015
2 tasks
@curtisblackwell
Copy link

Where is the Analytics User ID supposed to come from?

@Glavin001
Copy link
Owner Author

@beautispy
Copy link

Terrible

@agauniyal
Copy link

Could you make it 'opt-in' feature rather than an 'opt-out'? I'll happily enable it even after that 😄

@cortopy
Copy link

cortopy commented Aug 25, 2016

Too bad. I love this package but I'm too worried about privacy. This feature should be clearly mentioned in the README file.

@Glavin001
Copy link
Owner Author

I am open to Pull Requests addressing concerns. However, at the current time I am unable to allocate time to this.

Applicable section of code: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/index.coffee#L212-L229

I would be happy to accept Pull Requests regarding:

  • Improving README with more information
  • Changing how analytics are tracked to ensure the user can said yes first
    • Set analytics option to default to null: https://github.com/Glavin001/atom-beautify/blob/master/src/config.coffee#L12
    • When track is called:
      • check if analytics is null, if so, show user a prompt asking if they are okay with tracking (Yes / No).
        • Prompt message should explain what is currently being tracked (language beautified, errors, performance/timing)
        • Do not track analytics if null (only when true)
        • If Yes, set analytics to true
        • If No, set analytics to false
      • check if analytics = true
        • track analytics
      • check if analytics = false
        • do no track analytics
    • Thus, all users would have to have explicitly confirmed that they do or do not want analytics tracked
      • User will not be tracked until they answer explicitly yes
      • user will see prompt every time they beautify until they select either yes or no (no longer null)

I'm too worried about privacy

I'm not really sure what privacy concerns there are and how useful this data is.
You can see in the source code what exactly is being tracked.
It is useful to me as the maintainer and a developer to understand which languages/beautifiers have the most bugs/errors and which languages may not be supported and therefore should be added to Atom-Beautify.


For anyone concerned with this, I encourage you to make a Pull Request based on my outline above. That is all I can do, and since I do not have the time to do it right now, it is therefore up to you to contribute and resolve your issue. We are part of the open-source community. We can all contribute to improving this package such that we are happy with it. As always, please let me know if you have any questions.

@cortopy
Copy link

cortopy commented Aug 25, 2016

@Glavin001 the issue has to with the fact that Google has data about me which they and not you own. Anything that uses Google analytics faces this issue. Basically you're forcing users to submit data to a third party without them knowing or having consented to.

This is borderline illegal in the EU. Also, in two years time, no data about European citizens can be stored in US servers, which is what's probably happening right now.

@Glavin001
Copy link
Owner Author

Thank you for further explaining the issue. I definitely would like this resolved.
Please feel free to submit a Pull Request and I will review, merge, and publish it ASAP. If you have any questions about the source code, please let me know and I will be happy to help as much as I can. Thank you.

@Glavin001
Copy link
Owner Author

I have added a section to the top of the README: https://github.com/Glavin001/atom-beautify#important-notice-analytics
Please submit a Pull Request if you would like to improve the verbiage.

As said above, unfortunately I am unable to make the necessary changes (at this time) to Atom-Beautify such that there is an interface walking new users through the analytics and receiving confirmation. Google Analytics was put in place a fairly long time ago when there were less users and Atom-Beautify was changing rapidly with the intent to better understand the needs of the users and where improvements should be made (catch errors, improve most used languages support, etc).
I encourage everyone to contribute to the Atom-Beautify code so we can resolve any of these concerns you have. Thank you.

@cortopy
Copy link

cortopy commented Aug 26, 2016

Thank you @Glavin001!! That was really quick and useful. Personally, I think that's all that's needed. User knows what's happening and can easily opt out/in. Very clear

@Glavin001
Copy link
Owner Author

Excellent! I'm glad this works! I actually thought there was already mention of analytics in the README and that maybe it was too far down on the README, however it turns out that must have been a different project because there was not a note except in the options documentation. Thank you for bringing this to my attention. Let me know if there's anything else I can do.

@Glavin001
Copy link
Owner Author

Please subscribe to #1179 for further updates. Atom-Beautify will be using Atom's core.telemetryConsent configuration option soon!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants