Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Background tracking support #5917

Open
wants to merge 34 commits into
base: master
Choose a base branch
from
Open

Background tracking support #5917

wants to merge 34 commits into from

Conversation

nirvn
Copy link
Member

@nirvn nirvn commented Dec 27, 2024

This PR implements background tracking support in QField 🥳

Implementation notes:

  • Users must return to the QField app for the collected positions while QField was suspended to be saved into the vector layer tracks. This is a requirement to insure features will get proper expression context et al and avoid serious issues with vector layers co-existing in multiple processes.
  • The improvements fix an interesting out-of-sync situation where the position information was not necessarily matching the projected position (which is used to add vertices to the track feature).

Plenty of code refactoring has happened, hope it doesn't make it too much harder to review this.

@qfield-fairy
Copy link
Collaborator

qfield-fairy commented Dec 27, 2024

@nirvn nirvn force-pushed the tracking_background branch from e18ee86 to 838cf8f Compare December 27, 2024 09:37
@nirvn nirvn force-pushed the tracking_background branch from 2dc78ad to 5d5827e Compare December 28, 2024 04:34
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clang-tidy made some suggestions

src/core/featuremodel.cpp Outdated Show resolved Hide resolved
@werererer
Copy link

werererer commented Jan 7, 2025

I highly appreciate you considering background tracking, acknowledging its importance and putting in the work.

However every great progress needs to be evaluated critically to improve its effectiveness.

Certain types of users will prefer a 100% automatic solution, because regular manual intervention will intervene in other important tasks.

Two types of users are effected most positively by automatic tracking.

First, hickers trying to track their trails. During the trip they are almost ever overwhelmed by a lot of pressing tasks including like seeing nature, minor things as doing the manual intervention easily get forgotten leading to incomplete data. However after trip the missing trail data will make them feel this app to be inadequate.

Second, people who track themselves long term. While for the first few days excitement over the app exists tracking over the years and years will wear of the initial excitement. The result is manual intervention being forgotten. However if one day they want to look at past memories geographically, they will find out, that the data hasn't been recorded, leaving a lasting negative impression.

Therefore it is clear that any kind of manual intervention will lead to long term user dissatisfaction.

However I have to admit that i don't have a solution of how to solve this issues efficiently.

Thank you again for your effort. I hope my feedback will help you decide the best future for QField.

Edit: Improve clarity of the argument.

@nirvn nirvn force-pushed the tracking_background branch 3 times, most recently from 3656ac5 to 5157136 Compare January 12, 2025 06:16
nirvn added 22 commits January 12, 2025 14:44
… notification only shown when positioning is active
@nirvn nirvn force-pushed the tracking_background branch from 5157136 to 0541566 Compare January 12, 2025 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants