Pimlical Android Help

Synchronizing to Other Devices

Pimlical supports two types of calendars:

As a user, you can choose to use either one or both types of calendar. The local calendar is always more secure and more private, since you have total control over where the data is displayed and synced to. The Android calendars provide a simpler way of sharing calendars with other devices connected to the internet (cloud-based servers), but as a user you have less control over the information as it is stored on Google's servers and is synced using Google's software. With AutoSync, the local calendar can now be shared easily with multiple devices/desktops via a cloud-based server, but many users may still prefer to continue using DirectSync which provides an off-cloud sync solution and a higher degree of security.

In general, Pimlical/Android and Pimlical/Desktop should match on the MAJOR version (i.e. if you are using V-4.1.x of P/A, you should be using V-4.x of P/D).

Contacts and Memos


Pimlical also supports a local contacts and a local memos database. These databases can be synced to other devices using AutoSync or DirectSync. Pimlical can also utilize the built-in Android contacts database for linking purposes. The Android contacts database is completely separate from Pimlical's contacts database and is synced to Gmail contacts via Google's sync software.

Android Calendar Sync

If Pimlical is using Android calendars (you select calendars in menu | Select Calendars), these calendars are continuously synced by Google's Android Sync software. This sync takes place at regular intervals (the exact frequency is dependent on many variables). There is a menu command in Pimlical (menu | Sync Now) which tells Google's Sync software to immediately proceed with syncing the database (and that is all it does). 

Pimlical does not automatically refresh its calendar unless you set the preference: GoogleRefreshInterval to a value other than 0. If 0, you will need to manually refresh the calendar (menu | Refresh Calendar) in order to see the updated information. If the preference is set to a non-zero value, then that specifies the interval between automatic refreshes of the calendar. If you set that preference to -1, Pimlical will refresh the calendar immediately on any change to the native Android calendar provided that it gets properly notified (not all versions/implementations of the Android OS include this notification feature).

Local Calendar, Contacts, Memos Sync

If Pimlical is using its own local databases, you can sync those databases to a desktop running Pimlical using DirectSync, or to any device/desktop running Pimlical Calendar using AutoSync.

DirectSync is the original sync method and still provides the highest degree of security as you can sync from an Android device to the desktop without ever going through any cloud-based server. You can sync any number of Android devices to a desktop, but you can not use DirectSync to sync from desktop to desktop or Android device directly to another Android device (for that, you will need to use AutoSync). DirectSync does require that both devices be physically adjacent (unless using a WebDAV server) and does require interaction on both devices.

Unless security/safety is an overriding consideration, and if using a cloud-based server is acceptable (and it will be for the majority of users), then the best option is the newer AutoSync as it is more flexible and can operate automatically in the background.

DirectSync

DirectSync supports three basic sync methods:
For further information on syncing, see the document on DirectSync (on the desktop: menu | Help | Using DirectSync to Android..., or on the web: http://www.PimlicoSoftware.com/PimlicalDirectSync.htm)..

AutoSync

AutoSync was introduced in V-3.5.1 and is an alternative sync method to DirectSync which uses a cloud-based server. Any number of devices (desktop or Android) that can connect to the same cloud-based account can then sync with each other. In its initial release, AutoSync supports Dropbox as well as a directly accessible network server that maps onto the desktop's operating system (the latter would not likely be suitable for syncing Android devices). So AutoSync can be used to sync from desktop to desktop as well as from Android to Android (DirectSync can only sync between desktop and Android).

To use AutoSync, you need to set up a Dropbox account. Free Dropbox accounts are more than suitable for accomodating the highly compact Pimlical databases (the average database is not likely to be much larger than 2-3Mb at most)..

Once you have set up a Dropbox account you can sync any Pimlical databases to the server (or you can overwrite the server, or have the server overwrite the device, depending on a preference settings.

There is a new issue with AutoSync, because Dropbox now requires that you log in for every sync. Previously, the login credentials were remembered and could be re-used. It might be that you have an older set of login credentials that have been "grandfathered in" and in that case, you may still be able to sync with Dropbox without logging in. Otherwise, you will have to log in every time you want to sync, and may not be able to use the AutoSyncFrequency preference to  sync automatically.

To enable AutoSync (presuming you can use it), set the preference AutoSyncFrequency to the frequency with which you want to sync. Do not make this too short, or it will interfere with your use of Pimlical as while a database is being synced, you cannot modify it. A reasonable, smallest value might be something like 10-15 minutes. Syncing with dropbox is not very fast, so if you have a really large local calendar, you may want to split it into a current calendar and an archive calendar for efficiency.

See the specific documentation on AutoSync for more information on the preferences available for syncing (such as only syncing items after a cutoff date, or only syncing specific categories.

If you have a subscription, you can set the preference: AlwaysResetBeforeAutoSync  to true, so that it performs the reset automatically when you invoke autosync.
If there is still an issue using that preference, you might need to extend the delay time before syncing, which you can do by adjusting the preference:  AutoSyncDelayAfterReset to a slightly larger value.
Otherwise, if you do not have a subscripttion, you will have to use Menu | Debug | Reset AutoSync  before every manual invocation of the sync.