Synchronisation between Jabp & Jabplite
 

1.0 High-level overview

Jabp and JabpLite are both personal finance programs written in Java.  Jabp is written in J2SE Java, the kind that runs on Window PCs, Apple Macs and Linux based machines like the Asus eeePC.  JabpLite is written in J2ME Java, the kind that runs on mobile phones.  It can be useful to keep your personal finance data synchronised between the two programs.

At a high level, here's how the process works.

a) One time only, full data transfer

Step 1: decide which program has the current 'master copy' of your data.
Step 2a: if the master copy is in Jabp, use the Export JabpLite feature to create a file JabpLite.dat on your phone's memory card. Then import into JabpLite.
Step 2b: If the master copy is in JabpLite, use Extra Options>Sync/Import/Export to export data to JabpLite.dat.  Then import into Jabp.

Now both programs have identical data.

b) On-going synchronisation

In Jabp, choose File > Sync JabpLite.  On your phone, run JabpLite and go to Extra Options>Sync to Jabp.  The changes that you have made in each program will be synchronised.
 

2.0 Desktop and mobile phone requirements

Desktop requirements: a Java runtime capable of running Jabp (ie. any Java runtime), a spare USB port

Phone requirements: a phone which is JSR-75 capable (ie. can access the memory card from Java) and which can be mounted as a USB flash drive on your desktop system.
 

3.0 More detailed instructions

The synchronisation feature works best when your mobile phone is able to be connected to your desktop system as a USB flash disk.  Many new high-end phones offer this capability.

3.1 Backup Your Data !!

It's always a good idea to backup your data periodically, and it's definitely a good idea to backup your data before using the sync process for the first time.

3.1.1 Backup Jabp's data

Go to the directory where Jabp's data is stored (you will have specified this location when you first used Jabp).  You will find up to 13 files which end in the suffix '.jabp'.  Copy these files to a safe place.

3.1.2 Backup JabpLite's data

Use JabpLite's Export Data option to export JabpLite's data to your mobile device's memory card.  This file is always called JabpLite.dat. Copy this file to a safe place.

3.2 Setting up JabpLite for synchronisation

Install JabpLite on your phone from the distribution zip. Follow your phone's instructions for installing Java MIDlets.  Run JabpLite, go to Extra Options > Preferences, turn Sync Mode to On. Go to Extra Options > Sync/Import/Export and then Set Directory and select the directory on the memory card to store your synchronisation files. Make a note of this directory, you will need to supply this information to Jabp. On my phone, this directory is /document/.  Exit JabpLite without selecting any other option (for now).

3.3 Setting up Jabp for synchronisation

Follow the instructions in the readme file to install Jabp on your desktop system.  Connect your mobile phone to your desktop in 'USB mode'.  In Jabp, go to File > Sync JabpLite and select Setup.  You will see a dialog for a directory to be specified; enter the drive and directory of your phone's memory card here.  For example on my desktop the memory card is mounted as J: and the directory (as mentioned above) is /document/.  So I will enter J:/document/.  You can use forward or back slashes and the final slash is optional.  You should see a message that Sync Mode has been turned on.  You can cancel out of the synchronisation process for now.

3.4 One-time only full data transfer

Decide whether you will move your data from Jabp to JabpLite, or from JabpLite to Jabp.  Do either step 3.4.1 or step 3.4.2 but not both.

3.4.1 Jabp to JabpLite

Make sure your phone is connected to your desktop in 'USB mode'.  On your desktop open Jabp, go to File > Import/Export JabpLite and choose Export.  Jabp will write a file named JabpLite.dat to your phone's memory card.  Close Jabp.  Disconnect your phone from your desktop.

On your phone, open JabpLite and select Extra Options > Sync/Import/Export > Import Data.  Your data will be imported.  Return to the Main screen and all your data should be there.

3.4.2 JabpLite to Jabp

On your phone, open JabpLite and select Extra Options > Sync/Import/Export > Export Data.  JabpLite will write a file called JabpLite.dat to your memory card. Close JabpLite and connect your phone to your desktop in 'USB mode'.

On your desktop, open Jabp and go to File > Import/Export JabpLite.  Choose Import and follow the instructions.  All your data should be there.
 

4.0 Keeping Jabp and JabpLite synchronised

Whenever you are running Jabp on your desktop, ensure that your phone is connected in 'USB mode'.  Jabp will be writing any changes to a file named Jabp.sync directly on your phone's memory card.

Whenever you are running JabpLite on your phone, the program will be keeping any changes in an internal recordstore.

To synchronise Jabp and JabpLite is a two step process, as follows:

Step 1: Make sure your phone is disconnected from your desktop.  Run JabpLite, go to Extra Options>Sync to Jabp and select Synchronise and then OK (you may be asked permission to access the memory card, multiple times).  JabpLite will read Jabp's changes (from the file Jabp.sync). JabpLite will also write to a file on your memory card named JabpLite.sync.

Step 2: Connect your phone to your desktop in 'USB mode'.  Run Jabp and go to File > Sync JabpLite.  This will read JabpLite's changes (from the file JabpLite.sync) and update Jabp.

The two programs are now synchronised.
 

5.0 What to do if something goes wrong

Hopefully the sync process should always work reliably.  In the unlikely event that something goes wrong, try the following:

1. Make sure Jabp and JabpLite are not running.
2. If files Jabp.sync and JabpLite.sync on your mobile device's memory card exist, delete them
3. In Jabp, go to Tools > Preferences and turn sync mode off.
4. Make any changes in Jabp to fix your data.
5. Use the Files > Export JabpLite function to export a complete copy of your data to your mobile device's memory card. Close Jabp.
6. On your mobile device, run JabpLite and use the Extra Options > Sync/Import/Export > Import Data function.
7. In Jabp, go to Tools > Preferences and turn sync mode back on.
 

6.0 FAQ

(This section will be added to based on user feedback)

Q. Can I stop JabpLite from asking permission to access the memory card when I use the Sync , Import or Export options?
A. Unfortunately no.  This would require JabpLite to be Java-signed and there is no easy path for freeware Java programs to be signed.

Q. What is the 'Hours Offset' option?
A. Normally keep this option set to zero.  If you find your dates in Jabp and JabpLite differ by one day, this could be because of the different way that time zones and daylight savings are handled between your desktop and mobile devices.  You can adjust this option, either positive or negative, by a number of hours.  You will need to experiment to find the correct setting.



7.0 Historical note

There were previously separate programs for mobile devices named JabpFile & JabpSync. The functions of both programs have now been incorporated into JabpLite in the Extra Options > Sync/Import/Export option.
 

Malcolm Bryant & FreEPOC
June 2008
Last updated: 28 December 2009