Using Filters With the Java ME Device Matrix

by Richard Marejka

Let's say you have a design for a mobile application, and you know what technology (JSR) is required by the platform. You then want to know: What handsets will support your design?

The SDN Device Matrix is a table that lists information on hundreds of devices that run Java ME technology.

Device Matrix

Searching on Multiple Filters

To get the answer to your question about support for specific technology, use the Device Table Software Filter to select a set of multiple JSRs. When you click Go, the Device Matrix will show only those devices that satisfy your user-defined filter.

For example, to find all devices that support Bluetooth, CHAPI, CLDC 1.1, Location API, and Scalable Vector Graphics, do the following steps using the software filter list:

  1. Hold down the left button on your mouse and click Bluetooth to select it in the list.
  2. Hold down the CTRL key and, using your mouse, left-click CHAPI, CLDC 1.1, Location API, and Scalable 2D Vector Graphics.
The following figure shows the software filter with two of the five selections visible in the scrolling list.

Software Filter

When you click Go, the table will display the search results set, as shown in the following figure.

Device Set

Searching on MSA

To see the devices that support the platform of choice today, set the Software Filter to MSA, the Mobile Services Architecture as defined in JSR 248. MSA comprises a set of 17 JSRs (or 9 JSRs in the MSA subset case) that define a Java ME platform. It is becoming the platform of choice for mobile developers because it provides a stable and feature-rich deployment environment.

Sending Feedback

The Device Matrix database is updated quarterly with devices from major manufacturers. You can submit comments or updates using the Corrections or updates link found top and center on the page.


Is there a downloadable version of this device matrix anywhere. Or a version that I can integrate to programmatically?

Posted by Jim Bob on March 06, 2008 at 04:40 AM PST #

Thanks for your comment.

No, there is not a downloadable version of the device matrix. A Web Services interface is one of our planned new features. This interface would give programmatic search access to the device matrix.


Posted by Rick on March 12, 2008 at 01:36 PM PDT #

when will the web service interface can be used?

Posted by dali on March 16, 2008 at 08:17 PM PDT #

Sorry, but we do not have a release schedule for the web services feature. We are setting the priority of individual feature list items now. User feedback via comments -- like yours -- will be taken into consideration.



Posted by Rick Marejka on March 17, 2008 at 12:50 AM PDT #

how to compile and run j2me and how we can use j2me on mobail

Posted by gaurav pandey on March 28, 2008 at 06:39 PM PDT #

The NetBeans IDE can be used to build Java ME applications. The NetBeans Mobility bundle can be downloaded from The article "Using Subversion, NetBeans UDE, and Sun Java System Web Server With Java ME" (found at describes one way to create a development and deployment environment for mobile applications.

As to what can be done with Java ME on a mobile device - check out the mobility section on the site ( for a selection of games and applications. The Sun Developer Network (SDN) Mobility section ( contains a library of articles, tech tips and code samples on how to develop for the Java ME platform.

Posted by Rick Marejka on March 31, 2008 at 03:49 AM PDT #

The Web Services API is critical I think. This is a huge hurdle for Java developers as I am sure you are aware (hence this initiative) but a way to access it as you build binaries would we great. This is what J2ME Polish offers but I've always felt their offering to be rough around the edges, inaccurate, incomplete and lacking discipline in it's design.

Posted by Michael on April 01, 2008 at 06:18 PM PDT #

You should consider making the UI more usable. First of all indicating actual JSR numbers besides the code names. Then resizing the selection box because it's barely usable this way. (I have no problem putting together small grease monkey script for this, but still... :) ) The webservice interface is a great idea and would be very much welcome.

Posted by atleta on April 02, 2008 at 10:41 PM PDT #

Michael - Do you envision building a MIDlet suite (JAD/JAR) based on the result of a Web Service query/reply, i.e. your build environment would query for the JSR support of a given device and customize the suite based on the reply?


Posted by Rick Marejka on April 03, 2008 at 04:01 AM PDT #

atleta - Adding the JSR number / re-working the text is easily done since it is driven from a table in the underlying database. I'll make the change in the coming days and see what feedback we receive. I will add your box suggestion to the feature request / bug list. Thanks for the support on the Web Services interface. Feedback such as we receive through article comments like yours are driving the priority of feature request / bug list of the Device Matrix.

Posted by Rick Marejka on April 03, 2008 at 04:10 AM PDT #

The software selection list has been reworked to include the JSR number. The new format is "JSR XXX / short name" where XXX is the JSR number and "short name" is an abbreviated name of the JSR. Some older software items not under the JCP were left "as-is". Note that Internet caching may have an effect on the contents of the software box for some (short) period of time.

Posted by Rick Marejka on April 07, 2008 at 03:46 AM PDT #

where can I get API documents for j2me developing.

Posted by guest on April 16, 2008 at 01:30 PM PDT #


Great, fast reaction! :) Now if only you could make the selection box larger. It shouldn't be hard, there is a size property to select. Now it's 5. Setting it to 10 or 15 shouldn't take more than 30 seconds.

BTW where do you get your data from? Both Nokia and SE have quite detailed and easy to scrape information on their web site about the JSRs included in their different models. I don't know the copyright status of that information but it should be easy to get their permission to use it, or even the data itself in a more easy to use form.


Posted by atleta on April 16, 2008 at 03:02 PM PDT #


Posted by cbdg on April 17, 2008 at 02:26 AM PDT #

In answer to the anonymous question "where can I get API documents for j2me developing"?

The primary source for Java ME documentation is the JCP site, to be more specific select the Java ME platform link on the page Each JSR has it's own page that includes a link to download the specification. The specifications are in either HTML or PDF format. Note that not all JSRs in the list of 83 are ratified. When a JSR is ratified a Reference Implementation (RI) and Technology Compatibility Kit (TCK) and will be available for licensing.

The Sun Developer Network (SDN) sites and provide further documentation, articles and code samples.

There is also the Mobile & Embedded Community on at offering forums, articles, blogs and community involvement in open source projects.

Posted by Rick Marejka on April 18, 2008 at 02:14 AM PDT #


Thanks for the suggestion, I'll have a whack at the selection box. This one may take a little longer until it appears live, I do not have direct access to the production web site and have to coordinate updates with the webmasters.

As to your question about my data sources - I use the only public information available from the manufacturer web sites. The information is gathered "manually" and entered into the underlying database.

Posted by Rick Marejka on April 18, 2008 at 02:54 AM PDT #


Posted by guest on April 18, 2008 at 07:39 PM PDT #


Posted by VENU on April 18, 2008 at 07:41 PM PDT #

Last I knew, the Java ME Polish project was providing the device information for WURFL. You can think of WURFL as an available global database of devices and their capabilities:
Is the Java ME Device Matrix also connected to WURFL?

Posted by Evan J. Goff on April 22, 2008 at 01:49 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

Tips for developers who use Java technologies (Java SE, Java ME, JavaFX) for mobile and embedded devices.


« July 2016