Then there’s debugging. Sure, this is all supposed to “just work.” But when it doesn’t, even expert users have very little recourse. To help with cases where a particular device is not showing the data that you expect to see, traditional cloud storage services provide a Web interface to the canonical data store. Even Apple’s own iDisk did this. Currently, iCloud provides no such interface.
That certainly rang true in a bizarre problem for me today. I have two machines that were setup independently and both upgraded to Mountain Lion. I make extensive use of Smart Mailboxes to be able to run through certain lists of mail quickly – one of them includes every open source commits list that I subscribe to. When I went to check that on my second machine yesterday, it was empty – and the Smart Mailbox showed that every rule said “No mailbox selected”. I hadn’t used that mailbox on there since the upgrade, so I figured it was probably an upgrade problem – and went ahead and fixed it.
Then I moved back to my iMac this morning and found it had the same problem. I still had the Macbook open and saw that it was all working there, so I fixed it up on the iMac. Almost instantly, I watched it break on the Macbook.
Well, that’s creepy.
With the help of this post, I discovered that Mail now syncs Smart Mailboxes to iCloud (I suppose using the key-value store, as this is for non-iCloud mail accounts). Inspecting the properties files mentioned, I found that the IMAP URLs for the folders differed between the two machines – one using imap.gmail.com and the other imap.googlemail.com. The sync would merge them, and whichever had the account setup differently would fail.
All I had to do was change the IMAP server so both accounts matched, then edit the smart mailbox (without changing anything and pressing Ok). It would be updated to the new server address and synced, magically repopulating on the other machine.
Syncing Smart Mailboxes is an awesome feature that I was wishing for when setting up the Macbook a few weeks ago – and I hadn’t heard about it prior to today. I think the transparent sync is going to be a great thing as more apps add support for it, but hopefully there’ll be more attention paid to making it clear where it is going to happen, and dealing with conflicts. In this case, it was expected behaviour, but it looked like an awful bug in Mail at first glance.
Hopefully this info will avoid someone facing the same confusion!
Other than that, the upgrade has gone really well. In the past I’ve written long blog posts about what was required to upgrade – this time it is basically identical to Lion. Reinstall Java, reinstall Xcode command line tools, done. Now to start playing with new features…