Steve Jobs must yelling in the corridors at Apple today.
Walt Mossberg, whose reviews can make or break a product launch, delivered his verdict on Apple's MobileMe service: Apple’s MobileMe Is Far Too Flawed To Be Reliable. As I read his description of how MobileMe is intended to synchronize email, calendar, and contacts in real time among PCs, Macs and iPhones I recalled my experience at Lotus when I managed the EasySync business. My first thought was how ambitious it was for Apple to think they could handle all the subtle variations and undocumented features among the different versions of Outlook, Outlook Express, Windows Mail, iCal, and the iPhone, not to mention suporting web-based version of those programs in various browsers. My second thought was that a lot of the bugs Mossberg found must have shown up in testing but Apple released it anyway. I can just see some QA manager telling his boss, "you'd better hope Mossberg doesn't have these problems."
Most of the problems Mossberg found are nits, such as not having the sync'd calendar show up automatically, and may indeed be rare, but he found a lot of them. Synchronization is a subset of the distributed database problem, and distributed databases are hard. Not only must they deal with conflicting transactions happening in parallel (e.g. updating a contact's phone number in two places at once) but they must also deal with different interpretations of the various standards, and the tendency of humans to be imprecise, such as storing a "home number" one place and a "home office number" in another. Add in a couple dozen different builds of Outlook and you have plenty of opportunity for a developer to say "but it works fine on my machine" or a manager to say "that won't happen to most of our users."
Now these bugs will probably get the attention they deserve and the next version of MobileMe will be much improved. For that we can thank Walt Mossberg, who goes there so we don't have to.