News for hackers. Stuff that matters.

Ask HN: Can Someone Explain Syncing via iCloud?

There is a to-do list app in the apple ecosystem called DoneIt. I really want to love this app, but it's plagued by several things.

One of them being Sync.

It's advertised as being private because it uses your own iCloud Drive as the database.

However, it has atrocious syncing:

1. Changes or additions get lost 2. Very slow for things to reflect 3. Just doesn't work

I know iCloud isnt ideal. But other apps like 2Do use dropbox (can also use iCloud) and work just fine.

How would you fix this? What are the issues with making this work? How would you implement it?

I am not a software dev by any means but I have general knowledge. I know there are things like merge conflicts, race conditions, etc to keep in mind.

( 3 comments | 2 points | on HN )
Re:Ask HN: Can Someone Explain Syncing via iCloud? by Ayouby on Thursday August 29, 2024 @06:58PM (#41396220)
OP here, why not implement something like this https://github.com/anyproto/any-sync ?
Re:Ask HN: Can Someone Explain Syncing via iCloud? by oulipo on Friday August 30, 2024 @02:12AM (#41398114)
There's this lib for Swift, perhaps the maker of the app could use it? https://github.com/automerge/automerge-swift
Re:Ask HN: Can Someone Explain Syncing via iCloud? by Someone on Friday August 30, 2024 @06:30AM (#41399404)
> It's advertised as being private because it uses your own iCloud Drive as the database.

That doesn’t mean it uses iCloud syncing. It could use its own or a third party method to sync data with a file on icloud.

> How would you implement it?

If I were to implement something like that, I would read Apple’s documentation (https://developer.apple.com/icloud/cloudkit/), Google for blog posts and try to find Apple or third party sample code (e.g. https://developer.apple.com/documentation/uikit/documents_da...), and think hard about testing.

(I wouldn’t know how much of these were done for this project)