Skip to main content

Achieving WORA for Mobile Applications on Handsets

Posted by rpatel on March 1, 2004 at 9:19 AM PST

The Java Verified program announcement, made at 3GSM World Congress, raises my optimism about mobile Java applications for handsets even further. The big challenge with Java applications for handsets was to enable Write Once, Run Anywhere equation. Many a times, I hear the developers of such applications complaining about them having to put effort in making the application work on handsets from various manufacturers because of the variations in memory capacities, screen size, input mechanisms, storage space, etc. on these devices.

Java Verified program, sponsored by Sun, Nokia, Siemens, Sony Ericsson and Motorola, would solve this hurdle for Java applications atleast on handsets from these companies. The program specifies process to certify your Java applications such that they could be deployed to any Java enabled handsets from the above manufacturers. Cool!

Unified Verification Initiative establishes a process of certifying applications on the participating manufacturers' handsets. You can visit to understand the process further. Once your application passes the test categories as mentioned in Unified Testing Criteria (document published at consisting of information about operational tests), you may use the Java Powered logo to differentiate your applications from other non-certified applications.

Let me briefly outline the process of certification for interested folks -

1) A developer, if already registered to the Java Verified program portal (, logs in and submits a new application or a new version of a previously tested application by supplying the application package or a link to the application.

2) Before the application can be submitted, it is pretested. Pretesting involves analyzing the JAR and JAD of the application to determine if the application is network enabled; if it needs any storage and if yes, then whether it uses RMS APIs; if it accesses system properties; uses WMA APIs, etc. The purpose of pretesting thus is to extract as much information about the application as possible. Once the application passes pretesting, it gets submitted to and a ticket is sent to the developer via email.

Note that before submitting your first application, you would require to complete a Java Verified Program Agreement.

3) Subsequently the developer will select a Testing Provider (i.e. a company that would perform comprehensive tests mentioned in Unified Testing Criteria document for fee) from a list. The Testing Provider is notified of this. It will make contact with the developer and collect required information. If they both agree to pursue the testing, developer would send the ticket it received from to the Testing Provider. Using this ticket, the Testing Provider determines that the application has passed pretesting.

Note that one can continue to use the same Testing Provider for as long as they want.

4) Finally, the Testing Provider would perform manual tests to check if the application meets the tests categories as in Unified Testing Criteria. If it does, then a developer would be given digital identity certificate that it can use to sign the application to establish its certified status.

I personally think that anybody interested in pursuing this certification should atleast read Unified Testing Criteria document because this is where the meat of information regarding tests lies. This document consists of carrier-specific test categories apart from MIDP 1.0, MIDP 2.0, JTWI, and Java APIs for Bluetooth common test categories.

Related Topics >>