Google Analytics
Glavin001 opened this issue ยท 23 comments
- Track most popular languages beautified (so we know what to prioritize development on)
^ Did not work. Using https://github.com/Skookum/nodealytics
- Track
atom-beautify
version number
- Track unsupported grammars
- Switch to using Segment.io, with write key
u3c26xkae8
.
@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?
Here's what I see on Google Analytics:
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!
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.
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
.
@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 beNull 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.
Where is the Analytics User ID supposed to come from?
@curtisblackwell : Analytics User Id is generated here: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/index.coffee#L467-L469
Terrible
Could you make it 'opt-in' feature rather than an 'opt-out'? I'll happily enable it even after that ๐
Too bad. I love this package but I'm too worried about privacy. This feature should be clearly mentioned in the README file.
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 tonull
: 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 whentrue
) - If Yes, set
analytics
totrue
- If No, set
analytics
tofalse
- check if
analytics
=true
- track analytics
- check if
analytics
=false
- do no track analytics
- check if
- 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
orno
(no longernull
)
- User will not be tracked until they answer explicitly
- Set
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.
@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.
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.
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.
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
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.