Followers

Sunday, August 10, 2008

Inside MobileMe: Mac and PC cloud sync and mobile push

By Prince McLean

MobileMe is advertised as push messaging service, so some users were disappointed to find that some desktop updates may take as long as fifteen minutes to find their way up to the cloud. However, the service does also support push IMAP email as well as full desktop push updates from the cloud, at least on Mac OS X. Here's how Apple's service works with the client software on desktop Macs and PCs and on the iPhone.

Inside MobileMe: Secrets of the Cloud and Mobile Push
Inside MobileMe: Mac and PC cloud sync and mobile push

MobileMe on the Mac desktop

To synchronize with the cloud's push messaging services in MobileMe, specialized desktop software is required. On the Mac, Apple talks to Mac OS X's Sync Services to sync to the cloud, and configuration is done through System Preferences' MobileMe pane, which replaces the former .Mac version.

The only visible difference (apart from updated branding) is that MobileMe can now be set to 'automatically' sync bookmarks, calendar events, contacts as well as other data designed to sync with .Mac, such as Dashboard widgets, Dock icons, Keychains, Mail account settings, rules, and signatures, Notes, and System Preferences (below).

MobileMe in Mac OS X System Preferences


Microsoft also includes Mac OS X Sync Services support (and therefore MobileMe sync support) in the Mac version of Office, so users of Entourage can keep their calendar and contacts up to date with everything on the MobileMe cloud as well. And of course any other application that either keeps its own data in sync with Sync Services, or directly uses the Mac OS X Address Book or iCal's event data pool will also be stay updated with the MobileMe cloud and the devices it pushes updates to, including both the iPhone and iPod touch.

Mac OS X's Sync Services uses a central “sync engine” that maintains a “truth database.” This allows multiple devices, applications, and online services to plug into the service to share and sync data. An app with new data pushes its updates to the engine, which syncs the changes to its truth database. Other applications can then request updates from the truth database. The connection between the sync engine and MobileMe is trigged on the schedule set by the user in System Preferences. The MobileMe cloud also enables multiple Mac OS X systems to sync their local data with each other.

Bonjour, you have new messages

Once updates arrive at the cloud, either from MobileMe sync or from entries made directly in MobileMe web apps, the cloud pushes those updates down to any registered iPhones or iPod touches connected to the account. On Mac OS X Tiger or Leopard, Apple also triggers push updates from the cloud that should show up immediately in Address Book and iCal, or “generally within a minute” according to Apple's site.

Updates made on the Mac desktop are not immediately pushed up to the cloud unless you manually initiate a sync (or wait for the system to trigger an update sync itself). However, updates are pushed down to Leopard desktop apps, typically within around ten to fifteen seconds of making changes from the web or on the iPhone. Updates pushed to the mobile are similarly fast.

This unique desktop push feature uses the same Wide-Area Bonjour mechanism used by MobileMe's Back to My Mac for remote file and screen sharing. For this to work, the Mac desktop must first be securely registered into Apple's Dynamic DNS server by simply turning BTMM on (which happens when you install the MobileMe update, if it's not already on). This then allows the MobileMe cloud servers to target updates to the machine as required without the desktop system needing to initiate the transactions. BTMM also automatically configures an encrypted, point to point IPSec connection to secure transactions over the Internet.

Other push messaging alternatives either use an expensive mobile network to keep track of mobile devices (as RIM's BlackBerry service does), or require a team of administrators to configure and maintain a Local Area Network supplying DNS and directory services (as Exchange Server does). Exchange can not remotely update desktop client machines unless they connect to the corporate network over a VPN or dialup networking link themselves. Thanks to the automatic Wide-Area Bonjour configuration of MobileMe's BTMM, none of that is needed.

MobileMe on Windows

Apple's BTMM push updating service does not update Windows desktop apps, which must sync on a regular interval to be kept up to date with the cloud. Rather than using Microsoft's own desktop ActiveSync in Windows XP (not to be confused with Exchange Server's unrelated push messaging component of the same name), or its successor in Windows Vista, the “Windows Mobile Device Center,” Apple brought over its own sync technology, bundled within iTunes.

This is not new to MobileMe; iTunes for Windows has long provided iPod, iPhone, and .Mac data sync with Outlook on the PC. This fact didn't prevent conspiracy theorists from complaining that iTunes 7.7 was “sneaking MobileMe onto Windows” after discovering optional new sync options in the latest version of iTunes.

During the iTunes install, Apple includes a MobileMe Control Panel that behaves identically with its Mac OS X counterpart, although on Windows there is no support for syncing anything apart from calendar, contacts, and bookmarks with the MobileMe cloud (below). Again, on Windows, there is currently no support for Back to My Mac or push updates, only sync.

MobileMe in Windows Control Panel


Desktop Data Sync on Windows

MobileMe mail works with any standard POP or IMAP email program, but things are a bit more complicated in the realm of contacts and calendars, where there is currently not yet any widely accepted industry standards for exchanging data with client software. This may change as CalDAV calendaring and CardDAV contacts catch on, and Apple is currently pioneering support for both in its server products, with iCal Server and the upcoming Address Book Server in Mac OS X Snow Leopard Server. Google, IBM, Mozilla, Microsoft, Sun, Yahoo, and series of other industry heavyweights are also promoting the new standards.

Both CalDAV and CardDAV are based on the WebDAV standard Apple uses to power its iDisk and web hosting services in MobileMe. Until those standards become fully supported in Windows apps, Apple is left to support whatever it can using the existing, proprietary APIs for PIM (“personal information manger”) data sync.

Apple syncs contacts to Microsoft Outlook, Vista's Windows Contacts, Google's Gmail Contacts, or the Yahoo Mail Address Book. Because Outlook can have any number of local or network contacts services installed, iTunes syncs with Outlook's primary contacts folder, which is by default the one set up in Personal Folders.

For calendar events, iTunes only syncs with Outlook. Users of Vista's Windows Calendar are out of luck until Microsoft finishes its sync strategy for Vista and opens its APIs to allow third parties to sync with the new application. A variety of other programs and services on Windows can also sync with Outlook, and therefore can keep their data up to date with the MobileMe cloud as well. However, the more independent devices and conduits that are linked together in syncing data, the more opportunity there is to introduce problems. That's why Apple developed a single Sync Services architecture in Mac OS X with a central truth database for auditing and vetting updates authoritatively. Unfortunately, there's nothing identical to it on Windows.

ActiveSync and Vista's Windows Mobile Device Center are really only designed to sync with Windows Mobile/WinCE devices, and as one Windows user noted, “Windows Mobile’s ActiveSync/WMDC sync process often ruins a good WiMo experience.” Additionally, WMDC can not even sync Windows Mobile devices with Vista's own Windows Calendar, nor can the new app sync its calendar data with Outlook. So it should come as no surprise that iTunes does not sync with Windows Calendar either.

For web bookmarks, Apple supports syncing with either Safari or Internet Explorer on Windows, but curiously not Firefox, which Apple recommends over Internet Explorer 7 for browsing the MobileMe web apps. There are a number of Windows utilities for syncing bookmarks between Internet Explorer and Firefox however.

Cloud sync, push sync, and mobile push

On both the Mac and PC, POP or IMAP email is still retrieved from MobileMe on a schedule rather than being pushed as it is on the iPhone. However, Mac OS X Mail, Mozilla Thunderbird, Outlook 2007, and a variety of other desktop email applications can enable IMAP IDLE to allow the server to push new email to the client as soon as they are received for nearly instantaneous messaging.

Contacts and calender items are kept in sync with the cloud at automatic fifteen minute intervals on Mac OS X Leopard, Windows XP, or Vista. Using Mac OS X Tiger, synchronization only occurs hourly. The frequency of sync can be dialed back to hourly, daily, weekly, or just set to manual for users who don't want sync kicking in every few minutes. A full sync session with MobileMe can be a processor and disk intensive operation, so you wouldn't want it happening continuously. However, on Leopard a targeted sync will trigger every time the cloud has an update, if BTMM is configured. That means if you make a change to your mobile or web calendar, Leopard will get a push update that will trigger a quick calendar-only sync session between the cloud and Sync Services that will result in an update in iCal.

On the iPhone and iPod touch, Apple has integrated full push messaging support for email, contacts, and calendar events into the new iPhone 2.0 software. The point of push messaging is to conserve the battery life of mobile devices while providing rapid messaging updates. It essentially turns email into something closer to instant messaging or SMS. Rather than having the email program constantly polling for new messages, which would consume a lot of power, a specialized messaging server fires new messages to the device as they appear on the server. Updates made to server side contacts and calendar events are delivered in the same way.

Some ambulance-chasing critics following the clumsy MobileMe launch decided that they found the service particularly disappointing because there was no bidirectional support for push updates on desktop client computers. However, nobody provides full push messaging updates to desktop clients over the Internet, and particularly not to consumers, as we point out in the following segment comparing MobileMe to other consumer and corporate push messaging alternatives. Push messaging is a service designed for mobiles.

At the same time however, iPhone users are unlikely to see an advantage in battery life after turning on push messaging because MobileMe enables more updates than were available previously. Push messaging is easier on the battery than checking for email every few seconds, but the iPhone's original software only allowed for automatic email updates every fifteen minutes. With the speed and regularity of new updates comes additional battery consumption.

Users can enable push support for Mail, Contacts, Calendar, and Bookmarks individually (below, under account settings on the iPhone). How much overhead is added by push messaging will relate to how often updates are made on the server and therefore how frequently those updates need to be communicated to the iPhone. Most users have seen a significant impact on battery life of around 20% after turning on push messaging, although the recent 2.0.1 update seems to have helped a lot in this regard.

iPhone MobileMe Push Settings


The next segment will take a closer look at the market for push messaging and compare how MobileMe stacks up against similar services, from hosted Exchange Server accounts to RIM's BlackBerry push services to web services offerings from Google and others.

Original here

No comments: