Giter Club home page Giter Club logo

Comments (23)

Glavin001 avatar Glavin001 commented on July 22, 2024 1

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.

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024 1

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.

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

Use https://www.npmjs.org/package/universal-analytics

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

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

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024
  • Track atom-beautify version number

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024
  • Track unsupported grammars

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024
  • Switch to using Segment.io, with write key u3c26xkae8.

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

See https://github.com/Glavin001/atom-preview/blob/master/lib/preview-view.coffee#L49-L61 and https://github.com/Glavin001/atom-preview/blob/master/lib/preview-view.coffee#L194-L204 for examples.

from atom-beautify.

jerone avatar jerone commented on July 22, 2024

@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?

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

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!

from atom-beautify.

jerone avatar jerone commented on July 22, 2024

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.

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

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.

from atom-beautify.

jerone avatar jerone commented on July 22, 2024

@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.

from atom-beautify.

curtisblackwell avatar curtisblackwell commented on July 22, 2024

Where is the Analytics User ID supposed to come from?

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

@curtisblackwell : Analytics User Id is generated here: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/index.coffee#L467-L469

from atom-beautify.

beautispy avatar beautispy commented on July 22, 2024

Terrible

from atom-beautify.

agauniyal avatar agauniyal commented on July 22, 2024

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

from atom-beautify.

cortopy avatar cortopy commented on July 22, 2024

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

from atom-beautify.

cortopy avatar cortopy commented on July 22, 2024

@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.

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

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.

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

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.

from atom-beautify.

cortopy avatar cortopy commented on July 22, 2024

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

from atom-beautify.

Glavin001 avatar Glavin001 commented on July 22, 2024

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

from atom-beautify.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.