mamaral / xkcd-Open-Source

A free and open source xkcd comic reader for iOS.
MIT License
256 stars 45 forks source link

Remove tracking/Add option to disable tracking #48

Closed JohnMH closed 7 years ago

JohnMH commented 7 years ago

I am concerned that this software is tracking users without their consent, and without the option for users to disable this tracking. After reviewing the source of this application, I see that almost every event is tracked.

mamaral commented 7 years ago

Feel free to open a pull request.

JohnMH commented 7 years ago

On Thursday, December 8, 2016 12:19:05 PM EST Mike Amaral wrote:

Feel free to open a pull request.

I am not an iOS developer, I don’t know Objective C, and I don’t have the ability to test changes if I were to make any. I don’t have a device running Apple’s proprietary operating system.

-- John M. Harris, Jr. OpenBlox https://openblox.org/

mamaral commented 7 years ago

Just curious, if you're not an iOS developer, don't know the language, and don't have an iOS device, what lead you to "review the source" of this application?

JohnMH commented 7 years ago

Somebody joined a channel I frequent on the Freenode IRC network, and asked for an opinion of this software. I saw Google Analytics mentioned in the README and searched the code for calls to GTrack, wondering if there was at least an option to opt out.

On December 9, 2016 12:12:33 AM EST, Mike Amaral notifications@github.com wrote:

Just curious, if you're not an iOS developer, don't know the language, and don't have an iOS device, what lead you to "review the source" of this application?

-- John M. Harris, Jr. PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

JohnMH commented 7 years ago

And when I mentioned Apple's proprietary OS, I was referring to Mac, which, as I understand, is required to compile iOS applications.

On December 9, 2016 12:12:33 AM EST, Mike Amaral notifications@github.com wrote:

Just curious, if you're not an iOS developer, don't know the language, and don't have an iOS device, what lead you to "review the source" of this application?

-- John M. Harris, Jr. PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

mamaral commented 7 years ago

No, and obviously you can tell from the code I track exactly zero personal information. I mainly use it for high-level basic usage and error tracking so I can make the experience better for people. I believe I track 7 events TOTAL in the entire app. Given that I put this software out for free, without ads, purely for fun in my free time and for educational purposes its highly unlikely I'll get the time and resources to have a privacy policy drafted and submit an update to the app store.

JohnMH commented 7 years ago

I don't know why you would need a privacy policy, can't you just make a setting to disable tracking and do

if(trackingOptIn){ trackUserAction(); }

Please excuse the C style psuedocode.

On December 9, 2016 12:25:41 AM EST, Mike Amaral notifications@github.com wrote:

No, and obviously you can tell from the code I track exactly zero personal information. I mainly use it for high-level basic usage and error tracking so I can make the experience better for people. I believe I track 7 events TOTAL in the entire app. Given that I put this software out for free, without ads, purely for fun in my free time and for educational purposes its highly unlikely I'll get the time and resources to have a privacy policy drafted and submit an update to the app store.

-- John M. Harris, Jr. PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

mamaral commented 7 years ago

I could. That would require writing the code and submitting a new version to the app store, which given that (as mentioned) I make no money from this, have a full-time career and a normal life, I honestly don't have the time or desire to bother with. It also would reset all of the nice reviews I've gotten on the current version of the app that I regularly glance at when I'm feeling down.

I'd rather disable the Google analytics account and not be bothered with it at all, because honestly other than knowing a some edge-case HTTP errors the app has encountered in the past, the information I track is virtually meaningless to me.

JohnMH commented 7 years ago

My concern, and that of the user who asked for my opinion, was that the tracking code is in place to begin with, the account itself isn't an issue.

It is unfortunate if Apple deletes reviews upon upload of a new version. That is ridiculous.

On December 9, 2016 12:31:41 AM EST, Mike Amaral notifications@github.com wrote:

I could. That would require writing the code and submitting a new version to the app store, which given that (as mentioned) I make no money from this, have a full-time career and a normal life, I honestly don't have the time or desire to bother with. It also would reset all of the nice reviews I've gotten on the current version of the app that I regularly glance at when I'm feeling down.

I'd rather disable the Google analytics account and not be bothered with it at all, because honestly other than knowing a some edge-case HTTP errors the app has encountered the information I track is virtually meaningless to me.

-- John M. Harris, Jr. PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

mamaral commented 7 years ago

It's easier to delete the Google analytics tracking bucket for that "code" than it is to remove it from the app and re-submit. As soon as I can figure out how to delete it on the Google console, I will. Tell your associate he can opt-out by uninstalling the app if he is truly concerned that I know if he answered 'Yes' or 'No' when prompted to leave a review or that he hit a button.

mamaral commented 7 years ago

R.I.P. Analytics.

screenshot 2016-12-09 00 39 04
fergusean commented 7 years ago

This is fucking ridiculous. Your entire web browsing experience is tracked by AdSense. Your credit card company probably tracks where you spend your money and shares that information. That is the age we live in, and there's a reason for it: it's effective. Do you really want to receive ads you don't care about in the slightest, or would you rather be served advertisements that might actually appeal to your interests and introduce you to something you wouldn't otherwise know about?

The fact that this app tracks stats ANONYMOUSLY on what functions of the app are most used is far far far far far (I can't repeat that enough) less invasive than anything Facebook, Google, etc do on a regular basis. As @mamaral said, it helps improve the experience for the parts of the app people care about. The fact that you take an issue with this, @JohnMHarrisJr, is asinine. If you don't like it, don't use the app. It's as simple as that.

JohnMH commented 7 years ago

The user in question has already removed the application, and has temporarily switched to a bookmark in Firefox.

The issue was really just that the app makes a request to Google as the result of events, the tracking is still taking place whether you have access to the data or not.

On December 9, 2016 12:37:23 AM EST, Mike Amaral notifications@github.com wrote:

It's easier to delete the Google analytics tracking bucket for that "code" than it is to remove it from the app and re-submit. As soon as I can figure out how to delete it on the Google console, I will. Tell your associate he can opt-out by uninstalling the app if he is truly concerned that I know if he answered 'Yes' or 'No' when prompted to leave a review or that he hit a button.

-- John M. Harris, Jr. PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

JohnMH commented 7 years ago

Users often have software installed to combat tracking. For example, I use uBlock Origin with Firefox for web browsing.

I do not use a credit card exactly for that reason. I prefer to pay with cash, or via wire transfer.

I do not use this application, but created this issue to help a former user of this application that was concerned for his privacy.

I will admit, I don't understand why somebody who is concerned with privacy would use an iOS device, but when it can be helped, I definitely think it's best to help make at least one part of the whole better.

On December 9, 2016 12:41:56 AM EST, fergusean notifications@github.com wrote:

This is fucking ridiculous. Your entire web browsing experience is tracked by AdSense. Your credit card company probably tracks where you spend your money and shares that information. That is the age we live in, and there's a reason for it: it's effective. Do you really want to receive ads you don't care about in the slightest, or would you rather be served advertisements that might actually appeal to your interests and introduce you to something you wouldn't otherwise know about?

The fact that this app tracks stats ANONYMOUSLY on what functions of the app are most used is far far far far far (I can't repeat that enough) less invasive than anything Facebook, Google, etc do on a regular basis. As @mamaral said, it helps improve the experience for the parts of the app people care about. The fact that you take an issue with this, @JohnMHarrisJr, is asinine. If you don't like it, don't use the app. It's as simple as that.

-- John M. Harris, Jr. PGP Key: f2ea233509f192f98464c2e94f8f03c64bb38ffd

Sent from my Android device. Please excuse my brevity.

mamaral commented 7 years ago

Sure, I don't track button presses anymore. Everybody wins!! Thanks for the feedback.

fergusean commented 7 years ago

@JohnMHarrisJr since you clearly know nothing about how all of this works, I'd like to educate you:

Long ago, Apple removed the ability for applications to determine the device's unique identifier. In fact, all identifiers: WiFi MAC, Bluetooth MAC, serial number, and device unique identifier. The only things remaining are a vendor identifier and an advertising identifier. The former is common among all apps from the same vendor (aka publisher aka developer). The latter is common among all applications on your device, but a) Apple should be rejecting any use that isn't for advertising, and b) has a system-level opt out. That said, this application (though I haven't reviewed the source in a while, but I'm relatively sure) does not use the latter. The former, which is likely what Google Analytics uses (due to Apple's restrictions), means that no other application (unless you happen to have other apps from @mamaral) uses the same identifier, which means there's no correlation between your usage of this app and any other app. And since this app not only doesn't report no personal information, but also doesn't request or store any personal information, what harm or even theoretical potential of harm could possibly come from collecting (yes, literally anonymous) metrics of what functionality of the application is most used?

Please please please educate yourself on how this shit works before complaining about an app "tracking users", because the reality is: it's not. The only thing it's tracking is behavior, with no correlation to "users".

JohnMH commented 7 years ago

@fergusean Those arbitrary restrictions are ridiculous, and don't actually serve any purpose in reference to privacy.

There is no such thing a privacy on a device consisting primarily of proprietary software. I am absolutely certain that there are a number of workarounds to gain access to the information that you said is protected.

I don't think you understand what tracking is. It doesn't matter whether or not you're collecting personal information. Collecting any information from the user, especially user input, is an invasion of privacy. Tracking user behavior is obviously tracking the user.

mamaral commented 7 years ago

There is no such thing a [sic] privacy on a device consisting primarily of proprietary software.

Take it up with Apple.