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

iCloud Synchronisation #1694

Closed
Dabendorf opened this issue Dec 15, 2021 · 7 comments
Closed

iCloud Synchronisation #1694

Dabendorf opened this issue Dec 15, 2021 · 7 comments
Assignees
Labels
Duplicate This issue or pull request already exists iOS iOS development

Comments

@Dabendorf
Copy link

I know there have been discussions on how to backup files properly. But lets be honest. In the iOS-App, it would be amazing to synchronise bookmarks between devices. I often make bookmark lists on an iPad and then use it physically on the iPhone when hiking. It’s such a shame to try to keep lists on both devices synchronised.

@biodranik
Copy link
Member

We ideally want to:

  1. Avoid doing different implementations for iOS and Android to save development and support time
  2. Share bookmarks across different platforms (iOS, Android, Web)
  3. Properly merge conflicting bookmark changes
  4. Share bookmarks between different users

So doing just iCloud is ok for some users, but is not ideal. Also see #622

@Volodymyr-13
Copy link

@biodranik

I've carefully considered your points about cross-platform bookmarks sync, but I'd like to advocate for a different approach. Let's focus solely on delivering the best possible experience for iOS users since everything is ready for this.

iOS users tend to appreciate and rely on high-quality services, and by dedicating our efforts to iOS, we can ensure a top-notch bookmark sync experience using iCloud.
Android, being a more fragmented and diverse platform, may pose challenges that could divert resources and lead to a compromised user experience. By concentrating on iOS, we can prioritize excellence and maintain a smooth development process.

Regarding handling syncing conflicts for bookmarks, one approach that we can consider is to use timestamps for our Bookmark objects. By introducing timestamps, we can track the last modification date of each bookmark during synchronization.

To gain insights into how to resolve merge conflicts effectively, we can refer to open-source projects like Automattic's Simplenote iOS app (https://github.com/Automattic/simplenote-ios).

Additionally, we can find valuable information on conflict resolution strategies in the open-source Sample CloudKit Core Data Sync app by Apple (https://github.com/apple/sample-cloudkit-coredatasync). Although it's not specifically bookmarks-related, we can adapt similar approaches to handle conflicts in our bookmark sync implementation.

Sound good? :)

@Volodymyr-13
Copy link

And currently, there's no auto-backup for Bookmarks in OrganicMaps at all.
So, if users remove the app from their iOS device, all their bookmarks are gone.

@biodranik
Copy link
Member

Starting from iCloud is a good idea. There are already timestamps in bookmarks. Taking them into an account would be enough. It is exactly that "merge-related" code that I meant. It should be written anyway.

@Dabendorf
Copy link
Author

I think this should be a priority thing for further development. It is so easy to miss your data and all of the bookmarks just if you lose the phone, delete the app and whatever. And moving stuff to a new phone is equally painful since every list needs to be exported manually

@biodranik
Copy link
Member

We all completely agree with the priority. Any volunteers to help?

@Jean-BaptisteC Jean-BaptisteC added the iOS iOS development label Oct 21, 2023
@rtsisyk
Copy link
Contributor

rtsisyk commented Dec 29, 2023

Let's keep #2678 as more detailed.

@rtsisyk rtsisyk added the Duplicate This issue or pull request already exists label Dec 29, 2023
@rtsisyk rtsisyk closed this as not planned Won't fix, can't repro, duplicate, stale Dec 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Duplicate This issue or pull request already exists iOS iOS development
Projects
None yet
Development

No branches or pull requests

6 participants