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

Could you provide APKs without Analytics? #7

Closed
IzzySoft opened this issue Apr 1, 2019 · 12 comments
Closed

Could you provide APKs without Analytics? #7

IzzySoft opened this issue Apr 1, 2019 · 12 comments
Assignees
Projects

Comments

@IzzySoft
Copy link

IzzySoft commented Apr 1, 2019

First, congrats to this project! Just watched your vid, and I'm impressed! But I have a little concern:

For privacy aware users, access to sensitive/personal data doesn't go together well with Analytics (remember: all parts of your app have access to everything your app has access to) – especially not with closed source analytics such as Crashlytics. Would you consider a build variant that comes without Crashlytics? If you feel you really need something like that, could you at least use something open source like ACRA?

Your app looks very promising – and I'd love to recommend it (I'm often asked for apps like this). But I can't do that with good conscience if the privacy of the users is compromised (which I feel it is with proprietary trackers; no offense meant to you, but only Google can say what the library really does).

Toda rabba! And keep up the good work!

PS: If you provide such APKs, I gladly include your app with my repo, available for privacy aware users outside the Google Play Store – and with the corresponding build variant in your gradle, help you to get it into the official F-Droid catalogue, where thousands of 100% open source apps can be found.

@UriahShaulMandel
Copy link
Owner

Hi, and thank you for your kind words!
When I first started distributing BaldPhone to testers, I wanted to have crash reports so I'll be able to fix bugs fast. It was way before I even thought about open sourcing the project. Users online recommended using Crashlytics, and I added it to the app.

Time passed by and BaldPhone's nature changed. You're right, Crashlytics, with it's closed source nature, doesn't meet BaldPhone's needs anymore.

I'll replace the Crash reporting system with an open source one, and will make crash reporting an option.

Also, I'll be glad to have BaldPhone in your repo, and will notify you when the crash reporting system will be replaced.

@UriahShaulMandel UriahShaulMandel self-assigned this Apr 2, 2019
@UriahShaulMandel UriahShaulMandel added this to In progress in BaldPhone Apr 2, 2019
@IzzySoft
Copy link
Author

IzzySoft commented Apr 2, 2019

Great Uriah, thanks a lot – that's wonderful!

As I wrote above, the most recommended open source crash reporter and analytics tool at F-Droid is ACRA – which by default comes with very privacy friendly settings I'm told (I'm not a dev myself). I'm not aware of comparable alternatives, but I'd know where to ask (in the F-Droid devs' IRC channel – as F-Droid devs are usually aware of such). I'm aware of several open-source crash reporters (so I principially could name some) – but ACRA is the only one I know is "officially approved of" even at F-Droid.

In case you're using IRC yourself: it's #fdroid-dev at freenode.net – and you're welcome to chime in personally!

Looking forward to your notice for picking up your app for my repo! And my offer to assist you bringing your app into the official one stands as well (disclosure: I'm one of the maintainers there).

@UriahShaulMandel
Copy link
Owner

Hi,
The crash reporting system has been replaced.
I removed Crashlytics completely.
The platform now uses ACRA, as you advised, as it's crash reporting system.

Also, I added an option to completely remove crash reporting (I already released an update today and don't want to annoy the users so it'll be uploaded in a few days).
Screenshot_3

I'll be glad to have BaldPhone in your repo.

I think I'll wait a bit before uploading baldphone to F-Droid, but i'll do it soon.
I want to know more about F-Droid and I'm checking into it now.

Thank you very much,
Uriah

@UriahShaulMandel UriahShaulMandel moved this from In progress to Done in BaldPhone Apr 6, 2019
@IzzySoft
Copy link
Author

IzzySoft commented Apr 6, 2019

Kol hakavod, you're amazing Uriah! I will now check for the APK in your releases/ and see that I can add it to my repo. Uh: may I recommend you tagging your releases? That would help F-Droid to build the correct commits and also detect new versions automatically. For my repo, I can also pick the APK from here, though I prefer them attached to releases as well.

The app can now be found here (oh, and here). Feel free to link to it, and mention it can be installed using the F-Droid client with my repository added. Instructions on how to add it are right on its main page.

Thanks once more! I'm proud to have your app in my repo!


As for details on F-Droid: May I recommend you my article series on that topic? The first article is F-Droid: The privacy-friendly alternative to Google Play Store, other parts are linked from there. The first should give you a general idea, the second (F-Droid for advanced users and developers) help you understand the process of getting your app listed there. The third one is for those who want to provide their own repository of apps using the F-Droid software.

@UriahShaulMandel
Copy link
Owner

Thank you very much!
I'll tag my releases from now on.
I'll link your repo to F-Droid as soon as I'll upload the app.
Your repo looks really cool!

I'll read the articles and hopefully upload BaldPhone in the following weeks to F-Droid.
Thanks again!

@IzzySoft
Copy link
Author

IzzySoft commented Apr 6, 2019

I'll tag my releases from now on.

Great! Please let me know when the first tag is there – especially if you attach the APKs to the releases (I recommend that – one good reason is that way they don't "bloat" the repo, which makes it faster to fork/clone for potential collaborators), as I then need to update metadata on my end so the updater finds the APKs. It currently looks into the apks/ directory of your repo and decides based on commit timestamp.

I'll link your repo to F-Droid as soon as I'll upload the app.

Thanks a lot!

Your repo looks really cool!

Thanks again 😃 It's my own code btw. I wrote a PHP library for that (which is now part of the official F-Droid project), and the code for the website. I'm no great designer, so I focus on functionality and ease of use. No "visual gimmicks" or the like. Side-effect: it's really light-weight and should load fast…

I'll read the articles and hopefully upload BaldPhone in the following weeks to F-Droid.

When in part 2 you will learn you don't upload your app there, but rather ask for packaging (F-Droid builds completely from source, so it allows no binaries like JARs). Ping me when you're ready for that, we'll do our best assisting you on your "way in". We are a bit understaffed, but always try to help – and get things done even if it might take a little longer than wished for 😄

Until then: all the best for you, and for your project!

@UriahShaulMandel
Copy link
Owner

Hi @IzzySoft,
I'm working on bringing BaldPhone to F-Droid, it should be ready soon.

At the meantime, I got a lot of crash reports, on version 4.3.1 and 4.3.
It's weird because BaldPhone's requires Android version higher or equals to 5
I think maybe, your automated tests, somehow, install BaldPhone on emulators with lower versions.
I can filter crashes from those versions but thought perhaps you would want to know about this.

that's the name of the device the crashes come from: Samsung Galaxy S III mini GT-I8190
and also AOSP on ARM Emulator

BTW, I downloaded F-Droid and Added your repo to it, and it's really cool! I never thought about the concept of a store for open source apps only, and I really like it!

@IzzySoft
Copy link
Author

Hi @UriahShaulMandel,
if the app requires at least Android 5 (i.e. minSdkVersion=21 – I wasn't able to find that via aapt d badging on the APK, only as sdkversion), lower Android versions should refuse installing it. Nothing I can do about that (my repo only provides the APK, it doesn't "force install" anything or the like). Neither do I install it anyway else – that must be users installing it. Could you please check and ensure you really set the minSdkVersion in your project (I'm no dev, so I don't know how that is done – I just know such a field does exist).

Hm, funny: I just checked with the index fdroidserver creates, and it has "minSdkVersion" : "21" (i.e. 5.0), for both versions of Bald Phone available in my repo. So I've no clue how someone might have installed it on JellyBean. I doubt it's (directly) related to my repo, except that the APK file might have been downloaded from it. And that device would be quite unusual for a "standard test setting" (though SGS devices are often used for such, I've never seen it with a SGS Mini).

Glad you like the concept of our open source store and enjoy using F-Droid! And looking forward to see Bald Phone in the official store.

@UriahShaulMandel
Copy link
Owner

Hi,
I'm sure BaldPhone minSdkVersion is set to 21.
That's really weird, perhaps a friend of mine is trolling me or something :).
but I can just filter those crash reports out, so it doesn't really matter.
Thanks for checking :)

@IzzySoft
Copy link
Author

I'm sure BaldPhone minSdkVersion is set to 21.

The JSON index built by fdroidserver confirms it (my repo browser still uses the XML index as I hadn't yet found time to update the library I wrote for that, so in the WebIf it doesn't show up correctly).

That's really weird, perhaps a friend of mine is trolling me or something :).

If that option exists, it's the most likely answer 🤣

but I can just filter those crash reports out, so it doesn't really matter.

Full ack. If someone somehow force-installs it on a non supported Android version, it's not an issue you have to solve. So if you can filter it out, just do it 😄

Thanks for checking :)

Anytime! If there are more questions, just ask.

Btw, have you seen this? Something in the latest version seems to have pulled a trigger. I assume it to be a "false positive" (especially as it wouldn't fit "my picture of you", and it's reported by a single scanner only), but thought you might want to know.

One more suggestion: are you opposed to donations (and rather see your work on this project as giving Zedaka)? Otherwise, it's e.g. quite easy setting up a Bitcoin wallet and adding a "public donation address" to your repo (and I'd also add it to your app's listing in mine then), or making an account with Open Collective and add that link here and in my repo.

Anyhow: I think this issue can be closed (previous Analytics is gone, issue solved). If you wish we can move the other topics (F-Droid main repo inclusion, tagging releases) to their own specific issues.

@UriahShaulMandel
Copy link
Owner

Btw, have you seen this?

That's really weird, the only thing I changed which may have caused this was updating the youtube library, to its last version, 1.2.2. (it is used to show video tutorials.)
I think I'll stop using the official one, and move to an open source one. It has a lot of bugs and apparently may contain Troyan scripts.

are you opposed to donations?

No, and actually, it can help me buy better equipment and develop much faster.
Thanks for the idea, I'll add a donation option.

Thanks for everything, I'm closing this issue :)

@IzzySoft
Copy link
Author

move to an open source one

NewPipeExtractor should be worth a look. Used by several FOSS YT clients, such as NewPipe itself or SkyTube, and supports multiple streaming sites (including YT). Uses GPLv3; not being a license specialist, I've no idea if that fits or conflicts with Apache license.

actually, it can help me buy better equipment and develop much faster.

That's the idea on my end as well: covering server costs and, if that's exceeded, parts of costs for a better working machine as well (my DualCore isn't that up-to-date anymore).

Glad I could help a bit! Feel free to ping me if needed. And thanks for Bald Phone!

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

No branches or pull requests

2 participants