joaomanaia / newquiz

Jetpack compose quiz game using material 3 (you).
http://bit.ly/newquizgame
Apache License 2.0
145 stars 18 forks source link

Distribute using F-Droid #57

Open FineFindus opened 1 year ago

FineFindus commented 1 year ago

It would be great if this app could be published on F-Droid, allowing new and privacy conscious users to use this app. However, the app currently uses proprietary dependencies, such as Firebase, which prevent it from being included in F-Droid. Could these be made optional and removed for an F-Droid release?

joaomanaia commented 1 year ago

Hi I've thought about publishing the NewQuiz on fdroid, but because of the proprietary libraries I haven't been able to.

NewQuiz uses crashlytics and firebase performance which can be removed easily from the fdroid version.

It also has a user system in which it saves the results of the games and that later the user can see the statistics and the leaderboard (not done yet). I'm saving this data in the cloud because in the future I want this app to be on multiple platforms, so the users can see the data in the other platforms, so that's why it has this firestore database dependency. To solve this I already thought of 2 alternatives:

The biggest problem is with firebase remote config, which I depend on to get app configuration values ​​like categories. But I still haven't got good alternatives

FineFindus commented 1 year ago

It's great to hear that you're open to F-Droid inclusion. As a user, I would prefer a combination of both alternatives, saving the data locally first, and only when I want to use certain only features sync it to the cloud. Maybe it's possible to build your own alternative to Firebase remote config (e.g. using Supabase), it's just another way to get the data from the cloud. Alternatively, if none of this works, you could write your own client-side code to load config values. F-Droid prohibits apps with non-free dependencies, which would no longer be the case (instead it would be flagged with the NonFreeNet anti-feature).

joaomanaia commented 1 year ago

Currently login is optional and user can play the quizzes completely without login.

I'm currently updating the translation system that uses google's mlkit. I will try to make it optional on being in another apk, for the apk size reductions and now also f-droid inclusion.

But if I don't find an alternative for the firebase remote config I must create my own. I already have the app implemented for an easier change.