LibreShift / red-moon

Android screen filter app for night time phone use.
GNU General Public License v3.0
650 stars 81 forks source link

Self-Update Support for Github apks #155

Closed jerryn70 closed 4 years ago

jerryn70 commented 7 years ago

For example, upon opening the app Red Moon it automatically checks for updates, and if found then it asks whether to ignore / update or remind later, after this there is no additional action required by the user.

Take a look at this: https://github.com/javiersantos/AppUpdater

smichel17 commented 7 years ago

I think that if Red Moon is installed through gplay or f-droid, we do not need to bother the user with update notifications. If they want those, they'll configure them through the respective app stores. If Red Moon is installed through its own apk download (eg, from github), this is a reasonable thing to do.

There is a library by the f-droid people for checking whether gplay/f-droid are installed: https://gitlab.com/fdroid/update-channels

smichel17 commented 5 years ago

Thinking about this again, one downside is that we'd have to add internet permissions, which I'm a little hesitant to do given that we also ask for location and monitoring the active app. We only use location for calculating sunrise/sunset times and we only monitor the active app in order to pause in secure apps (or user-excluded apps). However, we could in a future update, and it's a lot to ask that users trust us with this.

So, I'm currently thinking of a middle ground: If we detect that f-droid is not installed (and red moon is not installed via gplay), we should periodically (every 6 months?) remind users of this (with a dialog when they open the app).

smichel17 commented 4 years ago

I'm going to close this. The main reason is that I am preparing for one final push to get Red Moon feature-complete, and after this point, Red Moon will go into maintenance mode (bug fixes and support for new Android versions only). At this point, the only reason you would need to update is if you are affected by a bug, in which case the annoyance caused by the bug is as good a reminder to check for updates as a dialog would be.

Maintenance mode is not a bad thing: If an app is close enough to perfect that it cannot really be improved, there is no need to do more work on it. Just because it is not under development, does not mean people should stop using it. For example, Talalarmo is one such application. Apart from one outstanding pull request (from me), it's basically perfect, even though it hasn't received a commit in 4 years. I still recommend it to people.

Red Moon is an application like this. The problem it solves is not that complicated; I believe it is possible to get the app to a finished state, where it solves all the problems it is meant to solve, and the problems it does not solve would be better solved by a separate app.

tl;dr it's not worth building update support for an app that's not going to receive many updates.

Two other reasons: