MerginMaps / MerginMaps/mobile

Defer the download of photos to a background task

Open
#3,714 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement photo-refactoring
Dominant language
C++
Stars
388
Forks
87
Avg merge
2d 7h
Merged PRs (30d)
20

Description

This is something that came to my mind while working to support a citizen science project/survey that is being done using MM. This project involves many "surveyors" but they get access to the MM project not all the same time, at the beginning, but rather along time. So who joins at a later time has to download a version of the project that has already hundred/thousands of photos for possibly up to a few GB of them.

In this scenario downloading the project can take a while. Maybe it could be worth of having the MM App download first the project file and datasources, then download the rest in the background, much like as WhatsApp does when we restore an account on a new phone (chats are restored first, media is downloaded in the background).

On the server side I'm really not sure if download requests are added to a queue or satisfied in parallel as they come, but for the described scenario it could be worth to use a queue, so to not overload the server and the network.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files or tests. Start by locating the MM App's project download flow and the server-side handling of download requests. Determine how the project file and datasources could complete before photos, and define background-download and queue behavior; done requires an agreed design and implementation scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend, mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.