Wade's Pilot Programming FAQ
Auto Notify will notify you of changes all my Pilot pages.
Welcome to my Pilot programming FAQ. This page is intended to help new Pilot programmers or wanna-be Pilot programmers get up to speed and producing Pilot apps as quickly as possible. It essentially collects a bunch of information that's spread around the net into one place and adds some editorial content to give you at least one opinion that can help you choose your development platform. This page is also available in German.
Note that I define Programming fairly loosely here. I try to cover everything you can use to set up your Pilot to do customized actions including databases and spreadsheets.
The Pilot community is growing rapidly, and there are lots of great tools available. Many of these tools are free, and all are pretty low cost. You don't need a huge budget (or any budget for that matter) to program the Pilot. Don't let the price fool you. The free tools are generally of high quality.
You should be aware that I'm a Windows programmer and user, so the comments on Windows tools are backed up with some direct experience. The comments on Mac and Un*x systems is information pulled from various places on the net as well as the authors. When I say Un*x this means various flavors of Unix as well as Linux, all of which are supported. Also note that I'm a relative newbie as far as Pilot programming is concerned so I don't know everything.
This page will be updated periodically, hopefully as a result of other members of the Pilot community sending me Questions and Answers for it. If you've visited before, you may want to check out the History page to see what's changed and the credits for outside contributions.
I would appreciate feedback, good or bad as well as corrections, comments, additions or editorials on my editorials. Send them to me at firstname.lastname@example.org.
I would especially appreciate new questions and answers. If you don't know the answer, try posting your question to one of the Pilot Programming Newsgroups. If you do that, I'll see it and if it seems like a common question I'll add the response after someone in the newsgroup answers it.
OK, enough already. How do I get started!
There are several Pilot FAQs you may want to check out:
This was the first programming FAQ and it's now linked to by the official 3COM PalmPilot site. The list of other FAQs is pretty skimpy now, but I hope it will grow as time goes on. Subscribe to my Auto-Notification service and you'll find out about new pages as soon as I do.
Most of these FAQs are volunteer efforts like mine that will require other Pilot developers to submit questions and answers. Please do your part for them when you can.
The other definitive place to get Pilot programming information is at the NewsgroupsPilot Programming Newsgroups.
There are several Pilot development systems for Windows ranging in price from free to a couple hundred bucks. Do not let the price of the tools be the deciding factor because in many cases the free tools are better than the most expensive ones. There are more tools written for Windows than any other platform so you have a lot of choices. The available tools fall into these categories:
The Pilot port includes the Pilot GCC C compiler, a resource editor (PilRC), and the Pilot header files, as well as a linker that can put it all together into a Pilot program.
The version 0.5.0 package comes with the 'gdb' source level debugger, the CoPilot emulator integrated with the gdb source level debugger, the GNU Emacs editor & IDE integrated with the debugger. For Win95, an install wizard makes it painless, but there are currently some problems with NT 4.0.
The package is developed solely on UN*X and Win32 is a port done after the UN*X versions are considered stable. Thus the Win32 version is always behind the UN*X version by at least a little. If you haven't guessed, this is the version I use and I like it.
To start with GCC, go to Getting Started with GCC.
It's more costly than GCC, but it with the source to all the built in apps, which you can modify and distribute if you like.
To start CodeWarrior, go to Getting Started with CodeWarrior.
If you're going to collect data with the Pilot, you should consider getting this even if you eventually want to code the application in C as it's a good way to prototype your app, think about it's program flow and test out the data model without doing a lot of work. It's not very expensive so check it out.
To start with Pilot Forms, go to Getting Started with Pilot Forms.
Using these controls, it is possible to create forms with flexible positioning using the WYSIWYG forms designer. This is the second big difference compared to PilotForms which only allows either one control per page or a list view of the controls. Another big feature is the availability of "actions" on the 'Tap" event for any control. When tapped, controls can trigger one of several actions, including launching other programs. These actions coupled with the powerfull "Filters" allow the creation of full-fledged database applications in allmost no time. The filters are defined and activated on the controls and are the applications way of communicating between the forms.
The PC based Application Designer creates DBase 5 files to act as the PC side of the database that is placed on the Pilot. There is no auto-synchronization built into the product. An ActiveX control is supplied for PC developers to tie their apps into the database application running on the Pilot. This allows far greater control over the HotSynch process compared to the PilotForms but if the requirement is just a simple auto-synchronization, adds a bit to the development time.
At $600, this is the most expensive development environment available for the Pilot, but it's also considered by many to be the easiest to use and the most flexible. It's definitely worth a look.
To start with Satellite Forms, go to Getting Started with Satellite Forms.
This is a handy thing to keep on the Pilot for times when you want to test out an idea, or you need to create a simple database definition and collect some data quickly. This is absolutely the fastest way for you to collect data on the Pilot if you don't need a fancy form and just want a plain flat file as the result. You can find Calvin's review of it here.
To start with JFile, go to Getting Started with JFile.
It's product blurb reads "QuickSheet is the handheld spreadsheet for the US Robotics(R) PalmPilot(TM). Combined with the included PC conduit software and Microsoft(R) Excel(TM) Add-In, QuickSheet is useful for a wide variety of data analysis and collecting applications."
To start with QuickSheet, go to Getting Started with QuickSheet.
The current version of Jump requires the Java 1.1JDK from Sun or Microsoft.
To start with Jump Java, go to Getting Started with Jump Java.