gigabytedevelopers / FireFiles

Powerful Android File Manager for everything that runs on Android OS (Android TV, Android Watch, Mobile, etc)
Apache License 2.0
57 stars 17 forks source link

Suggestion for releases #1

Closed IzzySoft closed 6 years ago

IzzySoft commented 6 years ago

May I suggest placing the APKs from releases to the releases/ page instead of inside the repo (see Creating Releases in the GitHub Help for details; it's really esy to do)? That way potential contributors wouldn't have to clone them all along with the code – while users are still able to pick them (and I could pick them to provide them via my F-Droid repo if you don't mind, for folks without Playstore).

gigabytedevelopersinc commented 6 years ago

Ok.. Would make version releases too here on github. The official PlayStore version is already at 2.3.4, so I don't know if it's necessary to create release versions all over from 1.0 here on github? Then about an F-Droid repo! Well, we really don't mind, lately we haven't really put much thought about F-Droid! πŸ˜‚

enwokoma commented 6 years ago

Yes @IzzySoft, that's true. The versions have gone a long way, so what do you suggest? Placing the apk release on the release page starting from just the latest version release or placing all the version releases from beginning (v1.0)?

IzzySoft commented 6 years ago

I would just start with the latest version. Older versions will rarely be needed (except for special cases, everyone will go for the most up-to-date). And unless you purge the existing APKs from inside the repo (deleting alone won't suffice), they're synced via git clone anyway. Just don't add to that burden :wink:

Of course you might consider "pruning" those APKs completely and place them on a different page for "historical reference" (be it an "older tag", another server, or e.g. the Wiki here at Github). If you wonder how to "totally remove" a file from a git repo, read e.g. this blog post.

As for my F-Droid repo: Just let me know when the tag is available (with an APK attached), and I'll pick it up. We could also check whether we can get your app into the official repo, but that has some stronger "inclusion criteria" to be met (as you seem not to use Gradle, and I'm no dev, I couldn't figure what libraries you might include: some dependencies such as Firebase, Google Services, Analytics are no-gos for that). My repo often serves as "stepping stone" to "get the foot in the door", until an app finally appears in the official repo.

gigabytedevelopersinc commented 6 years ago

Ok.. I started a draft release of the new update 2.3.5 on the releases/ page. It's still on draft, would be done by before the end of today! Thanks for the information!

gigabytedevelopersinc commented 6 years ago

Wait a sec! What APKs do you speak of? If you don't mind, could you spare some time to explain more about your second and last paragraphs in your comment? Would appreciate if you can do so!

gigabytedevelopersinc commented 6 years ago

Ok. I think I understand now! U are talking about pruning the APKs inside the app/ folder right? And those also in the googleFree and googlePro folders right? If am right, @enwokoma, you are able to take care of this right?

enwokoma commented 6 years ago

Yes, Just did that now Would try my best to also remove it all from the Historical references too!

IzzySoft commented 6 years ago

@gigabytedevelopersinc Exactly. Not that I dislike availability (au contraire!) – but inside the repo isn't the best place, as each potential contributor would have to pull that along with the code when cloning your repo.

Looking forward to that release then!

@enwokoma Great, thanks!

IzzySoft commented 6 years ago

@enwokoma Good job with ba17a04 – repo looks much cleaner now! Now I hope for the release(s) to become visible soon (page still shows "There aren’t any releases here", so it's probably still in "draft").

Permit me another hint toward tags: it's a good practice to keep tag names and versionName (Manifest) in sync – i.e. if you've got a version 2.3.4, set the versionName to 2.3.4 and the corresponding tag to v2.3.4. That's what most projects do, what the F-Droid main repo expects, and what my repo works best with.

enwokoma commented 6 years ago

Nice! Releases should be visible now! Thanks for bringing us to the limelight!

IzzySoft commented 6 years ago

Cool, thanks to you! Added it straight to my repo. Being on that, I just noticed an issue with your Manifest:

WARNING: com.gigabytedevelopersinc.app.explorer does not have a name! Using package name instead.

Besides: there are some show-stoppers for the F-Droid main repository – especially Firebase and GMS. I had to mark the corresponding "AntiFeatures" with my repo as well (for transparency reasons). If you want to go for the official repo, you'd need to provide a "flavor" coming without those. Side-note: It's not even uncommon that developers offer the "paid version for free" on F-Droid (check for example DAVDroid or OSMAnd) – so giving up on ads and tracking would be a good gesture :wink:

If I shall file a separate issue for the above, just let me know. No bad feelings if you don't agree on the previous paragraph – note that I didn't say "you have to go that way", I've just pointed that out for consideration. If you follow that, it's of course warmly welcome (and I could remove that nasty AntiFeatures block)!

PS: I'm really impressed on the amount of functionality you managed to press into such a small APK size (less than 3M) – congrats on that!

enwokoma commented 6 years ago

Pardon me for my late response! I had to get some sleep

enwokoma commented 6 years ago

About removing Firebase and GMS. I would see if I can add an F-Droid flavor without those by the end of today. Only issue now is, there's basically no outstanding feature in the paid version except for no ads (though the floor is open for contributions as we have quite a good number of features on our wishlist, we just don't know how to come about them yet)

enwokoma commented 6 years ago

Ok. Am done removing the ads but for GMS, don't you think its necessary for Crash Reporting? because that's what I use it for at the moment

IzzySoft commented 6 years ago

@enwokoma That's how F-Droid works: you get the good stuff without the nagging parts inside. Thinking of how many of those goodies are there (I already mentioned two of them) I wonder why so (comarably) few people use it. The majority will still go for the Playstore versions ("do not install from anywhere else for safety reasons" – the usual "unknown sources" argument).

As for GMS: I personally use microG (the open-source replacement for GMS), so I don't really worry about that. F-Droid "official repo" would, though. AFAIR they recommend ACRA for crash reporting (an open source analytics package). I personally prefer "local analytics" (i.e. whenever a crash happens, I'm asked whether I want to send "stuff" to the dev), so I'm in control :wink:

TL;DR: If you want to go for the official F-Droid repo, all those proprietary components must be removed. For my repository I'd welcome that too but don't make it a condition.


… an F-Droid flavor without those by the end of today

You're amazing: within a day! Other projects take months for it (not blaming them! Can be a tedious task). May I refer some other dev to you who struggles with the same task for quite a while now – being absolutely willing but somehow got stuck? Sounds like some trouble with flavors.

enwokoma commented 6 years ago

I will try my best to remove the GMS and ads for the F-Droid flavor, but am not familiar with microG u mentioned, perhaps when am done, u can make pull requests with this open-source replacement for GMS!

Then as for the TowerCollector project u mentioned, I would see how I can contribute when am less busy!

IzzySoft commented 6 years ago

microG basically is a drop-in replacement for Google Play Services. When installed, apps will think GMS is available as the API looks the same – but when they e.g. request a map piece from Google Maps, they get one from OpenStreetMap. As I'm using microG myself, I have no issues if an app makes calls to GMS. And things like Google Ads or Google Analytics are simply "stubs" with microG – so the calling app will work from the user's view without the calls having any "impact" (e.g. no data is transmitted to Google, no ads are retrieved).

TL;DR: no PR needed, it just works – but the user has to install microG on a "Google free device".

As for TowerCollector: Of course, take your time. I'm glad you consider helping out at all!

enwokoma commented 6 years ago

Ok.. I get the whole point now. Well, I don't think I would be able to integrate microG as u suggested (at least not right away), it might take a while to add such for F-Droid as I currently have a lot of work to do on CometOTP (the repo is still empty for now because we all are still deliberating on if we should make it Open-Source or not) and so, I wouldn't want to add to that stress CometOTP is already giving me! I think I would just go ahead and make the F-Droid flavor that doesn't contain GMS and ADs or even the FIREBASE CRASHLYTICS which all exist on the Google and Amazon build flavors of FireFiles. When am done with this, I would send out an APK to you privately (maybe Whatsapp or whatever) before pushing it to the repository and releasing it on the release page (this is to make sure that there are no issues experienced within the app on the F-Droid flavor APK).

IzzySoft commented 6 years ago

Emmanuel, you've got the point about microG slightly wrong :wink: In easy terms:

For some closer but quick insights, be welcome to take a look at my article Android without Google: microG.

Apart from that: with removing GMS, ads and Firebase completely you're definitely on the "safe side" concerning F-Droid.

As for "when done": No WhatsApp here, I'm a privacy advocate. But you can find my mail address easy enough via my website (hint: imprint). And yes, you make the schedule, definitely – I'm not going to push you!

enwokoma commented 6 years ago

Ok.. Here you go! Am done! Made a new flavor for F-Droid without inclusion of GMS or Firebase Tracking Services! Attached is the APK, it is signed with the same key but unfortunately, due to conflicts I experienced with Gradle (gradle:3.1.0-alpha6), I had no options left than to extend the F-Droid flavor to go with a new App ID (package name) - com.gigabytedevelopersinc.app.explorer.fdroid instead of the regular com.gigabytedevelopersinc.app.explorer, this was the only way I found that helped me get out of the mess! Check it out and tell me what you think, would push it by tomorrow morning if everything is good! http://www103.zippyshare.com/v/s4CMdX8L/file.html

gigabytedevelopersinc commented 6 years ago

@enwokoma ... We don't really need .fdroid as a new ApplicationID, F-Droid is still same as Google PlayStore, both offer APKs for android, only difference is that F-Droid concentrates more on offering Open-Source APKs instead of the regular ones. So, I don't think its cool for a user to have 2 different FireFiles APK installed on his device just because one is from Google PlayStore and the other is from F-Droid.

enwokoma commented 6 years ago

Ya ya. I know! Am still working to fix this, that's why I haven't pushed any commits to the repo yet!

enwokoma commented 6 years ago

Wait! As a matter of fact, I just cracked the puzzle! Finally removed the .froid from the applicationID of the F-Droid flavor! Now the F-Droid flavor retains the original applicationID com.gigabytedevelopersinc.app.explorer just same as the PlayStore version too. I would push my commits now to the repo for the recent changes and update the release page as well.

Here you go! The F-Droid version (without GMS and ads), this apk comes out clean - http://www52.zippyshare.com/v/E3UgXaG5/file.html @IzzySoft, Check this out and tell me what you think. Meanwhile, am pushing my commits to the repo nd closing this right away!

IzzySoft commented 6 years ago

A big thank-you and fat :+1: Both cool! Whether with new suffix or without, both has its advantages. Usually, F-Droid signs its packages with their own key – so if both Playstore and F-Droid app are installed, with the same package name both apps offer updates – which are colliding because of different signatures. This might confuse users, and a different package name can prevent this.

However, using the same package name can allow for cross-updates e.g. with my repo (same signature) or even with F-Droid (when using "reproducible builds").

So now with an F-Droid flavor being available (I've already replaced the file in my local repo which will be synced to the "online" one in about 12h), shall we approach F-Droid for inclusion with the official repo? I'd file a "Request For Packaging" (RFP) for you if you wish. And include the suggestion for a "reproducible build" (if you could keep up attaching it to releases/). That way, as soon as they pick up (currently there seem to be issues with the build server again), F-Droid would build from your flavor, check the resulting package against the corresponing one from releases/ – and if they verify/match take the latter one (with your signature) into their repo.

How does that sound? Shall I go for it?

PS: with those trackers gone, I finally installed the app myself. Will take a look at it ASAP – so I might add the "recommendation" remark in this listing :wink:

enwokoma commented 6 years ago

Cool. Go ahead with the request! Let me update the APK in the releases/ page!

IzzySoft commented 6 years ago

@enwokoma Done – please cross-check if I got things right. Let me know if I shall update anything (e.g. the description). Feel free to drop in there yourself if you want to add anything or otherwise participate in the process.

Again let me say: you're amazing! Rarely one gets such fast responses and actions on any project. Please, keep up being such a gem!

PS: Oh, and make sure to replace that APK at the release page before F-Droid starts building theirs, or they won't verify for obvious reasons :wink:

enwokoma commented 6 years ago

Done updating the releases/ page!

gigabytedevelopersinc commented 6 years ago

@IzzySoft. Thanks a lot for the Request for Packaging (rfp). We appreciate! πŸ‘πŸ‘

IzzySoft commented 6 years ago

Just in case you didn't get the notification: can you check this please, and help the maintainers to get things running?

enwokoma commented 6 years ago

Ya... I am just seeing this because I've been on the road all day and would check this out ASAP!

gigabytedevelopersinc commented 6 years ago

I think I should close this again as we are already doing a follow-up on here

IzzySoft commented 6 years ago

@gigabytedevelopersinc I concur – if you fix that link to point to https://gitlab.com/fdroid/rfp/issues/452 (currently it gives a 404) :wink: