Git Product home page Git Product logo

Comments (5)

laurentS avatar laurentS commented on June 12, 2024

I am thinking that getting the app to upload 0 results is not optimal:

  • it requires generating those results on the app side, so more memory/storage use (which may be annoying for people on low end phones),
  • we then have to upload them, which costs the user bandwidth, and us firebase data transfer and storage,
  • and I can't see any value added for the app user.

Can we not add them in in post-treatment when they are transferred from firebase to the postgresql db? Basically anything that has not result is a 0. Since the group holds the geometry (X and Y extreme coords), it should just be a matter of looping through all the tiles of a group, and add a 0 result if there isn't one available. Or did I miss something?

from mapswipe.

Hagellach37 avatar Hagellach37 commented on June 12, 2024

for me it doesn't matter at which side we put this. Currently we're suffering a lot from the "0"s not being in our postgres database. The goal is to get those results into the postgres database.

From this perspective we can add this as a task for the back end. this would required the back end to identify all tasks, which have not been uploaded by the user and mark them as "0". This could either be done by the firebase functions or by the mapswipe workers transfer results process. We would need to query the tasks then.

If the client would do this, it would make things a bit easier for the back end, but even then we should double check if all results have been uploaded correctly. In terms of band with, I'm not sure what the difference would be, I believe it's already not much which needs to be uploaded.

so from my side also good to go with putting this at the back end.

from mapswipe.

Hagellach37 avatar Hagellach37 commented on June 12, 2024

ah and there is another really important thing:
What happens if a users choses "0" for all tasks.

This is a big problem right now. We need to make sure that, also then something is transfered to firebase. just to be able to get the "0"s then. Currently, we don't know which users submitted those "empty" groups.

from mapswipe.

laurentS avatar laurentS commented on June 12, 2024

Following a conversation with @Hagellach37, we agreed to have the app produce all the missing 0 results for the built_area projects. This means the app will always upload one result per task, for any type of project. This will help resolve the problem of the backend not being informed of the completion of an "all zeroes" group.

from mapswipe.

laurentS avatar laurentS commented on June 12, 2024

For the record, we agreed that this would mean more results being uploaded to firebase and stored in it, but since the data structure upgrade has drastically reduced the volume of each result, we think that overall, the transfer/storage will be reduced.
Add to this that we'll group all uploads in a single one as per #60 and we should see an overall improvement in speed.

The only downside for now is a bit of a slowdown when opening a BuiltArea project in the app, as it generates a result for each tile, but this can be optimized later.

from mapswipe.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.