Hacker News new | past | comments | ask | show | jobs | submit login
How does iCloud work? Plus a new version of Cirrus (eclecticlight.co)
170 points by janandonly on July 22, 2023 | hide | past | favorite | 64 comments



I'm going to be in the minority here, but I don't want Apple (or Android or anybody) syncing my documents, photos, or passwords. I'll do my own local backups or backups to a server I control, or at the very least using encryption that I control if it's going to a server I don't control.

iCloud and every other kind of automated syncing is so damn complicated that I don't know everything that gets backed up, when it gets backed up, if it's encrypted, and whether or not Apple (or whatever company) guarantees to me that the data is encrypted in such a way that they can't read it. Even the OP calls parts of it "exceedingly complex".

I was hoping the article was going to have some good tips on how to disable iCloud with absolute finality. Every time I get a new iPhone, or after an iOS update, or after configuration changes I have to go around and click off syncing in obscure places, and Siri too.

Have you noticed that on a new phone, after transferring over your data locally (not through iCloud), it'll start syncing them to iCloud without even asking you? Furthermore, even after you've turned it off, it gets re-enabled under some unspecified conditions that I've never figured out (after iOS updates?), so you have to forever keep checking.

Macs have been auto-saving your documents to iCloud by default since at least 2014 (OS X Yosemite).

I find it pretty amazing how most people are now OK with a third party keeping a copy of every document and photo of their lives.


> I'll do my own local backups or backups to a server I control, or at the very least using encryption that I control if it's going to a server I don't control.

> I find it pretty amazing how most people are now OK with a third party keeping a copy of every document and photo of their lives.

Because it's convenient for them and they don't have the time/knowledge/inclination to do the former?

See all the comments on HN about how Dropbox would never take off because <insert various technical solutions most people can't implement and those who can don't want to because it takes up a lot of time for little gain>.


>I find it pretty amazing how most people are now OK with a third party keeping a copy of every document and photo of their lives.

I am not OK. But I dont have a cheap or affordable, easy enough solution either. 99.999% ( Dare I say 100% ) of solution offered on HN are not consumer friendly. They either go into 321 backup mode, ZFS on TrueNAS, BTRFS, or Self Hosting Linux as easy enough. That is like in 2000 someone showcasing to me how easy it was to use linux.

I want a Time Capsule, appliance like devices where setting up should be easy plug and play. And unless NAND price stays at the current level ( they are selling at cost or lost already ) It will be a long time until we could get a 2x2TB iCloud Server at home for something like $299.

I also want to state syncing isn't just about convenient either. It is about lock in, it is about iCloud Storage, it is about Service Revenue. Apple now has ~700M paying services customers.


> iCloud and every other kind of automated syncing is so damn complicated that I don't know everything that gets backed up

Same for me, I'm really not used to iOS either but there doesn't seem to be a way to know what's being synced or not, the progress of the sync and any sync logs from helping my father. And if there is, well I'm a software developer and didn't find it so it's clearly not a good UX.

Good luck the day you end up needing your backed up data, you might get some unwanted surprises.


I've helped a few people recovering from backup after losing or destroying their iPhones. The iCloud backup has, in my experience at least, been nothing but good luck.


Sure, it can be, I would not bet on it due to the lack of status though.


When one accidentally drops their iPhone off a ferry and into the ocean water, most people tend to be infinitely grateful for any backup, even if it's 12 hours old. (And even if the device backup isn't up-to-the-minute, core iCloud features like messages, contacts, notes and photo libraries usually are.)


I don't mind if it's 100% up to date or perfect, but I'd only trust it if I can see somewhere that it's not been stuck not syncing and I can have a look at the sync logs. There's nothing worse than thinking you are covered whereas you weren't and you could not know about it.

"Don't worry it will work" isn't satisfying enough in my opinion. Maybe it's because I'm a software dev but I know things can break, bugs do happen and I know by experience it's necessary to have a place to check the status of it.

Back to my example where I help my father, I bought some extra storage to my father because he got an email that icloud was full. How long do I need to wait before the iphone is fully synced in order to format it? There's no way to know.


>I find it pretty amazing how most people are now OK with a third party keeping a copy of every document and photo of their lives.

Most people can't be arsed to back stuff up even though losing them will be tragic, destructive, and debilitating all at once. For most people, autosyncing by the likes of iCloud, Google Drive, Onedrive, et al. are a godsend of usability and practicality. Likewise, most people can't be arsed about encryption or privacy either.


> Likewise, most people can't be arsed about encryption or privacy either.

Yep, I think if the average person was asked to rank the what's important it would be convenience/recoverability >>> privacy/encryption.


I’m similarly concerned about opaque systems. But, chose to trade-off my concern for the convenience.

But, could you simply not create an Apple account in the first place and set up your iPhone without it?

https://mobiletrans.wondershare.com/iphone-tips/can-i-use-ip...


You can't install apps without an Apple ID. You can't get an Apple ID without a phone number.


You do need an AppleID but that doesn’t mean you have to turn on iCloud. I have a test iPad I erase once a week, and the last thing I can’t automate is going to the App Store app and signing in there rather than during Setup Assistant or from the Settings app. You’ll still get a prompt to go “finish signing in” or some such, but no document sync, no iMessage, no Photos, just access to apps.


The moment you sign in with the Apple ID in the App Store app, it helpfully signs you in to iCloud and you have to go and disable it.


This isn't true in my experience.


That is because MFA is mandatory.

You can always just use a burner phone or eSIM.


Burner numbers aren't available in many countries. Most eSIMs in Europe only support data, not calls or SMS.


Apple are pretty clear about what security options exist for data stored in iCloud: https://support.apple.com/en-us/HT202303


I'm upvoting you because that's excellent link I hadn't seen before. However, it does tend to confirm what I was saying: the policies and procedures of syncing are so damn complicated. It also confirms that your photos and notes are typically not encrypted in a way that prevents Apple from reading them. I.e., Apple can read them unless you are (a) running iOS 16.2 or greater, and (b) you have "chosen to enable Advanced Data Protection".


> I'll do my own local backups or backups to a server I control, or at the very least using encryption that I control if it's going to a server I don't control.

You’re presenting a choice here, which indicates that you are fantasizing about what you would want and haven’t actually set this up.

It’s not hard though, you can do local backups on either a USB disk or the Time Capsule like solutions and store your files on any WebDAV share you provide yourself, all integrated just fine. You just have to set it up yourself.


Oh my... this is appropriate, I was just yesterday trying to sync photos to iCloud from macbook and the experience is beyond frustrating.

The system decides what and when it will sync, but some files randomly take forever to sync, the app gives zero feedback on what's already synced or not, and although you can have multiple libraries, only the "default" library syncs to iCloud, so it's hard to have manual local backups.

It seems Apple tried to create a seamless experience but it's plain bad. I guess that's why an app like Cirrus exists, but such a lack of polish doesn't inspire confidence on me having control of my backups. I'm in the process of giving up on iCloud now and figuring out alternatives.


Cirrus sounds useful for us MacOS users.

> Cirrus has four main functions. It can download and evict (from local storage) items stored in iCloud so that you can manage them properly. It provides full details about files and folders held in iCloud. It performs a test file upload, which can help unstick pending uploads. It also provides specialised access to iCloud-related log activity.


This looks like a very useful utility, but why would you use iCloud if problems like this are this frequent? Compared to Dropbox, for instance?


It's not that frequent and other cloud storage options have their own set of quirks. That said, iCloud has more serious flaws and limitations:

- It's unreliable. E.g, I found that some old folders I hadn't touched in years were empty after an OS upgrade. The files were just gone (but I had backups).

- No file versioning, no protection against ransomware.

- Limited sharing with non-Apple platforms

- Slow syncing

iCloud also has some great features that not many others have, such as end-to-end encryption.


I don’t know that these issues are super frequent, but the fact iCloud is directly integrated seamlessly into the user directory and across devices without futzing is nice. Dropbox I found to be relative expensive and not well integrated. As an extension of the OS, when enabled I cloud manages a lot of the user home directory without a “drop box” folder. This is important especially for people who aren’t particularly interested in computers and just want them to work. The fact there’s a special place for loading files across devices and backup is cognitive load 99% of the universe doesn’t want. Even myself who is fine with the cognitive load found that the lack of fuss with moving things around and just always working is convenient enough that despite having at various times Dropbox / box / others that I just used iCloud. Finally there just isn’t any material advantage to Dropbox over iCloud that I could find. While things delaying their sync or whatever might be annoying occasionally, you can unstick it with small gestures like creating a directory and deleting it, but you can also achieve this by simply waiting longer - which is what most people do. In the very rare case that I am trying to tightly synchronize files between devices and it’s stuck, it’s mildly annoying, but the continuous advantage of the tight and seamless integration with the user directory is a constant advantage. I suspect almost all the times it’s stuck I didn’t even realize it


That small gesture is a much bigger mental overhead vs a separate folder Also, Dropbox added a Home backup feature


I quit stalled “cloudd” process via System Monitor when iCloud Drive is stuck et voilà!


> This looks like a very useful utility, but why would you use iCloud if problems like this are this frequent?

The reason is implied by your question: problems like this are not that frequent. Not that it’s an excuse for the complete lack of feedback when they do happen.

> Compared to Dropbox, for instance?

Dropbox is fine, but not without its problems either. The client is a resource hog, a far cry from the seamless experience it was ~5 years ago. It’s also not really integrated into any application. But for me the kicker was when they decided that I didn’t have the storage space they gave me as freebies anymore. If I cannot trust them on that, I won’t trust them with my debit card.


For me, mostly because I was already subscribed for photo storage. It’s not worth paying for other cloud storage when it’s already there, even if it’s sub-optimal imo.


I implemented iCloud support in an app not long after iCloud was made available to developers. The problem with the "ubiquitous key/value store" was that you never knew when or if the local copy would be refreshed, and you didn't necessarily get notified if it was.

Therefore, if your application depended on it, you had to figure out some way to operate for an unknown amount of time and then reconcile the app's state if you unexpectedly heard back from iCloud five minutes or an hour after the user started using the app and did a bunch of stuff.

I'm curious as to whether this has been improved since then (circa 2011).

Another issue is that Apple would throttle your application if it made too many iCloud requests in some time-frame. They refused to specify how many or how fast the requests would have to be to get you throttled, and your program would not be informed. Actually, "throttling" isn't quite right, because that implies that your calls would just be slowed down. No: iCloud calls would just start failing with "false." So, if I'm stepping through my code and there's an iCloud call in it, can I step through it five times? Three? And how quickly?


In fairness don't you always have to prepare for your user’s device to be unable to sync with the cloud? I wonder if apple imposed this limitation just to force developers to consider it even in the best of conditions.


To your point, yes. But the somewhat hypocritical thing is that Apple says don't use iCloud for things that need to be timely, but then gives examples that absolutely require timeliness. For example, the user is watching or reading something on one device and then seamlessly picks up at the same point on another one.

It's not so much that you have to prepare for network problems; it's that Apple doesn't tell you if the local key/value store EVER synced. If it synced but there was no difference between the local and remote store, you don't even get confirmation that yep, we're all good to go.

At least that's how it was the last time I used it.


That was 12 years ago! But you're spot on, because they barely changed anything in those 12 years and everyone rolled their own solutions.

This year, they've _finally_ introduced a higher-level API that does what you're describing, but it's still in beta: https://developer.apple.com/documentation/cloudkit/cksynceng...


Oh man, that's unfortunate. But thanks for the info! I appreciate the link.


Oh... that's bad


You basically shouldn't use the key value store. Besides this, it also has a very low size limit. Use CloudKit instead.


Thanks. I figured they'd just folded the original functionality into CloudKit. How does it differ in this regard?


I mean, it's completely different, so it has none of the same problems. It might have different problems of course.

Ironically FoundationDB is a key-value store internally, but you don't get access to that.


Perhaps this issue motivated the acquisition of foundationdb.

https://www.foundationdb.org/


iOS backing up apps is such a scam. By default all apps get added to it consuming lots of MB from the low 5GB of storage.

Does the Home Depot really need 200MB of storage backed up? I'm not even signed in...

Why isn't Apple's review process protecting me from this?


The fact its opt-out is sketchy too. As far as I know, there's no request for consent nor any acknowledgment its being stored in iCloud in the first place. Between that and the all-encompassing nature of Siri having access to app contents by default, not sketchy at all. Siri used to (still does) access encrypted email contents in Mail if you have that as your client but it probably does the same to those who don't uncheck it in iCloud AND Siri


The real question is why does Home Depot even have 200MB of data stored? Presumably it's all cache, in which case why don't they mark it as such?


Why is there even a Home Depot app installed? What does it offer that people need but can't get on their website?


I installed some apps like this (not Home Depot specifically) because they bribed me to do it. The first item you buy via the app is often a bit cheaper than the price you get on the website.

It's a great way to find out how much you value your own time. Apparently, my time is worth significantly less than what I charge my clients :)


They probably offer "rewards" or discounts for giving them access to your data.


The app is actually a pretty good one, but that doesn’t excuse a 200mb cache (which is probably product images mostly).


I wonder when they’ll wind up increasing that 5GB to something more.

Personally I pay for 2Tb.


The 5GB limit has been in place since Apple unveiled iCloud at WWDC 2011.


iTools and .Mac previously had smaller limits. MobileMe was 20Gb?


Me too, but that’s because my photo library has exceeded 200gb. Don’t know much what else I can do with my drive space. Do you have any suggestions?


Note that by default this data stored by apps in iCloud is not end to end encrypted and is readable at any time by Apple and by extension FBI/DHS without a warrant or probable cause.


You can turn this off per-app, no?


You HAVE TO turn it off per-app. Completely and endlessly opt-out. Have 500 apps, good luck?!


Yes.

Also, I’m sure the parent commenter misspoke and meant “app data”. iOS apps are not backed up to iCloud.


Three small QoL tips for people who have issues with their iCloud sync

1. In Finder, enable the Status bar. This shows the current iCloud progress.

2. If iCloud sync is stuck, run `killall bird` to restart the iCloud drive sync process.

3. Disable `Optimized Mac Storage` in the iCloud system preferences. This forces your mac to always upload and download files.

One thing I haven't figured out is how to see iCloud sync status without having to open Finder, e.g. for a custom menu bar item.


`brctl status` will return sync status data without requiring Finder. It isn't pretty, but it's usable via stdout and whatever tooling you'd want to use.


I love iCloud but it does occasionally get stuck for me. The best solution I have found is to kill all of its processes (called bird) to restart it. It usually gets it syncing again pretty much instantly:

    killall bird


I like iCloud, despite some of the irritating shortcomings that many others have also mentioned, for a hands-off syncing of not just files/contents but settings of apps. I like to treat the ecosystem (currently Apple's) as the primary holding place of our content (in open formats wherever possible, while regular backup copies of the Apple format where not) for all family members and their devices.

Looking back a few years, the struggles of syncing are not that prominent and have improved quite a lot.

I want to be able to pick up a device and get the content I want when I need it. That means, my wife taking a picture of something and if I need to access that, it pops up now or in a while. If I've to buy items and have to look up my daughters request too I like the fact that I can look up the common Family Notes folder with the note "Buy These".

However, iCloud is definitely not (still) a good one for files and content storage. The family subscribes to the highest 2TB but the 4-member team is gobbling it up pretty fast. We use just the family-shared folders for common files such as scanned files (receipts, and other physical records, etc) so I can look at a common location on my weekly, monthly, and quarterly digital chores.

Finally, we subscribed to the 2TB Dropbox plan for the file backups and such. They are selectively synced (that cloud only feature) for individual devices but I have a separate (MacMini 2012-edition for now) running as a backup that syncs everything offline as a final backup of Dropbox.

Of course, there are the other media files backups, archives, and the stuffs on other media/cloud. So, my pattern is -- an easy offline access where possible with a sync copy/backup somewhere in the "cloud" or vice versa.

One can replace Dropbox with the others you are comfortable with.

Use iCloud for the convenience but have a backup system that you can rely on. I have absolutely no idea about the detailed intricacies of iCloud. Right now, I'm reading "IntroducingCirrus1.13.pdf" that came with "cirrus113.zip" that I just downloaded from this article.

Edit/Update: I have setup iCloud sync for quite a few relatives (and their family members) and they are very happy, especially that Photo thing that just shows up when their family members take photos elsewhere. They think I made the magic happen for them, when they replace their new iPhones and the Music/Photos are just there. I try to make sure to have a printable PDF with the basic setups of what I did -- just in case, they ask someone else or I happen to be not available for help anymore.


Dropbox was fine until they decided they wanted to be more than file syncing. Their app is a terrible resource hog that slows my computer to a crawl. I finally had enough and deleted their app and use Panic’s Transmit to interact Dropbox.


ICloud was let loose in 2011 and has never been fit for purpose. Some comments here are from hackernews veterans, with 1000s of kudos points, presumably with tech wings, talking about their yearly struggles with photo sync fails - why on earth are you using iCloud to sync photos when it's never been fit for purpose?


> why on earth are you using iCloud to sync photos

Some reasons for me personally:

- It works well enough. I rarely have issues (maybe once a year as you say?), and then it’s usually resolved by a device reboot. Once I had to turn iCloud sync on and off again. However, I’ve learned to avoid e.g. working on Git repos in iCloud Drive, which tends to upset the sync process.

- It’s cheap. I can get 200GB storage shared with family for €3.5/month. For example Dropbox doesn’t sell less than 2TB plans, which with family sharing becomes €17/month. That’s 5x more.

- It is the best alternative on iOS. I tried lots of other sync apps before I migrated to iCloud. Partly, this is because Apple has crippled the competition by not allowing them to sync in the background without battery-draining hacks, not allowing them to integrate directly with the Photos app, etc. Partly it is because the other cloud providers I tried didn’t integrate properly with e.g. the Files API.


Thank you. For my non-technical friends of all ages iPhoto to Photos went through such seismic changes that for most coherence of how and where photos were and weren't was taxing. Not sure on the pricing point though - with the vast majority of iPhone users clicking away, the phone limit is reached quickly and then getting a non-tech head around photos actually are is never ending. But yes, I'm sure things have improved, they would have to.


iCloud improved significantly after Apple acquired the FoundationDB team in 2015.

For me at least the inconsistency issues that plagued the platform have been resolved.


Thank you, although, after reading the Eclectic Light article I get the impression the resolution continues. My experience with iTunes match and iOS to Mac sync'ing means I left iCloud sync for serious usage prior. Too many times Apple launch untested services on us long term Apple hardware users. Music industry. I concede things have improved, but they would, wouldn't they - and couldn't (stand to) be any worse.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: