An application designed for the largest possible number of MIDP devices must be available for MIDP 1.0 (JSR 37) and MIDP 2.0 (JSR 118). In many countries, the number of MIDP 1.0 devices is still significant, as well as the number of downloads on these platforms, this volume cannot be neglected.
Mass market applications such as games, browsers, content players or communication tools may require MIDP 1.0 versions. Specialized business application tend to have a limited range of target devices, most of the time high end, they do not need to target almost all devices.
This Design Guideline suggests not to try and mask Profile differences within the code of the application but rather to develop 2 versions for the different profiles.
The application design requirements must not critically rely on advanced features beyond the scope of MIDP.
PP/LINK - Fragment the application into versions. Develop one version per MIDP version. Differences between MIDP 1.0 and MIDP 2.0 are significant and numerous. If both MIDP 1.0 and MIDP 2.0 are targets, reduce features to the MIDP 1.0 set is often too restrictive since many application improvements are possible in MIDP 2. Feature reconciliation is painful and complex. Knowing that the MIDP ecosystem is fragmented, one need to chose the right fragmentation points reduce the number of versions (to reduce maintenance and porting costs) and increase compatibility. MIDP 1.0 to MIDP 2.0 is a valid fragmentation point.
Having two application versions, one for each MIDP version being accepted and incorporated in the application design from the beginning, one must select between the following approaches for each feature diverging from one version to another:
One can also imagine hard code the maximum number of connections in the JAD file, retrieve it from the network or even hard code a small database of values inside the JAR of the application.
The devices in table are most popular MIDP 1.0 devices in North America and Western Europe by mid 2006. Most other popular device is expected to be compatible with MIDP 2.0 (without taking into account RIM BlackBerries, which are a different target).
MIDP 1.0, MIDP 2.0