It happens to me about twice a year. I get obsessed with finding a good way to write applications that will run (which minimal or no changes) on both Palms and PocketPCs. Usually there is a few weeks of casting about and then, with a feeling of discouragement that I tell myself is realism, I decide that there are a lot of intriguing contenders, but nothing that satisfies what I think I want. What I am looking for is roughly the following: * Produces apps with the relatively rich UI people have come to expect on Palms and PocketPCs * Doesn't run in some pokey runtime interpreter * Allows me to use a nice productive IDE * Good support and a good-sized user base * Doesn't cost an arm and a leg Lately, I'd add an additional criterion that has been weighing more heavily on my mind: lets me program in a real OOP language. I have to finally say that even though C has become like a comfortable old shoe for me, I'm getting tired of having to hammer out hundreds of lines of code to do the simplest things. I like C# and think the .NET Compact Framework is great, but don't see a .NET VM coming out for the Palm OS any time before hell freezes over. Yeah, there is AppForge, which lets you code in VB.NET and then run you code in VMs for Palms, ARM-based PocketPCs, and some Symbian devices: http://www.ftponline.com/vsm/2004_08/magazine/departments/firstlooks/ But from what I understand there is the "pokey runtime" problem, and most definitely the "arm and a leg" problem. Now I'm looking seriously at SuperWaba, a set of Java-compatible class libraries and VMs that keeps looking better the closer I look, despite the silly name. I mentioned this earlier, but just wanted to expand on some of the stuff I've learned that impresses me: * While it's not compliant with J2ME or any other Sun standard for Java, you can compile using any Java development environment you want. The language is pure Java with all of Java's good OOP features, even if the libraries are not. * The non-compliance is looking like maybe a good thing: many of the apparent limitations of J2ME are not there with SuperWaba. See this: http://www.superwaba.com.br/en/swxj2me.asp * Performance is a lot better than with J2ME: "being integer-only and essentially single-threaded lets this VM run four times faster than Sun?s JIT-compiled code." The VM is supposedly a lot faster than AppForge's, too. * If you're doing something that needs to run faster than interpreted code allows consider this: 1. SuperWaba code can be compiled to native executables--at least on the Palm side--using a utility called SWJump. Want to support old, slow 68k Palms with the snappy performance people expect? Just eliminate the runtime! (Still needs a runtime for PPC, but you've got more horsepower there anyway). 2. There is a version of the VM about to come out that is written in native ARM code--supposed to be 4-30x faster in OS 5 Palms. Also a new VM for Windows CE that's supposed to be 5-15x faster for speed-hungry operations like media playback. 3. You can call libraries that are written in fast native C/C++ code for processor-intensive operations. * I see a *lot* of libraries that do things that are hard to do using the Palm OS API: HTML rendering, GIF/JPG/PNG display, XML parsing, relational databases, SQL, etc. * The UI looks like PocketPC on a PocketPC, Palm on a Palm. * Lot's of sample code and documentation on how to do specific, practical things. I prefer looking at sample code than docs in many cases. * SuperWaba is open source. The developers seem to be able to make a pretty good business out of it, though (selling tutorials, samples, consulting services) because great new features seem to be rolling out on a rapid timeline. * There's a plug-in to the Eclipse IDE for writing SuperWaba apps there. Since that's the same IDE that PalmSource has chosen for the new Palm OS Developer Suite it would be nice to do C API and Java/SuperWaba development from a single familiar IDE. Here are a couple of good reviews: http://www.oreillynet.com/cs/user/view/cs_msg/38318 http://www.computerworld.co.nz/cw.nsf/UNID/BE3803B107AF69F8CC256DE80008FB3A?OpenDocument&More=Tools I may finally be getting pushed into the Java camp. David ========================= David Beers Pikesoft Mobile Computing www.pikesoft.com