263 comments

[ 2.7 ms ] story [ 401 ms ] thread
> If you open the file in an editor that supports conflict handling, a popup appears asking which version to keep. Editors like Textifier, Xcode, or Obsidian, lacking conflict handling, leave iCloud to decide which version to store on your disk and in your backup.

I would like to argue this is at least partly the fault of app developers, for adding iCloud support without the conflict handling mechanism.

However, why does Xcode, Apple's own in-house app, not support conflict handling?! Apple's own software should be setting the standard for third-party developers. If they don't handle version conflicts, of course no one else will either.

The system APIs should not silently delete important data when the apps haven't implemented the feature.

This is an iCloud bug, not an Xcode one.

I'm conflicted.

Obviously, deleting data is bad.

However, Dropbox's "(John Doe’s conflicted copy)" solution is also pretty awful UX. I can understand why Apple would want to use its uniquely integrated software ecosystem to come up with a better system. I believe they could do it—but they clearly have not.

Agreed. I'm not saying the Dropbox approach is the best. It is better than silently deleting content, though.

A different approach would be to add a way to see files that have issues. Similar to how Dropbox shows files that fail to upload.

Maybe it's awful UX but it's the best you can have and it makes good sense, because there is no way Dropbox can support merge conflict for arbitrary file types. You might as well save all the copies and let user figure it out themselves -- user would know much better than Dropbox how to handle the situation.
> There is no way Dropbox can support merge conflict for arbitrary file types.

For Dropbox, I agree. Apple could do it though; that's the advantage of having such great control over your ecosystem.

Hi, original author here. Maybe I wrote it a bit misleading. The thing is: It's independent of the editor. Even if you use an editor that _does_ support conflict handling you can lose the content.

Just assume you write something, save, close the editor and never open it again. iCloud might replace the content of that file and there is no way for you to know.

The only way to prevent losing your data is setting up a Git repository or open _every important file_ regularly in an editor that supports conflict handling.

Ah, thank you! I assumed there was some Apple API which is supposed to handle this situation (that's how this really should work IMO), and the apps mentioned had decided to suppress the user message and just pick the newer version or some such.
My main beef with iCloud: They haven't implemented an iOS or web version of TextEdit, which is what I use for taking notes.
The Notes app?
Yes, I understand that is what I'm supposed to use, but I like plain text files that can be opened in any app from the 1970s and onwards rather than using some app-specific database.

TextEdit.app works great on Mac for this, but there is no equivalent in iOS or in icloud.com.

There are hundreds of text, markdown etc type apps on the App Store that are cross-platform and work with iCloud e.g. SimpleNote, Notion.
You must not be looking too hard. Runestone and TextTastic are true plain text editors for iOS. I've used them both and they work great.
Always make offline backups, including for dropbox too. Storing things in the cloud is never as safe as assumed.
Dropbox is mentioned in the article and it does not behave the way described here for iCloud. I can confirm Dropbox does indeed behave differently, as described in the article.
Hi, original author here. The problem is not the lack of a backup. The problem is that the content deletion happens silently. So you won't know that you need to restore from your backup because you don't expect the content of your file to disappear. And over time your correct backups are deleted and the only ones left are those with the missing content.
Is it even possible to locally backup everything to the same fidelity as the Cloud? Apple (for your protection, naturally) seemingly locks you out of much of your own data.
The author suggests using git. But be warned git doesn’t work well with iCloud Drive. I used to have hundreds of git repositories in my iCloud Drive. Periodically, doing a big commit would trigger my whole multi-hundred gigabyte iCloud Drive to resync with Apple’s servers. This would take a day to complete. I went through Apple support up to quite a high level to try to resolve it and they never did. Now I keep my git repositories outside of iCloud Drive. The trigger seems to be if you ever change hundreds of files at the same time in quick succession before the last set of big changes finished syncing.
Hi, original author here. Thanks for sharing.

My problem is, that I need to use iCloud Drive for some important files because the app I need to use doesn't support another way to sync.

Without git I wouldn't have figured out which files have changed. (And even with git, I can't be sure that I caught everything. I guess git content can also be altered by iCloud sync conflicts…)

you might store the git repo on a Dropbox folder (not a good idea in general, afaik clouds aren't reliable enough for git, but as a backup), this way git content can't be corrupted by iCloud?

Or maybe even locally if you don't need to commit on other computers, then you'll be certain that git is correct without any cloud intervention

Can I store the hidden git folder outside of the repo content? Not sure how to say.

My problem is, that for the time being, some of my files needs to be on iCloud Drive because I rely on one app to edit/create them. Everything else I moved out of iCloud Drive.

Yes the (in git terminology) repository (.git folder) can be completely separate from the working directory (folder on your iCloud drive)
Thank you! I didn't know. I'll research and move the folder.
Git doesn't even work well with large binary objects.
Yes, and git doesn't play video files either, because it is a version control tool for source code, not random binary data.
It's a different topic but often there's binary data that evolves along with source code, so it makes sense to put it in the same repo. Also, other version control systems make no assumptions about the underlying data, except when diffing and merging. People want and need this, and it seems reasonable.
> other version control systems make no assumptions about the underlying data

I most definitely used Git with binary data without any issues. It makes no assumptions as far as I can tell. It's just not great with very large binaries.

I think you cannot make a completely generic indifferent system in finite time. Maybe your system is optimized to efficiently work with 5 1TB files, or 1 million 5KB files, or just nicely handles a reasonable amount of text files in a neat way while being not extremely complex or hard to maintain & deploy.

If Git does version control better than other control systems but only does it for text then I might be fine with that, I think it's reasonable to have a scope.

I'm truly curious why would you use iCloud to back up git. Why not just push your git to the remote?
You can make a local git repo without having a remote server. Then they’re backing it up off site with iCloud.
Sure I understand. However it's free/inexpensive to use a service like GitHub/GitLab/Stash to save your work remotely.
Hi, original author here. In my case it's not that I want to use git. I just need a way to see which files got changed. At least until I can move the last ones out. I still rely on one app that only syncs via iCloud Drive.
The reason I did use them together for a few years is when I bought a new computer or went between two computers under the same iCloud Drive account I could pickup exactly where I left off in my development work without even thinking about it. Obviously, due to the issues it's not worth it though.
I thought it was common knowledge that you shouldn't mix git (and similar VCS) with cloud drives and their cloud based version control (iCloud, OneDrive, Google Drive etc.). The two don't mix well and there's room for all sorts of weird and unexpected behaviours especially if you have multiple devices synced to the same cloud drive.
I'm using syncthing to keep bare repos of my git dotfiles and alikes. Never any issues.
I do the same.

I think the golden rule here is to only work directly with the repo on a single device. Otherwise there is a lot of useless churn and more potential for conflicts.

If you want to work with it on multiple devices, you can still sync it around, just work with a new clone of that repo rather than modifying it directly from multiple places. Then push your changes into the synced repo and act like it's really remote instead of local.

This does use more storage, however.

Yup, you definitely shouldn't. I don't know if it's common knowledge so much as some git operation will start failing after the fifth commit, so you figure it out pretty quick.

I do have to say, I've never understood why git doesn't work well with cloud drives. File management seems like a straightforward enough set of operations that ought to be bulletproof. I've never understood what precise operation gets corrupted when using git, and how that's possible at all.

And I don't know if the fault is the cloud or git. Is it that the cloud returns errors 0.5% of the time, and git silently ignores those instead of retrying, and corrupts data? Or is it something about git reading and writing so many files so quickly that operations on the cloud drive somehow get lost or out of order but without generating errors? Both seem equally implausible, and yet...

I think it’s because git provides atomicy, requires it, requires you to make decisions on merge conflicts, etc while cloud sync makes invisible arbitrary decision of which file is newer, if there is a “conflict” like the same filename but different hashes and sizes, it will happily “clobber” your git database records by arbitrarily choosing which file is “better”
My usual approach with valuable iCloud Drive folders is to have an automatic process rsync them somewhere else and auto-version them there (Git, Dropbox, etc.). This wouldn't be great for very large data, but most of what I care to aggressively version and keep that lives in iCloud Drive is text or otherwise small, for which having two copies is trivial.
The cloud is just someone else's computer.
What does that have to do with the behavior of conflict resolution?
Not your cloud, not your files.
More like “not your merge tool, not your merge preference” I guess?
Not your street, not your road, not your right of way. Not your air, not your breath. Not your sunlight, not your tan. Not your water supply, not your legionella’s disease.

‘If you don’t own it, you have no rights’ leads to a dark place.

Maybe iCloud should be regulated as a utility by the government and held to a higher standard... but it isn't. Plan accordingly.
Though Dropbox doesn't have this issue in spite of similar cloudiness.
I use multiple cloud storage services for redundancy than periodically rsync from cloud storage to a local device for private, local backup using rclone[1]

I’m sure there are downsides but I like the benefit of passive image backup and periodic sync.

1 - https://rclone.org/

iCloud is notably missing from rclone, as well as almost all third party sync client. I can’t use iCloud because as far as I know there is no way to sync it on Linux. Even OneDrive has an unofficial client as well as rclone.
A much better reason to not use iCloud Drive is due to the fact that it's not end to end encrypted. Everything you store in it is readable by Apple sysadmins, support reps, and anyone who can compel them (like the US government can, without a warrant now).

Don't use non-e2ee services.

(Yes, there is an opt-in e2ee for iCloud now. No, nobody is using it because it is off by default and buried in settings.)

I use syncthing (e2ee, free software) to keep my files on all my machines. It has sane conflict handling and nice versioning backups. It even supports untrusted sync-only devices that never see plaintext so you can run a node on a vps or somewhere offsite safely.

If you’re reading this comment, you can also find out that you can turn on e2ee. (Maybe you should lead with that :P)

iCloud Drive is like, one of the only providers that has e2ee.

On iOS:

Settings > AppleID > iCloud > Advanced Data Protection

You'll see 'Add Recovery Contact' and underneath it you'll see 'Recovery Key' 'Off>'

Tap into it, agree to the notice, you'll get a 28 alphanumeric key and then re-enter that same key to finish the set-up.

They really should have it use a pass phrase. Much easier to remember
How is manually turning on iCloud E2EE different to manually searching a provider that supports E2EE by default? This isn't like messaging where the other person also needs E2EE enabled.
The difference is that you know the provider is willing to ship surveillance-enabling footguns. They don't regard e2ee as core and necessary functionality.

Safe and secure providers will never touch the plaintext of any user ever, regardless of the user's configuration (or lack of it).

An example (although not in the e2ee sense) is that time Dropbox allowed logins to any account with any password provided. It illustrates that having a basic test suite over authentication systems wasn't important to them.

Worth noting a practical counter argument against e2ee: the vast majority of people are much more susceptible to losing all of their data because they forget or lose their encryption key compared to having their data compromised by admin staff or governments.

While I'd love to turn on e2ee, I don't trust myself enough to not lose the encryption key.

Then give the encryption key to a few people, there is at least 1 person you trust not to lose it?
(comment deleted)
Indeed, just print multiple copies on paper. The digital attack vector and physical one almost never intersect.

I think it’s less about protecting yourself against targeted attack, and more as a defence gains snooping and physhing and some gathering dirt.

> I don't trust myself enough to not lose the encryption key

If you're using a password manager, you can put the key in there. In effect this backs up the key (encrypted) to every device you install the password manager on, plus a cloud backup depending on what manager you're using.

I enabled Advanced Data Protection and put the recovery key in an encrypted 7zip file, then uploaded that file to Onedrive and Backblaze also picked it up. Every now and then I have a reminder on my phone to test-decrypt the recovery key locally to make sure I don't forget the encryption key.
Do you think “the vast majority of people” know (or even want to know) how to create an encrypted 7zip file, let alone do a dry run of decryption at some regular cadence?

You can barely convince the average user to set up their own backups, and of the users that do, how many do you think test their backup recovery procedures?

I do not know your threat model, but maybe keep a physical backup of the key?
I’m not sure what that would solve? I’m fairly confident in my backup system it follows 3-2-1 so a paper printout seems unnecessary and would possibly weaken security?
It would eliminate that fear of forgetting the key.

Again, it comes down to your threat model. Key stored in more locations is potentially compromising security, but is a trade-off everyone has to consider. It still prevents disinterested drag-net style data leakage.

If you are targeted by the big bad, I doubt my operational security would be sufficient to protect me from a motivated attacker. I suspect that there are vulnerabilities in my TPM/random number generators/encryption software that are exploitable. An evil maid or even just a camera positioned over my keyboard would probably be sufficient to grab my data. Plus those $5 wrenches.

Yeah my threat model is that nobody cares about surveilling me in particular right now, and I’m not in a jurisdiction where rubber hose cryptography is very realistic. ADP will protect me easily from most attacks short of someone blowing a zero day on me.
There is a recovery method for this too: a recovery contact:

” If you enable Advanced Data Protection and then lose access to your account, Apple will not have the encryption keys to help you recover it — you’ll need to use your device passcode or password, a recovery contact, or a personal recovery key. Because the majority of your iCloud data will be protected by end-to-end encryption, you’ll be guided to set up at least one recovery contact or recovery key before you turn on Advanced Data Protection. ”

https://support.apple.com/en-us/HT202303

surely it’s easier to just click a button and turn on e2ee in icloud than change your entire cloud storage provider…
If you care about that, no provider is really safe (not everyone will copy LavaBit and close the business in response to being ordered to secretly reveal keys or otherwise allow snooping); however you can still make sure the thing being synchronised is an encrypted disk image or whatever.
> No, nobody is using it because it is off by default and buried in settings.

I’m using it. And I’m perfectly okay with this being the default behaviour.

But doesn’t that conflict with this articles complaint: version conflicts?

Much easier to handle version conflicts if the file isn’t a black box.

>Don't use non-e2ee services.

>(Yes, there is an opt-in e2ee for iCloud now. No, nobody is using it because it is off by default and buried in settings.)

These are contradictory statements. It IS e2ee. I can easily convince friends and family to click through two menus to enable it. I can't easily convince my friends and family to go through the effort of installing syncthing on multiple devices and then go through with the configuration of them.

It's great you're a syncthing advocate, but telling people that icloud drive is bad just because they don't enable a setting that could cause an average user to lose all of their data if they lose the key is a little ridiculous. I GUARANTEE YOU that your grandmother would MUCH rather be able to call Apple to get her pictures of little johnny back when she forgets her password than have it "more secure by default".

And for many people, a paper that enables they recover their account feels (and likely is) much more assuring than the possibility of never getting in because you forgot things like when you created the account or any number of years-old purchases. The paper will live in a safe right next to other important documents like their Social Security Card or Passport.
What good is e2ee if Apple employees can just VNC into your phone like another commenter said?
You have to give them permission. No different to any RDP session
>What good is e2ee if Apple employees can just VNC into your phone like another commenter said?

That would be the same regardless of whether you were using icloud or syncthing...

The commenter hasn't actually linked any sort of proof or citation (at the time I'm writing this), and assuming it exists at all, it requires you to accept the inbound connection in the first place. My guess is they're extremely confused about the new switch control function that allows remote access, not some nefarious Apple backdoor like you're insinuating.

https://support.apple.com/en-us/HT205644

> Requires you to accept the inbound connection in the first place

It's all too simple to click "OK" in an inattentive moment.

> “It IS e2ee.“

Well, not really…:

” Encryption of certain metadata and usage information: Some metadata and usage information stored in iCloud remains under standard data protection, even when Advanced Data Protection is enabled. For example, dates and times when a file or object was modified are used to sort your information, and checksums of file and photo data are used to help Apple de-duplicate and optimize your iCloud and device storage — all without having access to the files and photos themselves. Representative examples are provided in the table below. ……”

https://support.apple.com/en-us/HT202303

For example, file names in iCloud are not e2e, etc. etc.

According to your own link file names in iCloud Drive are E2EE.
Ignore my previous comment, the wording on the website was a bit ambiguous and I misinterpreted it.
Oh, so even when you think your files are private, Apple uploads content checksums unencrypted that allows Apple to know what files you have, and networks of other users that also have those same unique files.

This is a huge privacy issue.

(comment deleted)
As an aside, shouldn’t “(John Doe’s conflicted copy)“ rather be “(John Doe’s conflicting copy)“? I feel conflicted about the former. ;)
I had a similar experience:

- My wife had cloud sync on her iPhone for Notes

- I thought: "we probably don't need that" so turned it off for her

- She turns on her phone and goes "Where are all of my notes?? What did you do?"

- I break out in a cold sweat

- I remember we had an iPad that also had the sync'ed Notes app

- I open that up and immediately turn off WiFi to "save" the Notes

- We call Apple

- The support person ended up figuring out that we could essentially copy and paste each Note to a new folder so they wouldn't be wiped out.

It was a stressful couple hours though while we worked through it. I would also say that Apple could have given some more warning/pop ups of the full impact of this.

PS I also learned that Apple techs can essentially "VNC" into your phone and view things, change settings etc. They ask for permission and I think I may have had to hit "approve" but this is a feature I didn't even think about it till I saw it in action.

If you did what I'm thinking of, you could have just turned sync back on and all the notes would have reappeared.
This. Turning sync off shouldn't delete notes from iCloud. It just doesn't sync the notes from iCloud to the specific device in question so they are not visible from that device. To confirm OP could have logged in icloud.com from browser and seen the notes there. Then you can decide on a per-device basis whether you want to sync notes and have them be visible on that specific device.
Yup. But the maddening part is that this is never made clear in any of the messaging.

You get a message like "all notes will be removed from this device", but without any kind of reassurance that "all 172 are still present in iCloud".

And if you're not an expert in this, it's a huge risk to take. When does deleting something synced locally leave it in the cloud, and when does deleting something synced locally also delete it from the cloud? This is one of the biggest and most dangerous UX confusions that exists right now, not specifially with Apple but all around.

iCloud Photos are even worse. A family member had some corruption or misclick (wasn't there) that made their organized photo albums disappear even though the photos were still present. Luckily they have backup software I set them up with backing up their entire library, so I walked them through restoring from the day before. We then watched as iCloud noticed it was an old copy of the library and helpfully re-deleted all their albums. We never managed to fix it. I hate computing and want off of this.
What if you wanted to really delete the notes from Apple's servers?
> PS I also learned that Apple techs can essentially "VNC" into your phone and view things, change settings etc.

I'd love to be able to do that too when troubleshooting my mom's iPhone over a voice call (or trying to).

I want Apple to never make this available to 3rd parties. I wonder if, and hope, MDM can disable this support function too.
You kinda already can: https://apps.apple.com/us/app/teamviewer-quicksupport/id6616...

I really want this for my parents who live two states away.

Fire up the built-in Screen Sharing app, type their Apple ID email address in and hit connect. It should bring up a prompt their end that they can accept and you can then observe/control their screen!

I use this all the time for tech support (for family and work).

(comment deleted)
"Why do you always have to tinker!?!"

I'm sure you got an asswhooping. haha

As he should've.

Phones are individual/personal.

Even if the iCloud account is on a shared plan, and one member of the family is responsible for managing it, they should not be making changes to any INDIVIDUAL device settings without checking with that device owner.

I would be livid if my partner had done that for me because they "thought 'we' probably didn't need it, so I turned it off for 'your' iPhone"

I accidentally closed my wife’s tabs once.

She didn’t say anything.

But I’m not doing that again.

Well, if it was an accident, you might do it again. Accidents happen, and there's no point getting mad at a partner for being careless, unless they consistently demonstrate a lack of conscious awareness your interests/needs.

But OP's sounded like an optimization decision and would require some process retrospective.

>> She didn’t say anything.

> there's no point getting mad

>> But I’m not doing that again

> consistently demonstrate

So, for example, by not saying anything instead of getting mad. And by leaving the other person’s devices to their own management.

Hm, any details on that "VNC" functionality? Is it iPad only, or iOS too? Was the approval request a system pop up? Did it open a named application? Did you see what they did on the screen when they were on it? Has this been written about anywhere?
This is an article about Switch Control, which is an accessibility feature for people with (extremely) limited dexterity, not a remote control feature for customer support.
update : i screwed up the link above. thanks to adjacent comment for noticing.

https://support.apple.com/en-us/HT205644

supposedly however switch control works to control other devices on the same wifi network. perhaps there's a vpn trick in the support side to leverage it over the internet at large.

It's supported on Mac/iPad/iPhone and you get a popup granting approval. It shows the standard screen sharing UI while the session is ongoing.
IIRC turning off sync asks you this question: “Are you sure you want to continue? All iCloud notes will be removed from your iPhone.”

I feel as if your wife’s Problem was not Apple but the person administering her iOS devices.

You say that but there should be an easy/painless way to get out of iCloud.
In this case there is. You view the main page of notes and it shows the notes under “iCloud”. Create a local folder, move the notes over, and disable iCloud. Easy peasy
(comment deleted)
Presented to the user as part of the off boarding process rather than separately.

I don’t think that’s unreasonable.

If I have paid for a service good off boarding is part of the service I am paying for.

>If I have paid for a service good off boarding is part of the service I am paying for.

Are you serious? "No off boarding" is Apple's entire business model.

>I also learned that Apple techs can essentially "VNC" into your phone and view things, change settings etc.

Am I the only one seeing this as a potential security vulnerability? Is there a way to permanently disable this?

Everything is a potential security vulnerability...
And why phones are routinely hacked
If it was true but it's not. The problem with believing rando people rather than reading from the actual source. They can only view your screen and only after you explicitly grant permission via a push notification.
>They can only view your screen and only after you explicitly grant permission via a push notification

Of course, but such a powerful feature could also be exploited by hackers, no?

People here constantly flip their shit because of Intel ME exists which could be exploited for similar access, but seem perfectly OK with this feature form Apple.

This is literally the same as sharing your screen during a video call. You can open FaceTime and share your screen with anyone you choose.
think of it as something like teamviewer. there is many objective reasons not to use apple, but this is probably not one of them. I could be wrong of course
Not excusing the footgun but I'm honestly amazed you could get an Apple rep to help you with notes syncing, let alone recover them. And they helped even if it seems like it was your own fault!

My employer pays (a lot) for Google products and even then there's no way they would ever help with that, let alone on the phone.

In the past I did get a rep on the phone to help with things like access control but I can already hear her tell me (politely) to get lost if I needed help with Keep notes disappearing (which they occasionally do!).

Not sure what you're talking about, if you pay Google for support you get support.

Workspace support is good in my experience, we interact every 2-3 weeks and they can usually resolve our issues or know when to escalate. You can call or chat. I know that you can also get phone support as a consumer now via Google One, but I haven't had to use it yet personally.

It shouldn’t be surprising that Apple’s support is way better than Google’s. Apple’s support is above-average, and Google’s support; even for paying customers, is a regular punchline.
obviously Apples support is better than Googles but it can still be crap.

My girlfriend lost an AirPod a couple of months ago, so we went to an Apple Store for replacement. Turns out the case was a Gen 1 case and the AirPod itself was a Gen 2. They had given her a gen 1 AirPod and it wouldn’t sync with the other one.

We went back and the geniuses explained there was nothing they could do. The day after, I called Apple support and the guy almost started yelling at me, how it was our fault for mixing up the cases etc. Eventually he hung up on me.

I called them back two hours later, explained again what had happened (including the previous phone call). She told me she would call the store and apologized for her colleague.

In the end we ended up getting a refund for the wrong AirPod(but got to keep it) and had to buy new ones.

So Apple support, not always great.

Incorrect. Apple support can VIEW your screen but they can't make any changes. And just to note they can't view your screen with you approving via a push notification.
Also they cannot see password fields or your keyboard when using them, and the like, at least on iOS and iPadOS. Apple hides sensitive inputs in regular screen sharing as well, and occasionally when airplaying to a TV, for PIN codes for instance. It sometimes makes it difficult to provide remote help to novice family members, because you have to guess what they’re seeing.
Samsung has shipped a similar feature for phones and tvs for many years. Tech suppory can not connect randomly, the customer has to manually approve by entering a key. similar to how teamviewer does it.
Yes a million times. But it's not even just iCloud -- it's something fundamental to so much Apple software.

The same thing happens to me repeatedly when I'm highlighting PDF's using Books -- every so often, I go back to a PDF and discover multiple pages of my most recent highlights are missing. It saves highlights as you go along, but sometimes for whatever mystery reason, it decides that the version of your PDF from 11:35 is the newest main one, not the one from 11:45.

These problems, of Apple silently overwriting newer content with an older version, have been going on for at least a decade at this point.

And I just don't understand how such a fatal flaw was ever built into the system in the first place, and how it still hasn't been fixed.

> And I just don't understand how such a fatal flaw was ever built into the system in the first place, and how it still hasn't been fixed.

Because the two hardest problems in software are cache invalidation, naming things, off by one errors, and buffer overflows from a lack of array index enforcement.

Surely a company stuffed with billions of dollars is incapable of solving this either by enabling conflict handling or some ingenious methods.
All those billions of dollars are focused on making sure you can't replace your screen with an aftermarket part.
Indeed it's not like there aren't better solutions out there as shown by dropbox. Just keep both versions for a month and text you a warning.
But what is the fifth problem?
Interesting point. I have used Apple computers on and off over the years, most recently from 2015- earlier this year. I think you are on to something re: philosophy. On the hardware side I remember when they did away with floppy disks (I'm getting old), optical drives, whole cpu architectures (3x!), etc. They do cut pretty brutally, and I guess when it comes to iCloud this seemingly extends to your files.

I'm not going to say its all bad, but it is less and less my style (the older I get, especially).

The other thing about Apple's software is that it neither fails gracefully nor does it warn the user. They give an appearance of "everything is fine" even when it isn't. They'd rather have an app crash and throw you to the homescreen rather than give an "app not responding" warning.
Why is an “app not responding” message better?
Because it's not gaslighting

Confirms there is a known problem and could provide an option to terminate it

I seem to get such messages on v11.x. I also have applications that occasionally spontaneously exit, which I assume means bad error handling in the app, along the lines of "…else (exit);".
> decides that the version of your PDF from 11:35 is the newest main one, not the one from 11:45.

Wrong clock on some of the servers?

No because it's all local on my device. That's my point -- it's not just an iCloud thing, it's a local thing too.

(And I long ago turned off iCloud for Books hoping it would fix the problem, but it didn't. Which makes me suspect it's some kind of "local mode" for iCloud that's still open to these bugs.)

I've had my fair share of highlighting/annotating shenanigans with macOS built-in software and I've found Skim (free, BSD licensed) to be a highly competent replacement, with the only caveat that you have to remember to export the annotated PDFs if you want to be able to see your changes from any other application.

Anyone tired of Apple's contrast-killing orangey background and missing a true yellow color for their highlights should give it a try. (No affiliation, just glad it exists.)

https://skim-app.sourceforge.io/

A long time ago I had a junior developer store the internal storage used by Docker on iCloud Drive. He then suffered multiple weird file version issues inside the containerized app inside Docker before he stopped doing that.
I'm curious as to why he would think that's a good idea. It's clearly designed for simple kinds of access patterns with user-edited documents.
(comment deleted)
(comment deleted)
It is storage. Rightly or wrongly, most people are going to think that one storage location is as good as another.

I would assume that syncing would get bogged down (re-syncs full blobs rather than incremental bytes) rather than expect any kind of data integrity problem.

In addition, if they'd use Google Drive I'm 80% sure they wouldn't have had the same issue.
Had something similar occurring with my phone when Notes - and only Notes - somehow lost its ability to sync with iCloud (silently, of course.) When it eventually got back in touch with iCloud, five weeks' worth of notes were obliterated from my phone.
iCloud lost some of my files as well and I never found out what caused it. I store my tax related documents in a folder per tax year. I only ever change this year's tax folder. The folders for previous tax years are frozen for obvious reasons. And yet when I ran find to look for empty folders some of those old tax folders were empty.

I had backups, so the files are not actually gone, but my trust in iCloud Drive is.

You have added to my to do list. Do I need to worry about this if I have Time Machine backups?
No, if you have Time Machine backups your fine (also if you don't have optimize storage - Time Machine may not back up files that aren't locally stored, regardless of sync provider)
Hi, original author here. Not sure about the issue when whole files are gone but regarding content being deleted inside the files Time Machine doesn't help. The problem is that you won't know which files have been changed. And Time Machine will gradually phase out old backups, only keeping one per week, month, year or whatever the policy is. So at some point the files with your content will be gone and only backups of the files without your content will be stored.
(comment deleted)
Probably not. Time Machine should protect you against the problem I had unless you purge old backups. I don't think Time Machine ever deletes the one and only version it has of a file.

But dominikmayer has a very good point there in the sibling comment. I think this would only affect files that change though.

I find it difficult to trust Apple as a steward of its customers' data.

Speaking second-hand here; my brother is an Apple devotee and a music buff. For many years, he collected recordings of live music shows. They were rare if not entirely transient (in that it would be impossible to reacquire them if lost), and he had a good library of them. Stored on his iMac. Then (as he tells the story) one day iTunes decided to replace all of his rare recordings with the equivalent studio songs. They were gone, and the support personnel he contacted told him they could never be recovered.

He still uses Apple computers, but I don't think that wound will ever fully heal.

"He still uses Apple computers". That's the problem right there.

Apple users have an abusive relationship with the brand. They forgive everything.

Not everything.

But not going back to Windows.

Install Ubuntu then.
Ubuntu can’t get the mouse speed right.

I’ve bought the best laptops money could get for some employees, System76. The fans are like whistles in the office: Impossible to work with them.

There’s nothing that works right with PCs.

Why does everyone and their dog recommend Ubuntu, not Fedora? Fedora is so much better!
That’s absolutely horrific. They should be sued, but it would take infinitely deep pockets to win.
I had an uncle who had a hobby of rewriting entire novels, but often inserting his own tweaks to the story or characters. One day, all his work was replaced by the original novels, sans his edits. He was mortified and very bothered by it, but when I asked why he didnt just switch to Linux, he said that he 'hates computers'.
Apple Books on his Mac did it?
That’s horrifying. Imagine he was an elderly lawyer and those were signed legal contracts, you could literally lose your life’s savings, etc.
> all his work was replaced by the original novels, sans his edits

Or he could just not have pressed Save.

Like so many, many people have done through the lifetime of computing.

I take it he never made backups?
(comment deleted)
That was a feature you had to pay for in iTunes back in the day.
This is referring to iTunes Match. An opt-in feature where you would upload your own MP3s to Apple for them to host and where there is an option to replace those songs with high-quality versions from the record labels.

a) Your brother should have taken backups of his MP3s as he was advised.

b) He pressed the button to replace the songs because there is no evidence, anywhere of this happening automatically. And common sense suggests this is the case because there would be a lot more uproar if 10's of millions of users songs were suddenly disappearing at once.

Messages store/sync with iCloud is another absolute abomination for me. Endless frustration. Messages on my devices do not properly offload, syncing is broken to the point messages are missing, and stuff like search/attachments just break sometimes. I've waited at least two major OS updates and nothing's improved. You think they'd focus on such a core functionality.

Sure, I have 126GB 'in the cloud' apparently, but come on. The only fix I could see was to start fresh: so I set up a fresh Messages app on macOS, left it to sync overnight with the screen on until the "Downloading messages from iCloud banner" went away and made sure the important conversations showed "0 images in iCloud".

I then exported what I could via unofficial tools but I still feel like I've lost data, which is painful for me. Such as, searching my earliest known message via another backup showed it in the search results on macOS, but clicking on it showed nothing but a blank conversation. It wasn't even in Messages' SQLite DB after multiple "Sync Now"s and restarts. How the heck did it get that bad? Are the PMs at Apple just that misaligned?

I finally tried deleting the most problematic conversation, which went "ok" on the Mac at first, but caused the apps on my iPhone and iPad to do nothing but crash on open. When the Mac synced next, the conversation reappeared with our past messages, but with random gaps in the history (e.g. messages from yesterday, then a week ago, maybe a month before that, etc -- so a incomplete/weirdly ordered deletion). What a bloody mess. I ended up doing a "Disable & Delete" on iCloud Messages. Now I have to wait the the 30 day waiting period for Apple's systems to wipe hopefully wipe the data in that bucket if I feel like trying again. All this certainly does not give me confidence in using iMessage (even with Messages in iCloud turned off) in the future.

------

I'm just.... very very frustrated. How can they take the most precious of their users' data and give no fucks about it? The same thing with "shared photo albums" where it's not (or wasn't) immediately obvious that they re-compress all images and videos to much lower quality because I guess they didn't feel like deciding whose iCloud storage it would take up. So now my friend and I have photos and videos that are irrevocably, unless we go digging and find the originals we hopefully have elsewhere, compressed.

And now iCloud Drive as in the article? A team needs to be formed at Apple to have a long hard look at how they're handling their users' data and ensure it's done with the utmost of care. This should be a wakeup call to other companies as well. Users are entrusting you with their live's precious moments, or even their worst of times that may need to or want to be recalled upon later and you should be a good steward of that data. In the case of Apple, at least provide a reliable way to backup or export data such as Messages in iCloud, then perhaps I'd have a bit more than my many wasted hours fighting with your software and hoping that I have everything.

"Move fast and break things" really was a terrible mantra.

> When the Mac synced next, the conversation reappeared with random messages in it

Now consider that courts will use this evidence in case of a crime being suspected. And they will presume Apple’s backups to be more reliable source of information that anything you can produce.

In Britain this happened, we sent over 500 people to prison for stealing money, but it turned out the IT system was bug ridden and didn’t sync transactions properly.

https://en.wikipedia.org/wiki/British_Post_Office_scandal

Holy crap that's terrifying! Thanks for the link
> When the Mac synced next, the conversation reappeared with random messages in it

Are you saying that you saw other people's messages ?

Because this would be one of the worst security issues in history if it were the case.

Sorry, I tried to edit my post to clarify that better. What I meant was something like it reappeared with some messages between from yesterday, then the week before, but not very cohesive. Like some deletes failed or something. It was like a chosen few messages survived, and waiting longer didn't seem to have any effect on them disappearing.

I'm sad I had to delete the conversation, but this wasn't the first time I was sent an image or something and it.. just wouldn't be there on a device and there was no way to make it download. So it seemed something was corrupt, or misbehaving.

(As an aside while trying to sort everything out over the past day or so, a message from someone else was only on my iPad afterwards (it disappeared from my Mac and iPhone), and toggling sync did not cause it to propagate anywhere..)

This is great advice. I was planning to become more iCloud centric after having a hassle with Google Drive no longer mounting on my 2013 10.14 Macbook. (This necessitates a clumsy 2-step process to use Drive on this computer.)

Now, I’ll live with this hassle and Drive supports conflicted copies.

Dropbox has always worked the best. But I’m through with them thanks to their heavyhanded shakedown of me by reducing free storage from 5GB to 2 in an attempt to get me to pay. Alter cockers don’t pay: we can’t just go on LinkedIn to get a raise.

I mean 10.14 doesn't receive security updates anymore does it?
Is there a way to backup icloud (esp photos)?

The old saying is - it’s not backed up if it’s in less than two places.

NextCloud, but the experience is fairly frustrating (gotta open the app manually quite often).

Google Photos had better hooks previously, and I can't tell if new iOS limits that shaft NextCloud also affect Google Photos, since I don't use it for a while.

Yeah, if you don't have Optimize Storage enabled then any backup software will be sufficient.

If you don't have enough local storage you need to be more mindful.

I’m developing a Mac app for backing up iCloud Photos here

www.ibeni.net

What’s the best alternative to iCloud Drive for macOS?

Dropbox is so heavy and uses system resources, I’d love a lightweight one that I can trust

New Dropbox is using Apple's file provider and using ~500 MB of RAM. 322 MB for the app itself, and 177MB for the file provider.

If you want, there are tons of applications which can talk with Dropbox, with varying levels of capabilities.

Hah, maybe this shows my age, but half a gig of ram for a file syncing service sounds like way too much. I just looked up the new MacBook Airs, and they only have 8 gig of sys memory. The Dropbox share then sounds like it's quite a lot for one service.

Why is it so memory-intensive anyways?

177MB is acceptable for a file provider I think, but the other ~300 MB is too much for my taste, too. Dropbox is running on a custom Python interpreter with obfuscated/encrypted Python code since forever. This why it needs that much RAM.

Yes, it's borderline Electron levels of resource waste, but that thing works, and I can't complain.

While Apple can manage that 8GB of RAM relatively well, 16GB RAM is a must on any Mac which is used for serious work.

> While Apple can manage that 8GB of RAM relatively well, 16GB RAM is a must on any Mac which is used for serious work.

I think developers all using higher end hardware than the common base models is a big part of the reason bloat like this exists is a problem in the first place. You've got programmers with 128 GB of ram and 32 CPU cores writing application software for people with 8GB of ram. A few hundred megabytes is nothing to the developer, but substantial to the common user who is also trying to use the same machine for several other things simultaneously.

As a developer poisoned by Demoscene, I'm very aware of memory usage of the things I develop, but I'm aware that I'm in the minority here.

Most developers and companies want to minimize development time and sweat. Instead, they want to push their MVP out of the door and iterate quickly. This results in tons of imported libraries for single functions, unoptimized code, cruft and bloat, which I really don't like. However, even if all the things are optimized reasonably well, my point stands, because running things add up.

Currently, besides two browsers (Firefox and Safari), I have Microsoft Excel, Obsidian, Spotify, Terminal, Apple Mail, Dropbox, Nextcloud, TextExpander, Viscosity and Amphetamine open. Currently 13,43GB of RAM is used alongside ~700MB of swap. Most of this is consumed by my Firefox tabs and WindowServer on macOS.

I can recommend getting a Nextcloud instance on a third-party cloud provider (I’m using Hetzner) and using the Nextcloud apps. Fast and lightweight!
(comment deleted)
In case anyone at Apple is reading this: I filed feedback FB11889594 in December 2022.
I too lost quite a few files with iCloud Drive a while ago. I think there might have even been a second file sinkhole, as some of my files disappeared entirely off iCloud Drive circa 2015, without showing up in the deleted/recoverable file list they had if you logged into iCloud over the web. That's not what the author describes.
Last time I checked, there is no file versioning for arbitrary file type on iCloud, meaning that if I made a mistake and modified a file by error, there is no way to get the old file back. I decided that I was not going to put any important document on iCloud but should rely on Dropbox or Google Drive.

(It seems that certain apps -- the type that I never use -- support file versioning within the app. That's not useful.)

iCloud has become a real nightmare when I try to build something in Swift Playground and open it also on Xcode on a Mac. On iPad I was constantly reminded of conflicts, saying that the file is edited elsewhere, while in fact it was just I leave the Xcode window open. Sometimes it just revert to an older version. It is really annoying.
This has nothing to do with iCloud.

It's an issue with Xcode/Swift Playground not supporting concurrent access to a shared project.

Any app on any platform that doesn't support this use case will exhibit similar behaviour.

Yeah. But also no.

iCloud most definitely adds to the problem.

You would have exactly the same issue with Google Drive or Dropbox.

Changing a shared resource in two apps at the same time will usually cause conflicts unless the app has been specifically designed to support this collaborative style use case.

There's different ways to handle a failure.
Stop putting your work directly on a network share? Maybe I'm weird but for 20+ years I always used network shares for backups, or sharing of data. Never to store my live work, that's always on my local disk. Why else have a local disk?

People put way too much trust in these computers. It feels like we're learning the same lessons over and over again. If you had to put your trust in 1) your local disk, or 2) a cloud service, then local disk always wins. Common sense.

That's not at all common sense. People that use multiple devices may want to put everything in the cloud service so as to access the same version on all devices.
This is what Syncthing is for: everything stays on your local file system, but different local file systems are kept in sync.
Plot twist: I get far more sync conflicts with SyncThing than I do with iCloud Drive.

Granted, I’m using SyncThing between 3 different OS platforms.

Syncthing has pretty basic conflict resolution and depends on the devices being online at the time of the conflict, so that's expected. It does, however, keep everything on the file system, and even allow you to move files to a trash rather than completely deleting them if they're deleted on another device. Hasn't saved my ass yet but maybe one day it will.
I'm confused by the doubling down here, the bigs all sell cloud storage for precisely this use case. Syncthing might certainly well be better, but I've never heard of it, and billions have heard of iCloud.

It's besides the point: it's certainly not indicative of whether or not it's common sense that iCloud intends to sync documents.

I'm not really doubling down on anything. I personally used Syncthing to keep two computers in sync while I was transitioning to a new one. Paying for cloud storage would have been unnecessary in my case. I did have iCloud before that, but I can't access that anymore ever since my Mac broke.

I do pay for cloud storage to sync my reMarkable 2, mostly because they'll void my warranty if I don't.

> People that use multiple devices may want to put everything in the cloud

Those people may learn the hard way that deleting documents on one device syncs that deletion to other devices in the same way that making changes to a document on one device syncs the changes to other devices.

Yes, I call that sharing. You're going about it the wrong way, putting your live work on a network share instead of copying your finished work to a network share when you want to share it.

Syncthing is also a good option but people have mixed experiences with that.

iCloud isn't a "network share", it's a cloud-synced folder with attached services. And copying files to either isn't "backups."

You don't actively collaborate on anything with anyone?

You've never worked at an org where the network shares are snapshotted and backed up, but desktops aren't?

I agree with you but we seem old men screaming at the clouds.

Let's meet halfway: use rclone sync to get the cloud up to date with your local data.

And, when out of alpha, you can also use rclone bisync.

Or Dropbox and choose "online only".

For my off site backup I have a computer which syncs everything to local storage. I guess I don't defend against malicious intent or "delete it all" software bugs but that tends to end up as en exercise in insanity.

Storing directly on Dropbox is 5x time slower than on 'normal' filessystem.
Which is why I treat my computer as a thin client unless it is in the Dropbox folder.

For example, every single line of code is simply a scratchpad if I don't sync it to a remote git instance.

iCloud Drive is on the local disk — in ~/Library/Containers. It is then synced to/from the cloud.

Your point remains, but for cloud sync, though.

Devices are just an interface for a lot of people, they might use dozens of devices during the period we (nerds) own a single computer. From borrowing their friends tablet, to changing their phone, to using a computer at a library or their office, they don't have a stable local disk. The cloud is far more stable.
Local disks fail, and backups suck to restore, it takes time, and it's time you never planned on spending at the moment.

Buy/build a NAS, fill it with SSD's, run raid10, run fast networking, and then back the NAS up to the cloud, use the NAS for hot data. That way, when a drive fails, you swap in a new one, and forget about it, no downtime, no BS.

If your choice is between cloud and local disk, you've already failed.

Raid 1 is probably enough for most if you are backing up to cloud.
True, but it's also not as reliable on SSD's as people think, because they will tend to run out of write endurance nearly simultaneously. Still protects you from actual failures, which is nice, but, far from bulletproof.

Not as much of an issue with HDD's, but, you also need many HDD's to achieve the real world performance of even a single SSD and that gets expensive in terms of drive cost and power usage.

For my setup I use HDD's. I am rarely dumping huge amounts of data which needs to go in a hurry. My network is 1gbit which is slower than SATA 2 anyways.

I guess YMMV based on how fancy a setup you need.

Your advice is valid if you are an employee at a cloud service. If I was better at managing hard drives than Dropbox and Apple, my job applications wouldn’t be rejected.
My mom is 70 and for as long as the app comes loaded on her phone, she'll never learn this lesson. She doesn't even begin to have enough understanding about stuff like this to be skeptical about it. There have to be protections in place for her, and people like her who are likely to believe anything a company claims without ever reading the fine print.
(comment deleted)
I just avoid using any consumer based cloud storage for dynamically changing docs. Just keep it local, then upload the final result.

For code, use git locally. If I want to share, then publish to a remote VCS (gh, gl, personal gitea instance, ..)

This is the only sensible comment. This whole thread reads like a HN parody.