This may not be the place to ask, but how does J2ME compare to the other technologies available for portable device development? I wrote an app once for a Palm unit that used AppForge (a plug-in for VB). Someone gave it a bad review, not because of the app, but because of the "booster" library (@350k, if I remember right) that had to be installed to use AppForge applications. Does J2ME have something like this as well?
Yes, J2ME requires you to install a JVM which weighs in at 585K on my PDA. For a single midlet to use this, it is quite large, but if you have half a dozen or more, I'm sure that could mitigate the size issue. This is one of the prices you pay for Java's cross-platform-ness. I've recently started developing Palm apps with C and GCC's PRC tools. While these are bound to create smaller prc files, it is somewhat complex just to set up a simple "do nothing" app, let alone one that accomplishes something useful.
Actually, Palm is sort of an exception to the general MIDP space. Most MIDP devices are mobile phones that have the JVM and MIDP bits burned into firmware. Your users don't need any extra libraries to install your MIDP application, and typically those applications are very small (30 - 50 KB). MIDP makes huge sense in the mobile phone world but is less understood and supported in the PDA world.
CNN had a story a few days ago about how Sun had the advantage on phones because the JVM is in so many - and that phone sales would outdo PC sales this year. The idea was that Sun had gotten around Microsoft's barrier by hitting the phones instead of being stuck on PCs. BTW, the article also pointed out that HP and DELL will be installing the current JVM on the PCs they sell.