quran_android icon indicating copy to clipboard operation
quran_android copied to clipboard

2 big suggestions!

Open ahnaf-rayem opened this issue 2 years ago • 3 comments

  1. The app require some files to download to be "reliable" which increases the app size exponentially. But I don't need them because it works just fine for me without downloading. I would request to make the downloading of those files optional in the settings and leave it for the user to download them or not depending on if it's working on their phone

  2. I downloaded the app from F-droid which says that "This app records and reports the user activity." I would suggest that please value the privacy and make this as an option in settings too, such as "collect diagnostic data? Yes or No" so that I feel private and safe with my personal data, and so does a lot of brothers and sisters of ours too.

I have also sent a detailed email on [email protected] and hope to hear from you soon!!

Thank you again for making this great app!

ahnaf-rayem avatar Apr 02 '22 21:04 ahnaf-rayem

jazakumAllah khairan for the feedback!

  1. the files that are downloaded at the start of the download are the actual pages that you will be reading. without them, every page needs to be downloaded / streamed from the internet as it is downloaded. to be honest, we were thinking the other way around - instead of making the download optional as it is today, require it, because it leads to various edge cases that we may not have considered that we have to handle. bundling the images with the app isn't the best option either since we now have 4 different types of images in the app that someone can choose from. while we could bundle a default, people who want something other than the default will have to pay 2 times the page size when they only need one set of pages.

  2. the app actually isn't on F-droid, so you probably downloaded an app that isn't ours - there is some discussion about it here - #755 - but in summary, because we use Google's Firebase Crashlytics for a combination of crash reporting and analytics, we can't push to F-droid today until we stop using it.

with respect to privacy, i want to address this separate, since we on the team also strongly believe in our own privacy and the privacy of others, and are very wary of shady characters (especially after seeing some articles from some time back about a popular free prayertimes app selling its data). we only care about 2 things -

a. crashes - without these, we don't know what problems exist, and how to fix it. b. analytics about features used - to know what to keep, what to improve, and what to remove.

for both a and b, we don't have any "user identifiable" information - i.e. there is no way to say "this crash comes from Ibrahim in Virginia, USA" for us, since we don't set any user attributes, device identifiers, etc. what we do get is numbers (x people clicked this button, y people are using this type of pages, etc), country (based on ip address as provided), and device info (this is Google Pixel 4a, with 100 mb free, etc.

since we can't trace this back to any particular person, do you still think having this as an option is necessary?

jazakumAllah khairan!

ahmedre avatar Apr 03 '22 08:04 ahmedre

Assalamualaikum, thank you so much for the reply.

  1. About the files, to keep the app size small for a minimalist like me, I would prefer downloading it off of the internet by default, although the first time I tried it, it didn't have any internet connection and I denied to download the files, but still somehow showed me some pages without even downloading, I don't know honestly how that happened, maybe the internet was on and I didn't notice a) But I would suggest to make the downloading from the Internet directly as an option, as usual try making a toggle switch to not get the "download popup" and see if it works without internet, because for me it did somehow. And I really would prefer that small app size and don't bother clicking "don't download" each time b) if it's absolutely necessary, one solution can be instead of bundling all fonts from the app, or even giving one by default, it would take up twice space if the user wants to use another font, so I would suggest to show an option as to "Which font does the user want to download when the app is installed for the first time?" then download that specific font only, that it'll take up much less space. And also delete the previous font if the user changes the current font to another.

  2. The way I downloaded it from F-droid was by adding "IzzyOnDroid F-Droid Repository" to the Fdroid repo list. This repo has the open source version of this beautiful app (also I think it's the official app because it's created by quran.com) and I personally feel more comfortable using an app from Fdroid as it's more transparent. It would be still great if you guys somehow get support for this amazing app in Fdroid repo natively somehow Insh'Allah. Now for the suggestion, I personally would like to still have an option for the user to allow the analytics to be turned on or off, it shows the transparency from the app and gains more trusts from the user, I would definitely feel more amazing if there was an option added, it can be turned on by default I have no problem with that, but the more privacy centric people can have the option to turn that off manually from the settings and it would feel more amazing to me personally.

Overall, thank you so much again for all your effort and may Allah bless us all, especially in this holy month of Ramadan, Ameen!

ahnaf-rayem avatar Apr 03 '22 22:04 ahnaf-rayem

The app indeed is in my repo, and the APKs made available there are the ones you thankfully made available here (so consider it raising awareness of your app's availability for those more focused on privacy and thus rather avoiding Google and Google Play, plus giving them an easy way to keep it updated). As @ahnaf-rayem correctly pointed out, my library scanner identified some …

Offending libs:
---------------
* Crashlytics (/com/crashlytics): NonFreeDep,Tracking
* Firebase Data Transport (/com/google/android/datatransport): NonFreeNet
* Google Mobile Services (/com/google/android/gms): NonFreeDep
* Firebase (/com/google/firebase): NonFreeNet,NonFreeDep
* Firebase Analytics (/com/google/firebase/analytics): NonFreeDep,Tracking

5 offenders.

Google is known as a company living on data, collecting all user data they can get – so Crashlytics and Firebase are seen in that light by users. I'm aware of the benefits developers see, but especially with sensitive things like living your beliefs and religion there's reason why data should not be collected for profile building algorithms. May I suggest you some possible alternatives? Or maybe you could establish a build flavor that comes entirely without analytics, and provide those APKs for download here? Most users will still install your app via Google Play I guess, so you won't lose too much insights this way :wink:

Thanks for considering!

(PS: AFAIK it's Crashlytics and Firebase Analytics dragging in the other 3 mentioned offenders. So removing/replacing those 2 should solve the issue)

IzzySoft avatar May 08 '22 18:05 IzzySoft