For a while I have been wandering about this, any comments or you point out if I am wrong, it would be appreciated:
The J2ME platform (I am using Sun's J2ME Wireless Toolkit) looks providing a very limited range of functionality. For example, MIDlet cannot detect (or be triggered) when there is an incoming call on the mobile phone, nor can it receive a regular SMS message sent from another mobile phone (correct me if I am wrong).
With these limitations (or restrictions) in effect, I think it's very hard to develop a powerful software on the J2ME platform, for example, a powerful phone call management software, which can block certain phone numbers from calling in, which can automatically redirect certain incoming calls to another pre-configured phone number.
A war game on mobile phone, I believe J2ME is capable of; but more powerful things, especially those interacting with IO's, I don't think MIDlet is.
I understand for security reason, MIDlet can only execute within "sandbox".
However, I wander, why there cannot be Java applications as well, just like on the PC. If a user installs a Java application onto his mobile phone, via bluetooth or data cable or whatever, that means he trusts the application and he has the right to do it.
In addition, digital certificate can be used to sign the Java application installation, and certain trusted digital certificates can be pre-set on the mobile phone. So even with OTA, a Java application (not only a MIDlet) can be downloaded and installed and started on the mobile phone, as long as the software passes the certificate checking.
So, I would like to ask, why not Java applications on the mobile phone? On PC, there are applets and applications; why not on mobile phones, there are MIDlets and applications as well?
Somewhere I read about "Personal Java", maybe that's the Java applications I meant here? But besides that, I did not hear much more about "Personal Java".