UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    How to create a plant identification app for ubuntu touch?

    Scheduled Pinned Locked Moved App Development
    71 Posts 13 Posters 15.3k Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      This topic has been deleted. Only users with topic management privileges can see it.
      • s710S Offline
        s710 @Emphrath
        last edited by

        @emphrath said in How to create a plant identification app for ubuntu touch?:

        @s710 awesome work. Copy paste to the api key doesn't work for me but copy paste is hit and miss in UT anyway. Btw i now realize I had this warning during my conversation with them: "Making users signup to the API individually is against our term of use.
        You can find the agreement here: https://my.plantnet.org/documents/agreement_PlantNet_API_english_v4.pdf"
        So this hardly can be a long term solution. I gave them the repo address just now, and even though i didn't imply it was already published, they'll find out.

        Hmm okay well. Then I am wondering how this could work out at all πŸ€”

        E 1 Reply Last reply Reply Quote 0
        • E Offline
          Emphrath @s710
          last edited by

          @s710 i'm confident they'll extend api rights for UT.

          s710S 1 Reply Last reply Reply Quote 0
          • s710S Offline
            s710 @Emphrath
            last edited by

            @emphrath I don't see how this could be done in a secure way. They could supply a dedicated API-Key with increased usage limits, however it would be impossible to ship the key within the app without the possibility to reverse engineer the key and use elsewhere. Of course, depends if someone is actually willing to reverse engineer, and someone actually looking for an API-Key for Pl@ntNet. Just trying to say that shipping credentials is never a good idea.

            E dobeyD 2 Replies Last reply Reply Quote 0
            • E Offline
              Emphrath @s710
              last edited by

              @s710 well, they could also increase quota for one specific existing api key - in that case, everything happens on their side

              arubislanderA 1 Reply Last reply Reply Quote 1
              • arubislanderA Offline
                arubislander @Emphrath
                last edited by

                @emphrath said in How to create a plant identification app for ubuntu touch?:

                @s710 well, they could also increase quota for one specific existing api key - in that case, everything happens on their side

                Same difference, that one API key would need to be distributed somehow.

                πŸ‡¦πŸ‡Ό πŸ‡³πŸ‡± πŸ‡ΊπŸ‡Έ πŸ‡ͺπŸ‡Έ
                Happily running Ubuntu Touch
                Google Pixel 3a (20.04 DEV)
                JingPad (24.04 preview)
                Meizu Pro 5 (16.04 DEV)

                E 1 Reply Last reply Reply Quote 0
                • E Offline
                  Emphrath @arubislander
                  last edited by

                  @arubislander Well how do they make their own android app work then ? I don't get it.

                  s710S 1 Reply Last reply Reply Quote 0
                  • s710S Offline
                    s710 @Emphrath
                    last edited by

                    @emphrath said in How to create a plant identification app for ubuntu touch?:

                    @arubislander Well how do they make their own android app work then ? I don't get it.

                    Yeah well, maybe they're using non-public APIs. Those, of course, can also be reverse engineered from the binary.
                    I am no expert in reverse engineering, but I was told that virtually anything can be reverse engineered with enough efforts. For example, someone reverse engineered the HTTP APIs used by the Bird Scooter app (which, btw, enabled me to make a scooter app).

                    Unless you're using a dedicated authentication (user must login within the app), there is virtually no way of publishing something secure, you simply cannot ship credentials/hidden stuff. Of course, this is from a pure security perspective. The owner might still decide to ship apps like this and rely on no one caring about reverse engineering, which might be an acceptable risk.

                    In the end, it completely depends on what Pl@ntNet wants to do. I just wanted to point out that if I was given a dedicated API key, and Pl@nNet would increase limits for this single key, I would need to ship it within the app, which would be insecure per design. Of course, I can try to occlude it as best as I can, but it won't be bullet proof. If Pl@ntNet accepts this approach, I don't see any real issues, since I guess that not so many people would be that eager to get into possession of a Pl@ntNet API-key with increased limits so that they would actually take the efforts of reverse engineering it out of my app.

                    1 Reply Last reply Reply Quote 2
                    • LakotaubpL Offline
                      Lakotaubp
                      last edited by

                      I have given this a go just now and really like it and the way it has come into being from initial idea to working app all form within the Community. Great work from all involved. This is really what the UBports Community does well. One small idea if the link to the my.plant.org website could be a direct link from settings (if possible) it would make things smoother.
                      If any further help with api keys or/and gaurantee of or licensing usage and such become needed let me know and I will see what can be done.

                      1 Reply Last reply Reply Quote 2
                      • dobeyD Offline
                        dobey @s710
                        last edited by

                        @s710 You should probably just make it such that the user would have to acquire their own API key, and provide a UI for entering it in your app. Otherwise, do you plan to pay the fees for going over the number of requests, or even paying €1000/yr?

                        The contract PDF you linked to is very much oriented toward scientific organizations building applications for research, and doesn't seem to be oriented toward people who want to occasionally query Pl@ntNet for what plant they find while out on a walk.

                        E s710S 2 Replies Last reply Reply Quote 0
                        • E Offline
                          Emphrath @dobey
                          last edited by

                          @dobey It is exactly that at the moment. The matter at hand is wether it can last

                          1 Reply Last reply Reply Quote 0
                          • s710S Offline
                            s710 @dobey
                            last edited by

                            @dobey said in How to create a plant identification app for ubuntu touch?:

                            @s710 You should probably just make it such that the user would have to acquire their own API key, and provide a UI for entering it in your app. Otherwise, do you plan to pay the fees for going over the number of requests, or even paying €1000/yr?

                            The contract PDF you linked to is very much oriented toward scientific organizations building applications for research, and doesn't seem to be oriented toward people who want to occasionally query Pl@ntNet for what plant they find while out on a walk.

                            The app works like this. The user needs to provide the key.
                            I was under the assumption that they know we make an app since they do not provide one for UT, and they are okay with it. So they should be aware of the fact that there are only to ways it can work: 1) per user developer key 2) dedicated shipped key with special limits.

                            1 Reply Last reply Reply Quote 0
                            • E Offline
                              Emphrath @s710
                              last edited by

                              @s710 Got some news from the team at PlantNET (which as it seems just came out of attending a conference about open source software ^^):

                              " Hi Georges,

                              Great work! I've forwarded the repo to the team!

                              Let us know if you need anything from us.

                              Best"

                              So, maybe @Lakotaubp you want to take it from there ? I guess we could also wait for their feedback.

                              LakotaubpL 1 Reply Last reply Reply Quote 0
                              • LakotaubpL Offline
                                Lakotaubp @Emphrath
                                last edited by

                                @emphrath I tend to think at present lets see if they come back with anything as your line of contact is obviously working well. If we hit problems with usage or they get back to you with an issue you can't sort from an app point of view let me know. Probably best by PM so as not to clog this thread with stuff and thanks again to all involved great work.

                                Quilty weavyQ 1 Reply Last reply Reply Quote 1
                                • Quilty weavyQ Offline
                                  Quilty weavy @Lakotaubp
                                  last edited by Quilty weavy

                                  @lakotaubp you are right.

                                  1 Reply Last reply Reply Quote 0
                                  • mateo_saltaM Offline
                                    mateo_salta
                                    last edited by

                                    If you do need to go to a single key - it might be good to use compiled qt in the build that goes to the store, so the program is within a binary and the plain qml not stored anywhere. Let me know if you need to do that and I can help.

                                    Quilty weavyQ 1 Reply Last reply Reply Quote 0
                                    • Quilty weavyQ Offline
                                      Quilty weavy @mateo_salta
                                      last edited by Quilty weavy

                                      @mateo_salta you can defintiely help if you wish to help.

                                      1 Reply Last reply Reply Quote 1
                                      • LakotaubpL Offline
                                        Lakotaubp
                                        last edited by

                                        I would now consider starting a new thread for music recognition. Mixing it with a plant identification app thread is getting a little confusing and more importantly the info and discussion will just get lost.

                                        D 1 Reply Last reply Reply Quote 1
                                        • D Offline
                                          domubpkm @Lakotaubp
                                          last edited by

                                          @lakotaubp I agree. If also you manage to move what has been said.

                                          LakotaubpL 1 Reply Last reply Reply Quote 0
                                          • LakotaubpL Offline
                                            Lakotaubp @domubpkm
                                            last edited by

                                            @domubpkm If you want to start the topic then i will move all te related posts.

                                            D 1 Reply Last reply Reply Quote 0
                                            • D Offline
                                              domubpkm @Lakotaubp
                                              last edited by

                                              @lakotaubp done

                                              1 Reply Last reply Reply Quote 0
                                              • First post
                                                Last post