Discussion Board

Results 1 to 2 of 2
  1. #1
    Registered User
    Join Date
    Mar 2003

    Java Compatibility

    We are a Mobile Content Re-seller and part of my role is ensuring we support content for the most up-to-date handsets. Trouble is java game developers are slow in gettign to you confirmation their s40 version game works on the new s400 handsets. With Nokia 6230 and Nokia 7250i being two examples of handsets where a s40 game doesnt work.

    Does anyone know any set rules for java compatibility. For example: if s40 java game works on teh nokia 7210 it will work for Nokia 7250, Nokia 3100, Nokia 3200, Nokia 5100, Nokia 6100. Nokia games that work on Nokia 7650 will work on Nokia 6600, Nokia 3650, Nokia 7610, N-Gage, Ngage QD?

    Do any game that works on N-Gage deinfitely work on N-Gage QD and vice versa?

    Any help on this would be appreciated.

  2. #2
    Super Contributor
    Join Date
    Mar 2003
    There are no guarantees, neither with Java or C++ applications.

    The only way to be sure is to test on every possible device (which is both difficult and expensive, I'm afraid).

    Software certification programs like Java Verified (http://www.javaverified.com/) and Symbian Signed (https://www.symbiansigned.com) may help and you probably should look into them and understand what they mean.

    In general, there is backwards compatibility in the sense that a Series 40 MIDP 2.0 device should be able run all Series 40 MIDP 1.0 based apps, or a Series 60 Platform 2nd Edition (2.x) device should be able to run Series 60 1st Edition (1.2) apps, etc.

    But a MIDP 2.0 app won't work on a MIDP 1.0 device (unless it has been written very, very carefully to use only such APIs/libraries that exist and behave the same way on MIDP 1.0 as they do on MIDP 2.0). Similarily for Series 60 apps.

    In practice even the backwards compatibility cannot be guaranteed, due to many reasons, where the following are the most typical:

    The application is written to use device-specific features not available on another device (e.g., an application that depends on infrared - or a camera -, won't work on a device without such, etc.).

    The application has been written to use undocumented APIs, or is depending on undocumented behaviour, and the undocumented API or behaviour has changed in a newer device. Documented APIs do not change (but may become deprecated on newer generations of the platform, Java or Symbian/Series 60).

    Programming errors that just happen to work on one device, for whatever reason, start to break on a new device (or even in the same device with a newer firmware release, where a device/platform issue has been fixed, and now causes the application bug to be exposed).


    For content reseller/aggregator, demanding/requiring at least Java and Symbian certification is a good starting point. In addition, you can (and probably should) request a list of devices tested by the application developer(s).

    For a mobile-device accessible download/sales site, look also into the UAprof (User Agent profile) info available, to determine what the device is, and which applications to make available. However, do not try to be too restrictive (e.g., make apps that you know work for, e.g., a 7610 also available to compatible devices or newer, meaning 6670, 6260 and 6630).

    Look also into services such as Nokia's Preminet: http://www.nokia.com/nokia/0,,65175,00.html

    Regarding the N-Gage in specific: All N-Gage game cards that work on the original N-Gage will work on the N-Gage QD. For other apps - Java or C++ based -, what's above applies in principle, but if an app works on one, there's no reason for it not to work on the other, because they are two devices based on the same hardware and software releases.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts