First, let me start by including here the formal definition of the Java Verified program:

What is Java Verified?

Java Verified is the industry-recognised Java testing and signing programme.

Developers take their Java ME apps through a testing, signing and verification process through the Java Verified Submissions portal.

If their apps meets the testing criteria, they’ll gain the Java Verified seal of approval.

Without the Java Verified approval, there’s no guarantee that an app won’t work. More explicitly, the Java Verified endorsement shows the world that an app does work.

Read the last paragraph above… w/o the program, there is no guarantee the app will work across devices and operators. Hmm…

Recently Java Verified launched a new Simple App Testing program. Based on the short video clip on the Java Verified website, this is testing (certification) for “simple apps without complex features such as complex connectivity” and the cost of certification is around 75 Euros! (Today 75 Euros = 92.41500 U.S. dollars).

Some Observations

  1. Don’t create new (temporary) programs or certifications just for the sake of creating one or making noise or make it look easier when it really is not; address the root cause.
  2. When I went to the Orange developer conference almost 2 years ago, Orange plus others were working on a new developer support/app strategy for Java ME. Is this it?
  3. Perhaps a bad example by the person in the video, but what is complex connectivity? Non HTTP? Streaming? Interchanging XML or JSON data formats? Why does it matter? The reason must be related to the cost of testing and testing against external systems, so the more self-contained the app is the better and cheaper (from the Java Verified program perspective). But, why? By definition most mobile apps are connected! And this makes the simple app program irrelevant then?
  4. There should be ONE type of cost/fee, a developer fee (zero or yearly) and NO fees per application. Having to pay per app is not a good incentive for developers.
  5. The fact that there has to be a “simple” vs. non-simple kind of testing reflects the problem that still exist. Instead of working around the problem, address the problem. As long as inter-company politics and interests get in the way, this will never get fixed. There is too much IP across the involved companies, and too many companies involved, and too many interpretations/implementations of the JVM resulting in too many differences across devices (goes back to my point above on cost) which forces certifications and types of certifications and again increasing costs of publishing apps.
  6. Oracle, take over Java ME, negotiate the terms of the IP from the other companies, figure out something. If not Oracle, Nokia then. Or an independent group with a strong following and proven experience like Apache. But someone do something! Everything must be simplified. The fragmentation within Java ME must be eliminated once and for all. If you can’t do this, start all over again, or just adopt Android.
  7. BTW, what ever happened to MIDP3? As I have written before, there are and will be millions of feature-phones out there needing a good development environment for “native” apps; think MIDP3.