OpenOrienteering / mapper

OpenOrienteering Mapper is a software for creating maps for the orienteering sport.
https://www.openorienteering.org/apps/mapper/
GNU General Public License v3.0
400 stars 106 forks source link

Publishing to Google Play #607

Open dominikzalewski opened 8 years ago

dominikzalewski commented 8 years ago

Maybe we should consider publishing the app to Google Play? We can do it at zero cost. 2 years ago I already payed one-time fee (I remember it was around 30USD), so I can publish whatever I want and as much as I want. If you don't mind OO Mapper being published under 'genijusz', as the name of the publisher, I can do that right away.

The publisher would look like this: https://play.google.com/store/search?q=genijusz&hl=pl

(these are examples of apps published under my company).

Business impact Currently installing OO Mapper requires a user to set 'Install from untrusted sources' flag and download manually. Also upgrading requires a user to figure out that there's a new version.

Many unexperienced users consider apps 'installed from untrusted sources' to be viral.

If we want mapper to be ultimately more popular than OCAD, then I guess this would be a step towards reaching that goal.


Subtask as of 2020-08-20 (added by @dg0yt)

*) cf. https://github.com/OpenOrienteering/mapper/issues/607#issuecomment-483801154 **) cf. https://github.com/OpenOrienteering/mapper/issues/607#issuecomment-677223159

dg0yt commented 8 years ago

Do you think the Android app has the maturity for broad usage? The user interface is still very much in the state of "proof of concept". We get requests for change (quite good ideas, indeed) but lack the manpower to design and implement the changes soon.

dominikzalewski commented 8 years ago

Yes, I do think so. I'm using it productively, to draw maps and invoice my customers. I believe other people as well. I think it proves that the product is mature enough. Naturally, everyone would love to get those UI quirks on Android resolved. But if it's good enough to do the job, I'd go with +1.

Just let me know whether I have a green light from you to push it to google play.

dg0yt commented 8 years ago

I would prefer to have an official release path that I actually control. This is the only way to make sure that the available version is the one in which is meant to be available, not modified, not outdated, but backed with the complete corresponding sources, as required by the GPL. I will try to do the Google Play step as soon as time permits.

On the other hand, it is GPL open source software. The license already gives you all freedom to redistribute the software if you comply with the obligations.

jmacura commented 5 years ago

I'd like to bring back this issue and propose to reconsider, if the time hasn't come for OO Mapper to be released in Google Play. It might be a great user-friendly bonus when releasing version 0.9.0 ;-)

lpechacek commented 5 years ago

@dg0yt, your answer is a sort of "non-answer". I can see that you want to keep control over the release process but that is counterproductive here. It is clear that there are more important tasks to handle than fiddle with the specifics of Google Play. I'm for letting Dominik do his work in keeping Mapper app up to date in Play and spending time on merging pull requests, CI & automated testing, refactoring, implementing support for fused location provider, mobile UI revamp and similar.

Apologies for the direct language but it is painful to watch a talented developer spending cycles on stuff like Google Play.

dg0yt commented 5 years ago

@lpechacek The experience with the F-Droid package, but also with official packages e.g. in Debian/Ubuntu indicates that especially concerns about deployment of updates are quite valid. On Android, users cannot easily switch from one provider of the Mapper app to another one, because data is closely tight to the app (provider). Last not least, the Play Store enforces extra requirements (sometimes even for updates) which may need more than just trivial changes.

@jmacura Thanks for bringing this up again. The project is about to reach a level of build automation and continuous integration which could make this feasible. Further utilizing the "Azure Pipelines" services, it should be possible to build for Android and even release to the Play Store. However, the latter still requires some work, for automation, and due to the Play Store's requirements:

Date Play Store Requirements Mapper
today target at least Android 8.0 / API level 26 :-1:
Aug 1, 2019 support 64-bit architectures :-1:
" new apps: target at least Android 9.0 / API level 28 :-1:
Nov 1, 2019 app updates: target at least Android 9.0 / API level 28 :-1:

Most of all, API level >= 26 means that we need to ask and check for permissions at runtime. This is supported in Qt 5.12. But we still lack the calling code in Mapper.

BTW we also need to bump the target API level to get back the "native" style with Qt 5.12 on Android. The default style (Fusion?) has some usability issues on Android.

jmacura commented 5 years ago

@dg0yt Thanks for the explanation. I can imagine the necessary work behind it now... So, at least, let's put the intention of releasing OO Mapper in Play Store into some serious milestone. Version 1.0? It's not a feature with which I'd like to distract you all from more serious improvements and probably more interesting coding, but a "really-nice-to-have" :-)

dg0yt commented 5 years ago

Maybe we can start with it during 0.9. But I would not want to to delay 0.9.0.

dg0yt commented 4 years ago
Date Play Store Requirements Mapper
Aug 3, 2020 new apps: target at least Android 10 / API level 29 :-1:
Nov 2, 2020 app updates: target at least Android 10 / API level 29 :-1:

Given our dependencies and our commitment to support older devices, I'm not sure how to deal with this. Targetting API level 29 makes some things more difficult again. The org.openorienteering.mapper package ID is already blocked by someone else.

jmacura commented 4 years ago

The org.openorienteering.mapper package ID is already blocked by someone else.

Excuse my naivety, but can't it be just reserved by https://f-droid.org/packages/org.openorienteering.mapper/ ?

dg0yt commented 4 years ago

The org.openorienteering.mapper package ID is already blocked by someone else.

Excuse my naivety, but can't it be just reserved by https://f-droid.org/packages/org.openorienteering.mapper/ ?

No, applications in F-Droid are a different world. It is a minor issue. We can use a different ID. However, Mapper from Google Play would be installed as a different app and also with a different app folder.

jmacura commented 4 years ago

The org.openorienteering.mapper package ID is already blocked by someone else.

Excuse my naivety, but can't it be just reserved by https://f-droid.org/packages/org.openorienteering.mapper/ ?

No, applications in F-Droid are a different world. It is a minor issue. We can use a different ID. However, Mapper from Google Play would be installed as a different app and also with a different app folder.

This might be a "non-issue" in the end, "as F-Droid version is built by F-Droid itself, it has different signature from GP version, so you can’t update application from F-Droid with GP version and vice versa" [1]

dg0yt commented 4 years ago

This might be a "non-issue" in the end, "as F-Droid version is built by F-Droid itself, it has different signature from GP version, so you can’t update application from F-Droid with GP version and vice versa" [1]

Well, I didn't come up with F-Droid. As I said, it is a different world, and that Mapper package is obsolete. I'm concerned about regular users which downloaded our APK from Github. We would avoid an inconvenience in switching to GP if we could use our established package ID in GP.

jmacura commented 4 years ago

I'm concerned about regular users which downloaded our APK from Github. We would avoid an inconvenience in switching to GP if we could use our established package ID in GP.

Oh, right. I see.