Articles / PalmOS Software

PalmOS Software

So, you've just gotten a PalmOS-based PDA... now what? Here are some suggestions for Open Source Software/Free Software available for the Palm, grouped into the following topics: electronic books, games, miscellaneous software, and how to locate other software. I'll close with a few comments about the future of Palms. [Editor's note: As part of our preparations for merging themes.org with freshmeat, scoop made it possible to show subsets of our database as separate sites. Our second use of this feature highlights our PalmOS section. Just as you can find nothing but themes at http://themes.freshmeat.net/, you can find nothing but PalmOS applications at http://palm.freshmeat.net/. To help celebrate the new site, David Wheeler has offered this category review that suggests interesting Palm applications to try. We hope you'll chime in with your thoughts about the Palm apps you can't live without and keep submitting them to the database.]

Electronic Books

One major use I've found for PDAs is storing information for later use, particularly as electronic books (eBooks). The best eBooks are often reference books or books you can read a page or two at a time while you're waiting for something. An 8 mebibyte PDA can store a lot of text. For example, if you use 7 of those 8 mebibytes for text and compress the text by 43%, and, on average, the text is 60 characters per line and 60 lines per page, you could store 3,577 pages of text (7MiB/(60*60*.57)). This would be a typical result when using PDOC (described below); if you use better compression algorithms (such as zlib) you can store even more text. One developer using a zlib-based approach claims that 56.5% compression is typical. If that's so, that approach would let the same PDA store 4,687 pages of text.

To use a PalmOS PDA to read documents, you have to install at least one document reader; PalmOS systems don't come with any built-in programs to read documents. There are many different data formats used for storing documents, and you need a reader that can read the format of the document you're trying to use. Many PalmOS users end up installing several document reading programs.

General-purpose eBook readers

There are basically three good OSS/FS programs for reading typical eBooks: CSpotRun (which reads the PDOC format), Weasel Reader (formerly named GutenPalm, which reads the PDOC and zTXT formats), and Plucker (which reads the Plucker format, a compressed HTML format). If you're using a Palm-based system, you should definitely install Plucker. Most people should also install either CSpotRun or Weasel Reader; I personally have all three installed. Here's a little information about each one:

  1. CSpotRun is one of the best PDOC format readers for PalmOS. The PDOC format, also called "Palm DOC", "Aportis DOC", or "DOC", was one of the first eBook formats for the Palm. Because it came out early and is not proprietary, it has become one of the most common data formats. It supports a mild amount of compression and arbitrarily long documents, both of which are advantages.

    However, the PDOC format is basically just ASCII text, so it has no support for bolding, fonts, hypertext links, images, etc. For many documents, these limitations are not a problem at all. Note: PDOC is completely incompatible with Microsoft Word's DOC format. (This becomes especially confusing when dealing with Web sites that use the term DOC to mean PDOC.)

  2. Weasel Reader, formerly named GutenPalm, can read both the PDOC and zTXT formats. The zTXT format is also just ASCII text, but it uses a better compression algorithm called zlib, so documents in zTXT take up less memory. To use zTXT files, you'll also need to install the zlib library.

    There are fewer pre-created zTXT documents than PDOC ones, so this isn't as useful as you'd think. If you want to create your own documents, you'll often find the "Plucker" format a better format to generate instead.

  3. Plucker is one of the best readers for compressed HTML files, and it uses its own non-proprietary Plucker format. The Plucker format is far more capable than PDOC or zTXT. It's a subset of HTML, so it supports bolding, italics, varying font sizes, horizontal lines (useful for separating text while taking less display space), hypertext links, and images. Lists of items are shown using indented margins, just like a desktop browser shows them. Tables are a problem on all PDAs because of the PDA's small screen size, but Plucker handles them reasonably well by using separator lines and placing each table cell on its own text line. The Plucker format can compress documents using either the PDOC or zlib compression algorithms, so it should take an amount of memory similar to that used by PDOC or zTXT files when used for simple text. Again, you'll need to install the separate zlib library to read files compressed using zlib. Since this is the same library Weasel Reader uses, you only have to install zlib once for both programs to use it.

    One minor weakness of the current Plucker format (as implemented by version 1.1.14 of the reader) is that large HTML pages (larger than 32k) get broken into multiple pages, which are then linked using hypertext. In practice, this often isn't too bad, since many HTML documents are broken into smaller sizes anyway, and clicking on a hypertext link goes immediately to the correct location on the page. For some large documents, though, it's unfortunate -- you can't scroll through the text using the PDA scroll buttons, and you can't simultaneously see the text on both sides of a break. I hope they get rid of this weakness soon; there's already discussion on the Plucker mailing list on how to remove it.

    Plucker includes tools that let you extract Web pages (using rules you define) and sync the results to your PDA. The current tools require that users be comfortable with the commandline or with using a text editor to edit a special HTML file. GUI tools and a Web-based extraction tool are in development.

Deciding which readers to install

Again, if you're using eBooks on a Palm, I believe you must get Plucker. If you want an PDOC reader, deciding between CSpotRun and Weasel Reader is trickier. After all, they both have the same basic functionality; both display PDOC, and they both support adding and jumping to bookmarks, rotated text, auto-scrolling, and searching (case-sensitive and caseless). I've compared CSpotRun 1.1.2 against Weasel Reader 1.56, and in my opinion, CSpotRun is better for reading while Weasel Reader has more "extra" features and is better for "maintaining" PDOC documents. Feel free to install both -- I do! Here's how they compare:

  • CSpotRun can display more text on the screen than Weasel Reader. Once you remove the in-display controls, set the fonts, and narrow the line spacing, you can simply see more text in CSpotRun. Also, you can use a stylus and easily "tap" to move between pages in CSpotRun. Being able to efficiently display lots of text on the small PDA screen and easily scroll to more text are fundamental capabilities for a reader, so I like CSpotRun better when actually reading a document. Also, CSpotRun takes less memory, so if you have little memory space, use CSpotRun.
  • Weasel Reader is a good reader with lots of functionality not included in CSpotRun. If you need to read the zTXT format, you must get Weasel Reader, since CSpotRun can't read zTXT. Weasel Reader can also beam documents to other Palm users; this is a big advantage over CSpotRun (which can't). It supports storing documents in additional ways -- for example, as read-only documents in ROM/Flash/etc. and though PalmOS VFS for reading from expansion memory cards/sticks. It can excerpt text into a memo (up to 4,096 characters) and add annotations to zTXT documents. I keep Weasel Reader around so I can beam my PDOC files, and its ability to handle expansion memory is really nice. If I'm generating a file, I use Plucker, since its format is far more capable than either PDOC or zTXT.

Important: If you install multiple readers of the same format, beware. Palms like to associate data with only one program, and if you delete the program, all of the associated data gets deleted too. If you install both CSpotRun and Weasel Reader, don't just "delete" one later without taking special precautions, or all your PDOC documents may be deleted, too. Basic synchronization won't help here; synchronization will automatically remove the PDOC backup files in your PC, too.

Getting eBooks to read

Once you get the eBook readers, you'll need eBooks to read. The plucker Web site includes interesting sample documents. Large collections of older classic documents (over a thousand) in Plucker format can be found at Pluckerbooks, which also has links to other sources of Plucker documents. The Linux Documentation Project (LDP) generates its HOWTOs, mini-HOWTOs, and FAQs in Plucker format, so it's a good source for Linux-related documents. Bandersnatch Unpress includes various freely-available documents in several formats (including PDOC and Plucker), including The U.S. Constitution. Memoware is a commercial eBook company; they include a lot of documents in different incompatible proprietary formats that you must pay for, but they also make many free documents available. You might consider documents such as The Art of War by Sun Tzu and The Script to Monty Python and the Holy Grail.

You can also create documents in these data formats if you have the text in electronic form. You can use http://pilot.screwdriver.net/, which will automatically convert arbitrary Web pages into PDOC format. As I noted earlier, Plucker comes with tools to create readable documents in Plucker format.

Specialized electronic books

Some material is made easier to use by running specialized readers.

For example, I wanted the Bible on my PDA. If you do, too, try Bible Reader for Palm, a good reader which offers various translations you can install in it. Unfortunately, it doesn't offer more modern translations, due to copyright issues. It does let you see two translations simultaneously, and offers searching and jumping to specific verses.

I also use PocketBabylon, a nice French/English word translation tool. The author hopes to add other languages -- please help him! (There seems to be a lack of good public domain word translation dictionaries; help with this general problem would be appreciated.)

Games

I can't possibly review "all OSS/FS Palm games". Instead, here are a few good ones to consider:

  1. Yahdice is an especially good turn-based dice game that uses the Yahtzee rules. I find this little strategy game really works well on a PDA -- there's some strategy and some luck, and you can pause it without problems. It has just been released as OSS/FS. It has a worthy competitor, Pete Stevens's Palm Pilot Yahtzee (PP Yahtzee). PP Yahtzee is enjoyable, and it handles six people (Yahdice is limited to four). However, I believe that Yahdice is the better program overall. It shows the possible scores for all categories before you select one, has a much bigger "roll" button (PP Yahtzee's is far too small), has a nicer display (e.g., it shows dice pips, not numbers), and can optionally sort the dice. They're both nice programs, and both are fun.
  2. JacksorBetter is a simple but fun game that implements video poker. It's a trivial game, but quite satisfying. I do wish it had some little extras; the "draw" button is too small, and I'd like the option of using buttons instead of the stylus... but since it's OSS/FS, anyone could add that.
  3. iRogue is a classic dungeon exploring game, and it's still a good one. You'll have to spend a little time learning how to control it, in part because there are several different options. I've found that the best approach is to map many of the common functions to the buttons on the bottom of the PDA. For example, I assign the "to do" and "memo" buttons to "move left" and "move right", the "scroll up" and "scroll down" buttons to "move up" and "move down", and the other two keys to "search" and "rest". You still have to use a stylus to move diagonally and perform other actions, but assigning the buttons to very common actions makes the game easier to use. iRogue is hosted on a site dedicated to porting Roguelike games to the Palm, which also includes ports of iLarn and kMoria (though their Palm ports are not as mature as iRogue's).
  4. pBill (a port of the popular xBill game) is a fun arcade game in which you have to smack all the evil "Bills" before they transform all the computers into toasters. Warning: the "game over" display is a parody of a computer crash; if you don't know that, you might think something terrible happened to your PDA when the game ends. This is a little too easy on a PDA if you start at level 1, because a stylus is easier to use than a mouse for this purpose. I can keep up indefinitely, which is boring (and I'm not even a good arcade game player). Instead, use the "warp" command to jump forward several levels to make it more challenging.
  5. Cosmic Wimpout for the Palm is a dice game for up to 8 people and up to 8 computer-controlled players. It is very user-friendly, with lots of useful help built into it (look for the little "i"s on the various screens). The help screens are especially important for people who haven't played Cosmic Wimpout, because the Cosmic Wimpout scoring rules are a little hard to learn at first. Quick hint: the program default is one human and no computer-controlled players, which is rather boring. If you aren't playing against other humans, add at least one computer-controlled player so that you have something to compete against.

    The normal rules say that on your first move, you must make at least 35 points, or you get no points. I suggest lowering the starting minimum (e.g., to 15 points). Otherwise, it's easy to have games in which the player who was lucky enough to get 35 points first (not due to any skill) is the one who wins the game.

  6. Pocket City is a clone of "Sim City", in which you try to build and maintain a city. If you like Sim City, you'll probably like Pocket City. Pocket City isn't as sophisticated as Sim City, but there's still a lot to it, and the graphics are nice. Scrolling is done using the 4 buttons closest to the center. Be sure to look at the GAMEHINTS file included with the program, because there's very little on-screen documentation and you really can't do well without some of the hints. You'll need to start by using the map to identify the starting location of your city, then "build" residential zones, industrial zones (not too near the residential zones!), commercial zones, roads, power plants, police and fire departments, and so on. A good game.

There are many other games, but game preferences definitely vary by individuals. See the section below on locating other software.

Miscellaneous Software

Some useful programs I'd recommend are:

  • Astro Info is an astronomical ephemeris/almanac. This is a great program. It can tell you when various planets, the moon, and the sun will rise and set, but that's not all. It'll also show what the sky looks like (at arbitrary times), and you can locate various objects (stars, planets, etc.) in space by name. For the planets and the moon, you can get information (and a picture) of its phase, as well as other data. This is a great program for a PDA; it's far more useful because it's available anywhere. One warning: When you start for the first time, you need to select the star catalog, or you won't get to see the stars. To do this, send the "Stars" file to the PDA and then do the following once you've started Astro Info: Press the "Menu" button on the PDA, choose "Object Catalogs", select "Yale Bright Stars", then press "Open". Once you've done that, you'll be impressed.

    There are three weaknesses in Astro Info version 2.5 (the current version as of this writing):

    1. It can't show lines connecting the stars in a constellation.
    2. It can only show one database at a time.
    3. Polaris (the North Star) is referred to by the less-commonly-used name "Yilduz", so if you're searching for it, make sure you use that name.

    The Astro Info developers are aware of these weaknesses (I get the impression that they're working on fixing them) and they don't detract from what's overall a great program.

  • FlashNome is a little program that acts as a metronome. This is handy for musicians.
  • Fretboard is a reference tool for players of stringed instruments such as the guitar. It displays notes, chords, etc.
  • EasyCalc is a sophisticated calculator with numerous scientific functions and support for multiple bases, complex numbers, graphing functions and displays, function definitions, numerical zero finding, numerical differentials, and numerical integrals. There are many other calculator programs, but this one has the most features by far. Note: You have to install the MathLib library first for this program to work.

If you like to fiddle with Python, you can install Pippy, a Python implementation for Palms. I've been trying version 0.7, and, unfortunately, it's not very useful yet. As of this version, it doesn't support floating point nor complex numbers (I wish they'd support MathLib!), many important Python libraries have been removed (such as the regular expression libraries), and, as far as I can tell, you can't write and store files on the PDA itself. Still, this is a work in progress; I hope that the final version will be more feature-rich so developers can write and run many kinds of useful programs.

For more general information on Palm-hosted programming languages, see the IBM review by Mertz and Blais and Palm OS development resources.

Editing text

As a tool for editing text, I find PDAs awful without a full-sized keyboard. Anything less is just too painful to use when entering lots of text. Styluses and micro-keyboards just don't do the job. If you're doing a lot of text entry, you might want a laptop instead, since the small screen of a PDA isn't as nice as a laptop's screen. If you need both tiny size and the ability to enter lots of text, get a folded-up full-size keyboard for your PDA. I took notes at the FOSDEM 2002 conference using my PDA, and it worked out well. Once I was done, I could put both the keyboard and the PDA in my pockets, something you just can't do with a laptop. However, the built-in Memo Pad application limits each memo to 4096 characters (about one page), so it's a poor approach to entering or editing real documents.

The OSS/FS programs for editing text aren't very capable, unfortunately. You could also use Zurk's ZDoc, but it's really no better; you still have to break documents into 4096 character chucks.

One of the more promising approaches to an OSS/FS text editor is to use SmallBASIC. SmallBASIC implements a variant of the BASIC programming language, and includes a surprisingly capable integrated development environment. Its IDE includes the ability to import and export PDOC format, and it can edit large files (each line must be 4095 characters or less, which is far less restrictive than Memo Pad). Unfortunately, while SmallBASIC is a really friendly IDE for program development, it's unpleasant as a general text editor. For example, you have to retype filenames (instead of choosing from a list) when importing or exporting PDOC files. Also, SmallBASIC is still in an alpha stage of development and isn't really intended as a general-purpose text editor for large documents. When testing it with large files, I managed to crash it twice (and one crash required a data-losing reset). Currently, if you must edit large documents on PalmOS, you need one of the many proprietary programs. However, in a little while, I believe that SmallBASIC (or some derivative of it) will be ready as a general-purpose text editor. I don't see an OSS/FS word processor in the short-term horizon, though once a text editor is available, it might be expanded to that as well.

Locating other Software

How can you find other software? In addition to the freshmeat PalmOS category, one good, organized location for OSS/FS software is palmopensource.com. If you just want free (beer) software and don't care if it's OSS/FS, another source is freewarepalm.com (but note that you have to pay to really use much of the so-called "free" stuff). If you're also using Linux, you can find useful information in the Linux Documentation Project's Palm OS Desktop HOWTO (available in many formats, including HTML, PDF, and Plucker).

The Future of Palms

Given current technology, there's a lot to like about Palms. They cost much less than Wince- or Linux-based PDAs, simply because Palms are designed specifically for the limited memory, display, input bandwidth, CPU performance, and electrical power of today's PDAs. Linux and Wince systems weren't designed from the ground-up for that circumstance, so they require more hardware (e.g., memory and CPU speed) than PalmOS simply to run, and much of their extra hardware is is consumed by the operating system instead of being actually useful. That extra hardware costs more, and (even worse) drains the batteries. Palms tend to work much longer on the same batteries.

However, it's quite likely that things will change over the next few years. I expect that hardware for PDAs will continue to get better, just as it has for laptops, and then the advantages of PalmOS will be worthless. PalmOS's underlying software design and implementation are awful in many ways; there are many arbitrary and unnecessary limits (especially size limits) that make PalmOS unnecessarily difficult to program. Also, PalmOS's fundamental incompatibility with larger desktop and server operating systems is probably insurmountable (e.g., PalmOS poorly supports large text files, making it unnecessarily difficult to interoperate with other systems). And note that PalmOS is not OSS/FS, unlike Linux.

None of this is a disaster if you're using OSS/FS applications. The OSS/FS software can be ported to other architectures, and the Linux PDAs in particular will probably attract those ports.

Recent comments

05 Dec 2004 13:01 Avatar mbstone

Where are the .PRC download links?
My device is a -palm-. It will download a .prc just fine. I have zero interest in downloading zips, tarballs, exe's, or anything that requires a non-palm device, OS, or conduit.

26 May 2002 08:22 Avatar Falcon611

Re: Strip

> You forgot one of the most useful free
> palm applications ever made. Strip.
> (Secure Tool for Recalling Important
> Passwords). It keeps track of all your
> passwords and encrypts the whole thing
> with 256bit encryption (AES) and best of
> all it is free and GPLed.
>
> It's made by a group named Zetetic
> Enterprises. I use it every day to keep
> track of the 50+ usernames and passwords
> I have.

I havnt tried Strip, but I can highly recommend Keyring ( http://sourceforge.net/projects/gnukeyring/ ). Its encrypted with the most trusted algorithm with cryptographers, TripleDES

25 May 2002 03:02 Avatar petree

Strip
You forgot one of the most useful free palm applications ever made. Strip (http://www.zetetic.net/products.html). (Secure Tool for Recalling Important Passwords). It keeps track of all your passwords and encrypts the whole thing with 256bit encryption (AES) and best of all it is free and GPLed.


It's made by a group named Zetetic Enterprises (http://www.zetetic.net/index.html). I use it every day to keep track of the 50+ usernames and passwords I have.

18 May 2002 10:38 Avatar jeffcovey

Re: A web based ztxt converter

> Is your CGI open source ? If so, you can post it to the Desktop
> section of www.palmopensource.com .

And to freshmeat. ;^)

18 May 2002 10:33 Avatar ldrolez

Re: A web based ztxt converter

> http://linuxfocus.org/cgi-bin/2ztxt?about


Cool ! Is your CGI open source ?

If so, you can post it to the Desktop section of www.palmopensource.com (http://www.palmopensource.com) .


BTW, if you need open source software for PalmOS, you should visit www.palmopensource.com (http://www.palmopensource.com)
which is a kind of freshmeat for PalmOS but ONLY with open source software !


Cheers,


Ludo.

Screenshot

Project Spotlight

Kigo Video Converter Ultimate for Mac

A tool for converting and editing videos.

Screenshot

Project Spotlight

Kid3

An efficient tagger for MP3, Ogg/Vorbis, and FLAC files.