Fog Creek Software
Discussion Board

How to sync with a Palm

So, we have a (web) application that we use for calendaring, email, file sharing, contacts and bug tracking.  Etc.  [insert glowing description here]. 

A client comes along - "that's really cool, I'd like to buy it".  No problem, except that they really *need* palm pilot synchronization.  Which we don't have.

So we start to do some research. The app in question does lots of nifty things at the UI level and we like it a lot, but the actual data is stored in a pretty simple database.  Which maps very straightforwardly to the fields that are stored on the Palm (not by accident).

It seems to me that there ought to be some kind of application out there that allows you to simply export these fields to the Palm - ideally something that lets you say: connect to database - the column "Subject" in table "Email" maps to the Subject in the Palm Email database.  Column "Body" in table "Email" maps to "Body" in Palm Email database.  Something like the "wizard" to import data into MS-Access. 

However, it seems that it is not even close to this easy.  The Palm SDK, while free, suffers from a severe case of too much information.  A cursory glance or two later, we are still no closer to having any kind of handle on estimating how long it will take to implement a calendaring conduit (has example code), let alone the email conduit (no example code).

The Intellisync SDK starts at US$50,000 (probably mandatory annual maintenance in addition) and was described as "overkill" for what we want to do.  Pumatech (who makes Intellisync) apparently have a RAD toolkit for writing Palm applications that would work - except that it wouldn't hook into the core Palm applications (so we'd have to write an email app - drag and drop, but still...) and the pricing is such that it is completely out of reach for this particular customer, not to mention our target market (for the interested, US$160/user, min 25 users + US$4000 mandatory annual maintenance or 16% of contract whichever is more)

Basic searches have turned up nothing of interest.

So what do I tell the client (who is not the first to ask about this)?  "We don't support that" has led to more than one inquiry about when we will support that.  "We're working on supporting Palm synchronization but have no idea when it will be available" is kind of lame.


Major wet noodling for Palm SDK developpers.
Monday, November 24, 2003

I assume you've already checked out:

It doesn't look very complicated, just from scanning the documentation. Have you tried looking at the samples from the Conduit Developer Kit?


Mark Bessey
Monday, November 24, 2003

check out pilot link...its opensource and fairly straigtforward.  I used it to create a sync app for a database on Macosx a few years ago.

Let me know if you have any questions

Monday, November 24, 2003

Forgot to provide a link:

Monday, November 24, 2003

I've done a heap of work with Palm synchronisation. It's a bit daunting at first, and there are a few traps for the unwary, but it really isn't all that bad.

Andrew Lighten
Monday, November 24, 2003

Mark - that's the stuff I was referring to as "too much information".  The examples are good, except there is no example for email, and there is still a motherload of code for each example (seems like overkill).

Re: pilot link - I'd seen that before and got all excited until I read this (from their website):

"23. July 2003
Right now pilot-mailsync only can sync with the old Palm mail application. So it is no big use with the current version of the Palm OS (anything with >=4.0) which uses new and I guess better mail applications. "

Of course the particular client in this case has a brand new Palm.

Monday, November 24, 2003

Hit enter too soon.  Anyway, I'd ruled out the pilot link on the basis of it being outdated.  Am I over-reacting?

Andrew - we're daunted.  Tips on getting "undaunted"? (or for that matter, avoiding the traps for the unwary?)  How about tips on how to estimate how long it will take the unwary to become proficient enough to write the ought-to-be extremely simple conduits we need?

Monday, November 24, 2003

Email me, and we'll talk about this offline. I can probably find a conduit that I can give you the source code to so you can have a sniff around...

Andrew Lighten
Tuesday, November 25, 2003

The Palm Conduit SDK suffers from a serious case of "someone else's incomprehensible object model". Thankfully you don't really need to use it. For the last project I did, I implemented a very rudimentary tab-delimited-text-file database "engine" on the handheld, and the conduit just imports and exports text files.

Don't be thrown off by the SDK's use of the words "databases" and "records". A Palm OS "database" is really just a collection of up to 64k physical records that are up to 64k each. There is no reason that one logical record needs to map to one physical record (and in fact, if your logical records are small, it's a bad idea, as there is a lot of syncing overhead).

There are Sync Manager calls for reading and writing complete physical records at once, and you don't have to go through the mess of overloading the Generic Conduit classes and writing translators and all of that incomprehensible goo.

Tuesday, November 25, 2003

*  Recent Topics

*  Fog Creek Home