Palm Pilot

From MarcsHomepage

Some Reviews regarding devices running PalmOS. This is deprecated.

Nokia

Palm no more. I bought a Nokia E71, which is really thin and made from stainless steel not black plastic. The organizer was slightly better on the Palm though.

Palm Centro

Some time ago I needed a new phone, and because I always loathed Windows Mobile, it had to be something with a decent mobile operating system.

The iPhone is a bit expensive, can't be extended (currently) and comes bundled with a very expensive T-Com contract. No go (for me).

So I went to a local electronics retail store (*cough* Media.. Markt *cough*) and bought a Palm Centro.

Because there are a ton of reviews about this device, I will only add stuff I think has not been mentioned elsewhere:

First look

Nice package, pretty small, although not really thin. The finish (black with some kind of cheap-looking metallic-effect) smudges pretty easily, but as most phones nowadays have a piano-lacquer finish and glossy screens, this is a must apparently. I wish they would offer a silver-colored version with a matte finish.

But anyway.

Startup

Pretty fast if you ask me. Compare that to a Windows Mobile driven device (Treo 500 comes to mind).

Software

The default setup consists of a lot of useful tools beside the standard phone/organizer programs, there is a Pocket Office app, a Web-browser, Email program, Google Maps, a world-time-clock and pTunes.

More to come...

Linux compatibility

Good. Can be synced with pilot-xfer and J-Pilot, except for the image app.

More to come...

Badbads

Charger size

Well, mostly the charger for now. Maybe someone should tell those guys THAT THE GODDAMN CHARGER SHOULD NOT -NEVER- BE TWICE THE VOLUME OF THE DEVICE IT IS SUPPOSED TO RECHARGE.

Have a look at this (and imagine the charger being twice as thick as the phone).

Palm and charger.jpg

Siemens got that right with their phones (but apparently, they got some other things wrong, so...).

Web browser

The integrated web browser (blazer) can't display my own homepage. :O)

Not really bad, but then...

Phone reliability

Using the phone for 2 years now revealed some nasty glitches. Specifically the GSM-module seems to hang every now and then, requiring the user to wait several seconds or even needing a cold-restart.

You can read a lot about guesswork and not-working fixes here.

This can be especially anoying, if you want to answer a call, and the phone thinks, this is the right time to hang.

Connection quality seems to be an issue too, there are frequent complaints about interrupted speech transmission. I'm not sure, whether this is due to my crappy provider or the phone itself.

Bottom line: The Centro is a nice Palm device, but not really a nice phone. So I replaced it with something more recent

Data transfer to Linux

Basic setup

To use J-Pilot, one needs to install a few things:

  • Copy /60-libpisock.rules to /etc/udev/rules.d/
cp /usr/share/pilot-link/udev/60-libpisock.rules /etc/udev/rules.d/
  • Add a group "dialout" which is needed by this rules set.
  • Restart udev (or your machine)
  • Configure J-Pilot to use usb: as connector.

Now you should be able to sync with your USB-Palm.

Data transfer from the m100 and my old Siemens S45 phone

To get a clean setup, I decided to export all neccessary data from the old Palm m100 and from my mobile phone (a ancient Siemens S45) and import them into my new Palm phone.

J-Pilot can export data in csv format, very convenient for the PIM and Phonebook (both neede some cleanup anyway).

To get the data from my phone, I had to install scmxx:

sudo yum install scmxx

for Fedora 8 Linux.

Connect your phone via the serial cable provided by Siemens to your Linux box.

  • Get an overview of the memory stores of your phone
scmxx -d /dev/ttyS0 --mem-info
  • Export phonebooks (fixed and custom) to csv:
scmxx -d /dev/ttyS0 --get --pbook --mem=SM --out=sim_phonebook
scmxx -d /dev/ttyS0 --get --pbook --mem=ME --out=mobile_phonebook
  • Export addressbook as vcard-files:
scmxx -d /dev/ttyS0 --get --binary --mem=vcf --out=vcf

Now the problem is to convert a few hundred vcard entries to csv to merge them with the existing dataset before reimporting them to the new gadget.

One could have beamed the vcards directly to the Palm, but this would mess things up even more...

Very conveniently, there is a Python library, which could do that job: http://vobject.skyhouseconsulting.com/

Download and install as described on their web page (you need python-devel for that).

And here is the (very hacky) script, which did the final data extraction:

#!/usr/bin/env python

# Import libs
import vobject
from vobject import *
import os
import csv

# This must be executed in the dir containing the exported vcard files
vcflist = os.listdir(".")
vcard_keys = {}
vcards = []
for file in vcflist:
    if file.split(".")[-1] == "vcf":
        print "Processing", file
        f = open(file, "rb")
        try:
            v = vobject.readOne(f)
            for i in v.contents:
                vcard_keys[i] = ""
            vcards.append(v)
        except vobject.base.ParseError:
            print file, "contains errors"    
        f.close()
    else:
        print file, "is not an vcard-file"

print "Finished"
print "Processed", len(vcflist), "files"
print "Found the following unique keys"
for key in vcard_keys.keys():
        print key,

print "\nWriting to csv-flatfile"

out = csv.writer(open("vcard_out.csv","wb"))
header = vcard_keys.keys()
header.sort()
print header
out.writerow(header)
for card in vcards:
    tmp = {}
    line = []
    for entry in card.getChildren():
        tmp[entry.name.lower()] = entry.value.encode("latin-1", "replace").strip()
    
    for key in header:
        try:
            line.append(tmp[key.encode("latin-1", "replace").strip("'").strip()])
        except KeyError:
            line.append("")
    print line
    out.writerow(line)

The final file was merged by hand with the existing phonebook export in Open Office Calc. Unfortunately, J-Pilot insists on a very arcane csv-format, in which every field must be escaped by double quotes (also the empty ones), whereas the first line with the header names must not contain quotes.

Here's another hacky Python snippet, which did that job (reading the OO-Export and rewriting it for J-Pilot):

#!/usr/bin/env python
# Fix broken csv output of OpenOffice for import into Palm (needs all empty fields quoted as well).
#
# Marc Saric 2008-03-21
import csv
csv.register_dialect("jpilot", delimiter=",", quoting=csv.QUOTE_ALL)
 
f = csv.reader(open("Phonebook.csv", "rb"))
w = csv.writer(open("Phonebook_ok.csv", "wb"), "jpilot")
for line in f:
    w.writerow(line)

print "Please open and edit the outputfile 'Phonebook_ok.csv' and remove the quotes from the first line."

RIP Siemens S45 and Palm m100.

Uploading ring tones and wallpaper images

If you don't want to install the windows-based software, and if you don't have a memory card for the palm, you are currently out of luck regarding image downloads (but who wants to have those crappy 1.3 GP images anyway.

Here are a few HowTos in case you do have a memory card.

Having a personalized background image and ringtones is something different altogether.

This is what I did (pretty obvious workaround, but...

  • Upload the image (probably pre-scaled and optimized to show on a 320x320-screen) to a web server of your choice (http://flickr.com will do -I used my own here).
  • Open Blazer (will connect via GPRS, so it pays off to preshrink the images)
  • Point it to the URL of the uploaded file
  • Tap and hold the image file you want to download
  • Save to an album of your choice
  • Close Blazer
  • Set as background in the phone or calendar app

Pretty easy. ;-) Same should work for ring tones and mp3-files.

Downloading Pictures and Videos

If you have installed an SD-Card, you can use pilot-xfer to transfer files. For the on-board storage, things are bit more complicated, as the dir for the images is hidden.

If you use Linux, there is a plugin called Pics&Videos Plugin for JPilot, which makes it possible to download movies and pictures from the Centro.


For the german version, you need to patch the source before compiling, to add the correct path:

*** picsnvideos.c 2008-05-17 05:13:07.000000000 +0200 
--- ../mod_picsnvideos-0.2/picsnvideos.c 2009-04-26 21:15:04.000000000 +020 
0 
*************** 
*** 43,48 **** 
--- 43,49 ---- 
char *RootDirs[] = { 
"/DCIM", 
"/Photos & Videos", 
+ "/Fotos & Videos", 
NULL 
}; 

As an alternative, you could use pilot-xfer and a tool like FileZ to download hidden files.

Mobile web links

Some mobile web links, mostly taken from a link-list in a recent c't article.

Palm m 100

My old organizer. Now on a pension.

Useful programs for the m100

OK, this isn't really exiting -everyone knows http://www.palmgear.com or some other site like http://www.freewarepalm.com/ where you can get virtually every program written for the palm-pilot, including a review, screenshots and all info you need, but..

Due to the fact that my m100 has only 2 MB of RAM, which is really not much compared to the 8 MB of other models (and maybe even more in upcoming multi-media-enabled Palms) most modern programs are not really usable either due to the amount of memory they use or their speed.

Therefore I was searching for some programs which have a small footprint while providing good performance and -yes- they should be free.

This section has not been updated for ages, and probably won't be in the future.

Cryptopad

Cryptopad.png

Need a safe place for all your passwords and bank-account transaction numbers??? Cryptopad is a freeware-replacement for the Memo-application which uses strong encryption to protect your data. Although it is not meant as a complete lock for the Palm it is very usable for encrypting passwords of all kind.

Feiertage

Feiertage2.5a.gif

Integrates all (german) holidays into the calendar, the holiday-list is editable. Quite nice.

GermanChars

Germanchars.png

A simpler way to write german "Umlaute". Instead of using the special-function, just draw a horizontal bar over the letter and it will be converted to the correct sign. Unfortunately this seems to be quite picky from time to time, i.e. the program does not always recognize a stroke as it should (or maybe my graffiti-abilities are too poor). You need Hackmaster installed to use it.

HappyDays

Happydays.png

A free birthday-calendar which integrates into the default calendar, THE killer-app on the Palm m100 (at least for me).

IndexView

Indexview.png

Lets you view all entries from the calendar in one long index-list. Very useful if you remember a date or event but can't really find it in your calendar.

Invaders

Invaders.png

A Space Invaders clone for the Palm. Nothing more to say.

IQ3D

Iq3d.png

Neither free (the demo is) nor very useful, but it remembers me of a certain game one could download and play in the 386-days (before Doom (sic!)). In fact this is pretty ugly and the scenery is really boring by all standards, but its fun to roam around a 3D-environment on a Palm-Pilot.

LR

Lrstd.png

A Loderunner-clone (anyone remember this from the C64?).

MiddleCapsHack

Middlecaps.png

Tired of doing the two-stroke-business all the time you want to write capital letters? You can choose which part of your graffiti-area becomes permanently assigned to capital-letters, i.e. every letter, which is started in this area is being capitalized. You need Hackmaster installed to use it.

MsgAgent

Msgagent.png

Due to the fact that the m100 comes without the default Mailtool, you need something else:
MsgAgent is a nice and quite small Email/News-Reader which can be synced via a Mobile or a fixed Internet-connection. This works really great with my GPRS-cell-phone.

ParensLite

Parens lite.png

The scientific calculator Palm Inc. should have included in the default setup (Handspring has).

Plucker

Plucker.png

A Offline-Browser published under the GNU Public License.
Essentially this is an ebook-reader with some HTML-conversion-capability on the server-side (i.e. a spider/parser which can fetch and convert any HTML-page. I'm still searching for a small and free online Webbrowser which would be usable with my GPRS-phone (WebTogo and Eudora Internet Suite aren't an ption with only 2 MB RAM), but for the time beeing this is the best solution. Maybe someone could hack a direct connection to some server on the web like it is done with Avantgo or WebToGo (I can't)...

Reptoids

Reptoids.png

An Asteriods-clone which works quite nice and is fun to play. Like Loderunner and Space Invaders it isn't top of the notch in Palm-game programming, but it does not need all your memory and runs fine on b/w-screens also.

TrekSoundsHack

Treksoundshack.png

A absolute must for all fans of Star Trek: Converts your Palm into a gadget from the future which will emit small convenient beeps while being used. You need Hackmaster installed to use it. The commercial version has some more sounds, but the free version is also OK. Not to mention that this program is totally useless beside making noise and providing a fake startup and shutdown-screen, but...

Linux and Palm

Fortunately, Palm devices are quite well supported by Linux-programs. You can have syncing and backup-software, as well as integration with desktop-PIM-programs for Linux. Here comes my short and incomplete list of stuff I use to organize my calendar and address-data on my Linux-box.

Jpilot

Jpilot.png

One very cool Linux-program which tries to recreate the Palm-Desktop for UNIX. Small, stable, useful. Anything more to say?