The Mobile Device Tools are a suite of Java utilities that can be used by developers in the creation of new J2ME software for mobile devices. They give a developer a good way to explore the capabilities and limitations of phones and other devices, and come up to speed quickly with new devices.
The latest version of the Mobile Device Tools is 0.2, and there are three Midlets in this release that you can try out. The Specs, Keys, and ClassBrowser Midlets are described below, but you may like to jump straight to the main download page. From there you can access both the complete collection of compiled Midlets, as well as the Java source code to build them yourself.
As with all projects on SourceForge you can submit bug reports, access the CVS repository, browse release notes, and otherwise become involved in the development of the Mobile Device Tools. For any of this, feel free to visit the main project pages.
The Specs Midlet can be used to quickly check the "vital statistics" of a new device. It shows the screen dimensions and colour depth, the standard system properties (platform etc.), the Canvas properties, an estimate of the smallest timer resolution (e.g. the shortest time you can practically set a timer for), and reports on which JSRs have been implemented. If you've never seen a device before, and have the chance to run only one app on it, then this would be it.
The Class Browser Midlet provides much more detail than Specs. It utilises a database of many known Midlet classes to probe the device for which classes are present. You can browse through the hierarchy of classes found to find out the extent of support for different features, which proprietary libraries exist, and potentially discover undocumented features. Some features of a device are not exposed in classes, but many are, so this is a good way to find most of them.
The Keys Midlet is an interactive tool for finding out how the phone keypad behaves. As user-input is vital for most applications that implement the Canvas object (including almost every game!), this is extremely useful information to get. With this Midlet, you can test which keys can generate concurrent events (e.g. can a user move and shoot at the same time?), find out if every key generates every necessary event (not all devices implement the Repeated event), establish which keys correspond to what game keys, and get the key codes for the non-standard keys on the device.