The world of development for Palm and the Treo is pretty similar to the world built around Nokia phones. The Palm OS is one of the original handheld operating systems, and its world is broad and deep. When I was poking around for weird languages that run on handhelds, I found the most for the Palm. One version of Python, called Pippy, was last updated in March 2003, long before the iPhone and even before Apple rolled out the first really successful iPod, the 3G. The Palm OS is sort of a museum, in a way, but one that comes with a broad and deep collection of software.
This is changing now that Palm officially announced its new webOS. I wasn’t able to work with it at all, but it sure looks promising. It takes some of the great ideas from the iPhone and seems to extend them further. The Web and HTML promise to play an even bigger role in the new Palm OS than in the iPhone, and that's bound to be useful for everyone except game programmers looking for maximum performance.
The old OS will continue to be important in the short term because other products like the Treo and the Centro will use it. I hope some of these roots make their way to the Pre because there are many advantages to working on a platform with such a long history. Open source coders have built tools for working with 2-D text in PDF forms, audio files in a variety of formats, and even video. All of these are available for you with open source licenses if you choose to wade in. If you like working with a command line and your favorite editor, there's a good version of GCC available with many of the favorite Linux world tools. (See prc-tools.sourceforge.net.)
If you want more than freedom, Palm itself offers the PDN (Palm Developer Network) with all of the tools and a long user agreement full of noise about confidential information.
After spending some time with Palm, it's easy to understand some of the rationale behind Apple's tight relationship with AT&T. The information about developing for the Palm is not just segmented by device (Treo, LifeDrive, and so on) but also platform (Palm OS or Windows Mobile) and carrier. Palm helps cut through this clutter with its Virtual Developer Lab, a process that lets you try out your software on any handset in a number of markets throughout the world. You sit at your desk and boot up your software on some handset somewhere else just to make sure it will work for purchasers in that corner of the world.
Some of this confusion must make it hard to keep the PDN Web site up to date because it was easy to trip over old links and musty information. But despite the cruft and dust, I still find myself enjoying the simplicity of the Palm OS. The more I use my Apple iPod Touch, the more I appreciate my Palm TX, a similar platform that delivered all of this palm-sized fun in a very simple and elegant way. The browser, called Blazer, is deliberately minimalist, and that makes it easier to use than Apple's much cooler grown-up browser that requires an endless amount of pinching and twisting to actually read something. Perhaps it's nostalgia, but I think there's something more to this design goal. It's not pretending to be a desktop; it's happy to be small. And if it's nostalgia you really want, there are emulators for the Palm that let you play Nintendo NES games, and they've been around since before the iPod too. I only hope that Palm can keep some of this simplicity intact as it builds out the new OS.