First of all, thank you to the QField team for the incredible work. QField + QFieldCloud is an extremely powerful tool, and it has significantly improved how we handle field data collection and synchronization workflows.
I’d like to share some feedback based on real-world usage with field teams, specifically regarding the synchronization interface (Synchronize / Push changes / Revert local changes).
### Context
One of the biggest challenges we face is not technical — it’s usability in the field.
Operators often struggle to understand the difference between:
* Synchronize
* Push changes
* Revert local changes
These actions are critical and potentially destructive, yet they are presented at the same level in the UI. This creates a high risk of accidental data loss, especially for non-technical users working under field conditions (limited connectivity, time pressure, fatigue).
### Key Suggestions
#### 1. Reduce exposure of destructive actions
“Revert local changes” is a highly destructive operation, but it is visually presented alongside routine actions.
Recommendation:
* Move it into a “Danger zone” or “More actions” section
* Rename to something clearer like:
“Discard unsynced local edits”
This would better communicate the real impact of the action.
---
#### 2. Introduce a single primary action
Most users don’t need to choose between multiple sync strategies.
Recommendation:
* Provide a single primary button like:
“Sync now”
* Internally handle:
* Upload of local changes
* Download of remote updates
Advanced options (like “push only”) could remain available but hidden under an “Advanced” section.
---
#### 3. Show a clear summary before actions
Users should understand what will happen before they click anything.
Example:
* Local changes: 1 edited feature
* Remote updates: 2 features available
* Conflicts: none detected
This would dramatically reduce confusion and increase confidence.
---
#### 4. Improve confirmation dialogs for destructive actions
Instead of generic confirmations, provide contextual warnings.
Example:
“You are about to permanently delete:
* 1 edited feature
* 2 photos
These changes have not been uploaded to QFieldCloud.”
This makes the consequence explicit.
---
#### 5. Add basic recovery mechanisms
Currently, reverting local changes is irreversible.
Even a minimal safeguard would help:
* Local snapshot before discard
* Temporary undo
* Local edit history
This would significantly increase trust in the system.
---
#### 6. Improve terminology
Some labels are technically correct but not intuitive for field users.
Suggested improvements:
* “Synchronize” → “Sync (upload & download)”
* “Push changes” → “Upload local edits only”
* “Revert local changes” → “Discard unsynced edits”
---
#### 7. Improve visual hierarchy
Group actions by risk level:
Primary
* Sync now
Advanced
* Upload local edits only
Danger zone
* Discard unsynced edits
---
### Final Thought
The current system is technically solid, but the UI assumes a level of understanding that many field users simply don’t have.
In practice, the main issue is not how synchronization works — it’s how clearly the consequences of each action are communicated.
Improving this flow would greatly reduce training overhead, prevent data loss, and make QField even more robust for real-world field operations.
Thanks again for the amazing work and for maintaining such a valuable open-source project.