Sync Services Framework (How It Works and What You Can Do)
Pages: 1, 2, 3
Missing Sync for hiptop/Sidekick from Mark/Space
Sync Services is a low-level API that offers developers great control and flexibility. My favorite example of a success story is Mark/Space's Missing Sync for hiptop, also known as the T-Mobile Sidekick. For several years, I've been a Sidekick owner, but haven't been able to synchronize the data from my Mac to the device. I used it anyway and hand-entered my contact and calendar information. I fielded a lot of hungry queries from Mac owners every time I pulled it out at MacWorld, WWDC, or at O'Reilly conferences.
I hated disappointing potential buyers but while I raved about the device, I had to confess that I couldn't as yet sync it with my Mac. Mac owners are notorious for loving beautifully designed and cool devices, so it's no surprise that many of us bought and used the hiptop and trusted that we'd get it working with our Macs eventually. I haunted the Mark/Space hiptop list, patiently waiting for news.
In spring of 2005, Mark/Space finally released beta software, and then version 1.0 release software for Panther. Of course, with Tiger imminently due to arrive and with the new Sync Services framework integrated into the OS, the waiting game began again for a new version of Missing Sync for version 10.4 of OS X. Patience is a virtue--and in late August, Sidekick users with Tiger installed on their Macs could finally breath a sigh of relief. The new Tiger version of Missing Sync for hiptop is a great illustration of an application that has been retooled to take advantage of Tiger's Sync Services framework. In the Panther version of the software, you added the hiptop device through a plugin using iSync.app. The Tiger upgrade includes a standalone Missing Sync application:

Figure 24. Missing Sync for hiptop.app
1. As a precaution, back up your iCal and Address book databases by selecting the appropriate backup option under File in the menu bar of the particular application (iCal -> File -> Backup Database... and Address Book -> File -> Back Up Address Book).
2. Go to Mark/Space's website and download the software ($29.95, free upgrade for version 1.0/Panther registered users) and double-click the Missing Sync for hiptop installer package.

Figure 25. Begin installation
3. Enter your contact information and the registration code (you will have received a registration code via email with your paid download).

Figure 26. Enter contact information and registration code
4. The application will initiate a connection through the internet and verify your registration. This effectively registers your computer with Mark/Space. You are allowed to install the software on two computers and Mark/Space keeps track!

Figure 27. Register

Figure 28. Registration confirmation
5. Go fetch your hiptop/Sidekick and turn it on. Double-click the Missing Sync for hiptop.app and you'll need to fill in your cellular provider account information. This may actually be a username instead of your account number. To check for your username, turn on your hiptop/Sidekick and go to Menu -> Settings -> System Info. Select all of your calendars or check the specific calendars you want to sync to your hiptop. You'll also need to designate which one of your contact groups you want to sync (if you have more than one) and one calendar name you want your events to show up under, on your hiptop.

Figure 29. Initial Missing Sync for hiptop preferences
6. Click OK and you're ready to begin the first sync. Remember, the first sync under Sync Services will take a longer time than subsequent syncs, because the client is registering with the sync engine and the truth database is being populated (slow sync).

Figure 30. Initial slow sync
7. You'll be asked to verify a sync with your Contacts with Address Book and other devices (note that my nano is included). You have the option to delete all your Contacts from your hiptop before syncing.

Figure 31. Contacts sync
You'll see a progress bar.

Figure 32. Syncing progress bar
8. Then, you'll be asked to verify a sync with your Calendar with iCal and other applications (again, my nano is listed) and you'll also be able to zero your hiptop calendar items first, if you've hand-entered some.

Figure 33. Calendar sync
When the syncing completes, you'll be notified.

Figure 34. Missing Sync for hiptop initial sync completed
9. Check out your hiptop or Sidekick, and you'll see your address book entries and calendar items!
Some caveats to be aware of:
- You can only register two Macs to use with Missing Sync for hiptop.
- There is a 1,000-item calendar limit and a 2,000-contact-entries limit imposed by the server side (your cellular provider). If you have recurring events (birthdays, holidays, or weekly/monthly meetings), you may receive a "Synchronization Failed!" error.
- There is a limit of eight syncs that can be done in a 24-hour period. You can set up a
cronjob or a third-party app like Cronnix to sync automatically and comfortably within this time limit. - The hiptop/Sidekick can only hold 50 task records.
Some current (temporary!) Missing Sync issues:
- You need a first or last name in your Address Book (including company names).
- For debugging options, open Missing Sync for hiptop.app, hold the
Optionkey down, and click on the Missing Sync for hiptop menu bar name. Instead of Preferences..., you will see Debug Options....

Figure 35. Debug options
Enable Debug Logging and you can view the Missing Sync for hiptop.log file in ~/Library/Logs/.

Figure 36. Using Console.app to view logs
Usually, after a "Failed" entry, you will find the record that caused the problem.
Final Thoughts
Apple is the innovator in integrated devices, applications and services. The Sync Services framework opens up a previously insular API to third-party development and extension. Taking advantage of the opportunity to incorporate non-Apple clients into the Sync Services framework is an exciting challenge for developers. What Sync Services doesn't supply at this time, however, is a way to sync files and global preferences. It would be a natural extension of the framework to enable file and preference synchronization across multiple Macs. Also, Apple hasn't extended network services outside of .Mac for obvious reasons, so that functionality isn't open to third-party providers. But no doubt the future will show Sync Services evolving into a broader framework and Apple will provide a wider range of integrated solutions involving this new service.
Mary Norbury-Glaser is the IT director at a University of Colorado affiliate center. She has over 15 years of experience in cross-platform systems administration in the education sector. She loves fast cars and geocaching.
Return to the Mac DevCenter
You must be logged in to the O'Reilly Network to post a talkback.
Showing messages 1 through 9 of 9.
-
Address Book and iCal examples
2006-11-20 08:22:57 jaharmi [Reply | View]
-
Address Book and iCal examples
2006-11-20 13:18:46 norburym [Reply | View]
There will be more in depth coverage of this topic when Leopard is released!
Thanks,
Mary -
Address Book and iCal examples
2006-11-22 09:39:48 jaharmi [Reply | View]
Thanks for the reply and I'll look forward to an update in the Leopard timeframe.
However, I didn't get much out of this article beyond what was already provided in the first page of the developer overview on the ADC site.
Couple that with the way the Address Book and iCal examples don't seem to have anything to do with Sync Services at all, it looks like the article is just an explanation of Missing Sync, a third party product. Frankly, I'd lost interest by that pont.
I'm not trying to be harsh but I am looking for more information than Apple provides publicly. I'm particularly interested how system administrators and end users can work with and troubleshoot Sync Services. That means that an architectural diagram would be useful, and so would some info on file locations, backups, how you can rollback (if you can) in a disaster, etc.
Thanks!
-
Incomplete Sync
2005-11-22 05:03:24 nollam [Reply | View]
The story that is so often painted of MacOS Xs sync'ing mechanisms never seems to mention the huge limitations. I love the Mac environment, but was shocked to discover the following. If any of you guys know work arounds let me know.
First, while it is true that address book sync's simply to ones phone and ipod, and while it is true that one can publish a read/writable address book through .mac, it seems that both activities cannot be done together. My assistant publishes a phone book that I subscribe to, but only my local address entries are published when I sync to my phone or ipod. The same problem exists if one subscribes to a shared address book from LDAP, a problem which I incorrectly thought I'd overcome with a .mac account. This limitation makes the service virtually useless to me, and in the case of the author ... has she considered how Jack can sync his address book (that she manages) to his ipod?
The second issue is a little different and concerns iCal. Curiously this does allow shared calendars to be sync'ed to both iPod and phones---it's problem is that the calendars are only readable remotely, and can only be updated at the publishing machine. Multiple writers in a distributed environment adds potential coherency problems if two people update the same entry at the same time, but there are numerous schemes to overcome it.
In the end it seems that iCal sync's because Apple's implementation is to copy (and periodically recopy) shared calendars onto the local machine (replicaation of read-only data is simple). On the other hand, address book does not sync properly, because the data is not copied locally (to avoid coherency problems), though why this should this inhibit sync'ing I have no idea.
Perhaps I've missed a button in a preference somewhere or someone out there has discovered a workaround. I'd love to hear if you have a solution, otherwise I'm going to have to write my own.
Thanks
-- dave
-
Does iCal publish really use Sync Services?
2005-11-11 07:42:39 RogerNolan [Reply | View]
I don't see any sync going on, I think it just publishes data to a .ics file which can be hosted on .Mac's WebDAV server.
-
iPods are synced via iTunes, not iSync
2005-11-08 04:34:51 ChrisCarpenter [Reply | View]
In Tiger, iPod content (address's etc) are synced via iTunes 5 (or 4.9 I can't remember) and not iSync. I use the former to sync my phone and thats it. Since I bought Missing Sync for Palm OS I now have use 3 apps to sync all my devices and accounts. I liked the one button - sync all approach that iSync had; sadly thats no longer the case. Oh, BTW, Missing sync is just fantastic, it works no PalmOne software required! (Just a user, not a Missing Sync developer)
Chris
-
Another app built on top of Apple's Sync Services
2005-11-07 08:18:46 mildm8nnered [Reply | View]
Another app built on top of Apple's Sync Services is MySync
http://www.mildmanneredjanitor.com/mysync/
which allows you to sync two or more macs (like .mac) on the same local network.
Disclaimer: I am the author of MySync






I'd really like to see more about how Sync Services and iSync fit together architecturally, now that less emphasis is being placed on iSync. Is iSync just a Sync Services client in Tiger?