Jason Snell is editorial director of Macworld. He’s been covering Apple since 1994. He’s also the host of The Incomparable Podcast, at theincomparable.com.

The Big Web Show (“Everything Web That Matters”) records live every Thursday at 12:00 PM Eastern. Edited episodes can be watched afterwards, often within hours of recording, via iTunes (audio feed | video feed) and the web. Subscribe and enjoy!

Usability problems with .Mac sync

I’m afraid this is another of those entries outlining bizarre design decisions and perplexing usability quirks in the otherwise brilliant world of Apple computers and phones. The problem is sync. It can be done, but it often goes wrong, even for smart people who understand computers, haven’t hacked their equipment or broken the law, and are kind to dogs, cats, and children.

On both Macs, you need to refresh your subscriptions (Calendar: Refresh All) before you sync for the first time at that location. Otherwise, sync deletes the subscribed calendars’ information. Just wipes it clean away.

And even if you Refresh All first, sync may wipe away your data, just because.

Why does syncing on either Mac remove all the calendar events from subscribed calendars? It’s the opposite of what any user could possibly want. There’s not even a conceivable edge case where a user would expect “sync” to mean “I’m bored with my life. Surprise me. Make my calendar data disappear.”

One doesn’t sync to lose data. Losing data by syncing is the exact opposite of what a user expects—which also makes it the opposite of what the Macintosh experience promises and usually delivers.

.Mac sync is either partly broken; or correctly designed, but to absurdly limited scenarios; or designed so counter to a user’s expectations that it should only be run with instructions, which Apple does not provide.

Apple does not provide instructions because instructions imply a learning curve, and Apple’s pitch is that its stuff just works. One nevertheless expects at least a slight learning curve when using, say, GarageBand or Keynote. But not with sync. “Sync now” seems pretty self-explanatory, and no user doubts what’s supposed to happen.

Sync does give you a warning before dumping your data, and that warning provides a clue to what’s going wrong. It tells you that syncing will remove x number of items from your calendars, and even lists which items they are. In Leopard, it goes further, and shows you before/after views of items that will change.

Significantly, there is generally no change at all between the before and after views. Probably the “change” is to a part of the database that the user doesn’t see, and has to do with differing file formats or differing time-stamp conventions between Tiger and Leopard. A less buggy or better conceived interface would hide this non-information from the user instead of asking her to think about it.

Do I really need to see that “Lunch with Jim at 1:00” is going to “change” to “Lunch with Jim at 1:00?” Probably not, since, from my perspective as a human, the two items are identical. It’s lunch. With Jim. At 1:00.

If “Lunch with Jim at 1:00” is “different” from “Lunch with Jim at 1:00” to my Macintosh because Leopard and Tiger encode or store calendar items differently, or because Leopard and Tiger time-stamp event creation dates differently, that’s not information I need to know and it’s not a before/after view I need to see.

Before/after seems cool, and probably is if your data is actually changing. For instance, if you’ve changed one of your friend’s photos, it would be nice to compare the before and after views and decide which photo you prefer. But I’ve never seen before/after work that way. Changed photos just get changed. Before/after only seems to come into play on my networks when “Lunch with Jim at 1:00” is changing to “Lunch with Jim at 1:00.”

The irrelevancies I’ve just described must be endured, and the sequence (Refresh: All, then Sync, then Refresh: All again if data was lost during sync) must be performed in the order described, before syncing the iPhone. If, in a moment of derangement, you plop your iPhone onto its dock before doing the herky-jerky data dance I’ve just described, you will lose data not only from your iPhone, but also from .Mac, and then you will never get your data back.

Your mileage may vary.

There are always 100 people for whom everything works correctly, and some of them are always moved to tell me it works for them, and to imply that I’m somehow to blame for the obvious usability problems I’m clearly describing.

They are followed by a dozen Apple haters who want to believe that the lengthy and detailed description of a specific usability problem proves Apple makes bad products, and anyone who claims to enjoy using Apple’s hardware and software is a “fanboy.” Juvenile homophobic and misogynist name-calling often accompanies these messages of hope.

Here’s what I am actually saying.

On my two-Mac setup where one is on Tiger and the other on Leopard, I can make sync work, but I must carry out actions in exact sequences, and know the tricks to undo the damage that syncing inflicts on my data due to bizarre design decisions on Apple’s part.

A few times I have irretrievably lost data, although I was able to manually recreate it by emailing colleagues and asking, “When are we meeting?”

It reminds me of running an old analog mixing board in a dirty, smoky recording studio. Everything’s cool if you know which faders you must never touch, which inputs are dead, and how far to the left you can pan a sound source before shorting out the system.

There’s genius in the concept of sync, and it works magnificently when you’re, for instance, syncing just one iPod to just one Macintosh, always the same iPod and Macintosh.

It gets weird when syncing from home to office via .Mac across operating systems, and weirder when you throw hot iPhone action in.

How should sync work? Just like you think it should work. Just like the two arrows circling in on each other (sync’s icon) imply that it does work. Hitting sync at any time on any networked device should cause all the latest changes to be stored on .Mac and downloaded back to whichever connected device you’re using.

There’s a whole other discussion to be had on why the iPhone is supposed to sync to only one machine, (Sure, iPods do that because of DRM restrictions; but competitive PDAs can sync to any computer: home, office, you name it. Likewise with digital cameras. The iPhone is a phone, an iPod, a digital camera, and a PDA, but its syncs like an iPod, not like a digital camera or PDA, and that’s just dumb.) but we’ll save that one for a rainy day.

Sync long and prosper.

Addendum: Another crazy thing is that subscribed iCals from Basecamp don’t update upon refresh in Leopard. In iCal in Tiger, subscribed Basecamp iCals correctly refresh automatically when one selects Calendars: Refresh All. But in iCal in Leopard, subscribed Basecamp iCals do not refresh, period, no matter what one does. In order to “sync” Basecamp iCals in Leopard, one must delete the calendars every day, and subscribe to fresh copies. When one does this, one gets fresh calendar data, but sync fails due to “conflicts” that do not load in the frozen Conflict Resolver and thus cannot be resolved. This of course is not what Apple intended. It is, by any reasonable measure, an idiotic and self-defeating system. The basest ape would not design such a system. Obviously the system is not operating the way Apple intended. How does one fix it? Apple isn’t telling.

Comments are now off, but you can read what others had to say when comments were open.