Migrating from Palm OS to Android - The Journey Begins
This article is the first in a series exploring the replacement of my ageing Palm OS device with a device running Android. For me, Palm OS devices have proven to be an effective way to manage my personal information, and to easily synchronize and backup this data with my GNU/Linux desktop computer. My goal is to replace this functionality as closely as possible using the following guidelines:
- Use Free Software to replace Palm OS functionality
- Synchronize with my GNU/Linux desktop, not external service providers
- Keep the stock "non-rooted" Android image
In this first article I describe how to set up J-Pilot to work with Palm OS, and then list some key features and applications I enjoy on my Palm OS device.
Then to get started with Android, I describe how to install music and applications on Android over USB cable and WiFi. Subsequent articles will cover replacing specific Palm OS functionality with Android equivalents.
This article will be updated as replacement applications are found.
Last updated Dec 12, 2016.
- Set Up Palm OS with GNU/Linux
- Current Palm OS Usage
- Android Observation
- Palm OS Replacement Device
- Copying Music and Files from GNU/Linux to Android
- Installing Android Applications over USB
- Installing Android Applications over WiFi
- Future Articles
Set Up Palm OS with GNU/Linux
Since J-Pilot will play a role in migrating some of the Palm OS data, I thought I had better describe how I installed it on my Kubuntu 12.04 desktop. Kubuntu is a derivative GNU/Linux distribution based on Ubuntu which is based on Debian.
- Open a terminal window.
In the K Desktop Environment (KDE) this can be done with the menu option: K -> System -> Konsole (Terminal).
TIP: Opening a terminal in other desktop environments
You can often open a terminal window using the following steps:
a) Press Alt+F2 to open a run command prompt
b) Enter "xterm" without the quotes
- Install J-Pilot
for synchronizing data between Palm OS and GNU/Linux.
sudo apt-get install jpilot
The synchronized data is stored in the ~/.jpilot folder.
TIP: Install commands for other distributions
For Fedora, Red Hat Enterprise Linux, and CentOS use:
su -c yum install jpilot
For openSuse, and Suse Enterprise Linux use:
sudo zypper install jpilot
- Start J-Pilot
In KDE start J-Pilot with the menu option K -> Office -> J-Pilot
Choose menu File -> Preferences
Click Settings tab
Ensure Sync Port: usb:
Click Conduits tab
Disable unused conduits. For example Expense or SyncTime
TIP: Starting J-Pilot
If you are unable to locate a J-Pilot menu entry, you can start J-Pilot from the command line:
- Ensure your userid has access to the dialout
In KDE you can add userid to group dialout with the following:
Start K -> Settings -> System Settings
Under System Administration
Double click User Management
Select username and click Modify...
Under Privileges and Groups tab
Enable dialout group
TIP: Adding userid to a group from command line.
You can add a userid to a group with:
useradd -G dialout userid
- Acquire new group privilege
Logout and login to enable new group privilege.
You should now be able to synchronize between Palm OS and GNU/Linux by clicking the J-Pilot hotsync button and then initiating a hotsync from your Palm OS device.
TIP: J-Pilot 1.8.2 adds export improvements
Current Palm OS Usage
Since 1997 I have used many Palm OS devices. These have included the Palm Pilot Professional, Palm IIIxe, Sony Clie Peg SJ22, and PalmOne Tungsten E2. I've had the Tungsten E2 since 2005 and would continue to use it except for the fact the speaker has become unreliable and sometimes fails to alert me of upcoming appointments. Unfortunately the demise of Palm means no new Palm OS devices.
Palm did an amazing job of making it easy to manage personal information such as contacts, calendars, memos and tasks. Further, Palm made it easy to synchronize changes between the palm pilot and a desktop computer. Palm OS devices had great battery life too from my experience, lasting a few weeks.
Following is a list of applications I use and a brief description of key features, and a potential Android replacement.
|Palm OS Application||Description||Potential Android Replacement|
|Calendar / Datebook||My most used application. Used to track recurring birthdays and anniversaries, in addition to upcoming events and tasks to do.||Android Calendar app with DAVdroid and Radicale.|
|Contacts / Addressbook||Tracks all of the names, addresses, and contact information for people and businesses.||Android People app with DAVdroid and Radicale.|
|Memos||Keeps short notes, check lists, etc.||A text editor with a file synchronization tool, such as 920-text-editor with adb-sync.|
|Tasks / Todos||Can be used for to do items, though I found myself scheduling short term tasks in the Calendar, and placing long term tasks in a paper notebook.||To be determined|
|World Clock||Displays date and time in select locations around the world.||Android Clock App|
|Shortcuts (Palm Prefs setting)||Built-in Palm OS functionality. Given a few letters will expand into preset-set text.||Settings -> Language & input -> Personal dictionary. Add expanded text + shortcut. Shows up as autocorrect suggestion.|
|Hotsync||Synchronize changes between Palm OS device and desktop computer. Information is stored and accessible on each computer. Provided on GNU/Linux by J-Pilot.||See Android Observation.|
|ezConvDA with DA Launcher||Unit conversion that works by immediately converting a value, as it is entered, into different units of measurement.||To be determined|
|Hours||Tracks hours spent on tasks and projects, along with per entry description. Useful along with desktop command line program hrsh2csv for generating consulting invoices.||
Built-in Quickoffice spreadsheet and
Read articles offline. Plucker provides ability to click on
external links and copy the URL to a unfiled dated Memo. Later,
when on-line I can read or capture an individual article.
For regular newsfeed or web page article capture I use Sitescooper.
For individual article capture I use Sunrise and the Firefox Sunrise.xpi extension.
RSS Reader such
or epub book reader such
For regular RSS newsfeed article capture use an RSS reader.
For individual article capture use Firefox with the GrabMyBooks add-on to create an epub file.
|Keyring||Store passwords and other sensitive information in encrypted format. Synchronizes with J-Pilot.||KeePass with KeePassDroid on Android and KeePassX on GNU/Linux.|
|Ma Tirelire||Track personal chequing account transactions and balance. Supports recurring payments.||To be determined|
|Holiday Debts||Tracks shared expenses on trips. The app determines who owes how much to whom. An HTML report can be generated on the desktop using hdebtsreport.||MoneyBalance|
|PgmrCalc||Calculator that works in decimal, hexadecimal, binary, and octal.||Mathdroid|
|DiddleBug||Draw on touch screen. Useful to quickly jot down small diagrams or notes.||Markers|
|FileZ||File manager.||Simple Explorer|
Entertainment / Planet Apps
|Palm OS Application||Description||Potential Android Replacement|
|RealPlayer||MP3 music player||kure Music Player|
|Patience or Patience Revisited||Collection of solitaire card games.||SolitaireCG|
|Cribbage||Cribbage card game.||To be determined|
|Hearts||Hearts card game.||To be determined|
|Bejeweled||Gem matching game.||FreeGemas|
|HMaki||Match tiles to remove game.||To be determined|
|Go Moku||Five in a row strategy game.||To be determined|
|FreeJongg||Mahjongg tile matching game.||Mahjongg Builder|
|Noble Moor or Inverti||Othello / reversi strategy game.||DroidZebra|
|Pegged||Jump pegs to remove strategy game.||Marble One|
|Pilot Mines||Mine sweeper game.||Mines -- Simon Tatham's Puzzles on Android|
|Neil's Sokoban or Web Sailor Sokoban||Push blocks to destination strategy game.||Sokoban|
|Traffic||Sliding piece puzzle game also known as Rush Hour.||To be determined|
|Vexed||Move blocks puzzle game.||To be determined|
|Moon Phase||Phase of the moon on a given date.||To be determined|
|RiseSet||Sunrise and sunset times for a given location on a given date.||To be determined|
|Tide Tool||Tide tables for a given location on a given date.||To be determined|
Currently it appears there is no single GNU/Linux J-Pilot hotsync
replacement. Instead each Android application is handled separately.
Some of these applications synchronize with a server, while others do
The best option I've found so far is adb-sync which permits one-way or two-way directory and file synchronization between GNU/Linux and Android.
Palm OS Replacement Device
In seeking a replacement for my Palm OS device, I looked for a small, commonly available, reasonably priced device. Initially an iPod Touch seemed like a good candidate. However, I found this option to be unworkable due to Apple's closed ecosystem and lack of GNU/Linux support.
An Android tablet seemed a likely choice too, however the smallest I could find had a 7 inch screen and was too large for my pocket. Fortunately unlocked Android phones have recently become available in Canada. These phones fit in my pocket and do not require a cellular plan.
To replace my PalmOne Tungsten E2, I purchased an unlocked Motorola Moto G 2014 2nd Generation Android device running Android 4.4.4 KitKat. Note that I do not have a cellular plan and plan to use this device solely as a Palm OS replacement.
Since I am trying to replicate the functionality I had between my Palm OS device and my GNU/Linux computer, I skipped creating or using a google account when setting up my Android device. My end goal is to synchronize with my desktop computer, not an external service provider.
Copying Music and Files from GNU/Linux to Android
One graphical application I found to copy files over the USB cable with Android is gMTP.
TIP: Try mtpfs
To install gmtp, open a terminal window (K -> System ->
Konsole) and enter:
sudo apt-get install gmtp
gMTP will install a menu entry in K -> Multimedia -> gMTP.
gMTP lets you connect and disconnect from the internal memory storage and the SD card. Remember to disconnect or exit gMTP before disconnecting the USB cable.
When I plugged my Android device into my computer, the Android device displayed a USB computer connection setting window. I selected Media Device (MTP). The other choice was Camera (PTP) which I believe can be used for downloading pictures.
You can also swipe down from the top of the screen, to get to the USB computer connection setting screen. Here you can choose between Media device (MTP) or Cameral (PTP).
From Linux I dragged a set of folders containing MP3 albums from the Dolphin file manager (K -> System -> Dolphin) to the Android device Internal Memory:/Music folder in gMTP. gMTP complained that it couldn't create Albums, so I simply acknowledged those messages. After the copy was completed it appears that gMTP created subfolders for my albums under the /Music folder and the songs were listed and would play in the Android Play Music application.
Installing Android Applications over USB
To install applications over the USB cable without WiFi needs a few things:
- Add the android adb command to GNU/Linux by
opening a terminal window (K -> System -> Konsole) and
entering the following commands:
sudo add-apt-repository ppa:phablet-team/tools && sudo apt-get update
sudo apt-get install android-tools-adb
Alternatively you can install the Android SDK, which contains adb under the platform-tools folder.
- Enable Android developer setting on the phone.
See Enabling On-device Developer Options
On Android 4.2 and higher these steps are:
- Navigate to Settings > About Phone > scroll to the bottom > tap Build number seven (7) times. You will get a short pop-up in the lower area of your display saying that you're now a developer.
- Go back and access the Developer options menu, enable USB debugging and click OK on the prompt.
- Use the USB cable to attach the Android device to your computer.
- Search for an application and download the .apk
For example, download Simple Explorer.
By default the file will be downloaded to ~/Downloads/com.dnielfe.manager_59.apk
Note that the F-Droid site focuses on Free and Open Source Software (FOSS).
- Open a terminal window in GNU/Linux and install the
application with the command:
adb install ~/Downloads/com.dnielfe.manager_59.apk
NOTE: Android device must be powered on with USB debugging allowed.
Your Android device must be powered on and you must allow debugging (the phone will prompt you). If it wasn't enabled then enable USB debugging and try this again.
- The Simple Explorer application should now show up on your Android device.
Installing Android Applications over WiFi
An easy way to install applications is from the F-Droid app while WiFi is enabled.
To be able to install F-Droid and other 3rd party apps perform the following steps on your Android device.
- Navigate to Settings -> Security, and enable Unknown sources.
- In web browser navigate to
the F-Droid web page and click
on Download F-Droid.
Note that this will store the .apk file in the Downloads folder.
- Open the Downloads app.
- Click on the FDoid.apk file and agree to
Once F-Droid is installed you can use it to browse and install applications from the F-Droid site. :-)
While researching how to migrate from Palm OS to Android I found the following references useful:
- The Easiest Way to Install Android's ADB and Fastboot Tools on Any OS
- Enable Text Expansion in the Stock Google Keyboard
In future articles, I plan to cover the following topics:
- Migrating Palm OS Calendar and Contacts to Android
- Migrating Palm OS Memos to Android
- Migrating Palm OS Keyring to Android