iCloud has indeed got better over time, but perhaps the main reason that’s still keeping me from going all-in with it is that the service is too out-of-the-way, too invisible to the user, while I require a certain degree of transparency from a service that’s supposed to sync a lot of my files and information over the air. Yes, it’s nice that iCloud feels like magic when everything works. The problem is that ‘magic’ becomes ‘black box’ when something doesn’t work.
I don’t frequently see errors in iCloud but, when I do, there’s virtually no way to debug them other than hitting the “Try Again” button.
I’ve told this story before, but back when I was setting up iCloud Photo Library, I ran into a strange error where none of my devices would upload my photos. Toggling iCloud off and back on would briefly show a message saying that it was waiting for an iCloud backup to complete — I don’t use iCloud backups on my phone. After toggling everything I could think of, rebooting my iOS devices and Mac several times, trying different WiFi networks, and even restoring my phone, I resorted to filing a bug report. That’s a step almost no users would take.
The nice people who handle bug reports wanted me to install a logging profile. Users would struggle with this despite Apple’s straightforward instructions.
A week later, I received an email from someone in iCloud engineering. She scheduled a call and worked on my case personally. She was able to resolve the bug on my iPhone remotely, but found that a similar bug with Photos on the web wasn’t fixed yet. She filed an internal ticket; nearly a month later, it was fixed, too.
A system like this isn’t scalable. iCloud bugs are such a mysterious black box that a technician at an Apple Store or typical phone support would not be able to assist with resolving them. A typical user would no more consider firing up Console than they would think about filing a radar, but at least the system log can assist a more advanced user with debugging on their own.