To enhance user control over their data and support offline analysis, we will implement a feature to export stored observation data into a CSV file on the user's device. Since the data is stored locally to promote privacy, the focus will be on saving the CSV file locally and providing guidance to users on how to retrieve and utilize the exported data. E.g., how to send it to their personal computer for further analysis via the device share feature.
Tasks:
- Utilize Drift's CSV recipe:
- Research and incorporate the recommended Drift recipe or other suitable libraries for generating CSV data from the local data store.
- File saving mechanism:
- Investigate file I/O operations in Flutter. Employ appropriate file-saving mechanisms that offer compatibility across iOS and Android.
- Consider using packages like
path_provider to obtain suitable local storage paths (e.g., the device's documents directory).
- Permissions handling:
- Request and handle necessary storage permissions on Android and iOS.
- Clear user instructions:
- Provide in-app instructions (or a brief README) explaining:
- The location of the saved CSV file.
- How users can access and retrieve the file using their device's file manager or by connecting to a computer.
Additional Considerations:
- File naming: Allow users to customize the file name or implement a logical naming convention (e.g., including a timestamp).
Benefits:
- Data ownership: Empowers users with greater control over their collected observations.
- Offline analysis: Facilitates analysis of data outside the application, using spreadsheet software or other analysis tools.
- Privacy alignment: Respects the privacy-focused design by not requiring cloud storage or transmission of data.
To enhance user control over their data and support offline analysis, we will implement a feature to export stored observation data into a CSV file on the user's device. Since the data is stored locally to promote privacy, the focus will be on saving the CSV file locally and providing guidance to users on how to retrieve and utilize the exported data. E.g., how to send it to their personal computer for further analysis via the device share feature.
Tasks:
path_providerto obtain suitable local storage paths (e.g., the device's documents directory).Additional Considerations:
Benefits: