Mobile Information Device Profile (MIDP) defines the Java app environment for mobile information devices (MIDs), such as mobile phones and personal digital assistants (PDAs). MIDP is part of the Java 2 Platform, Micro version (J2ME). This guide offers advice for MIDP 2.0, which is specified in MIDP 2.0 Specification [19] from the Mobile Information Device Profile 2.0 (JSR-000118). An app that runs in the MIDP environment is called a MIDlet. One or more MIDlets packaged together for distribution are called a MIDlet suite. This tutorial is for two groups of readers: those who are porting MIDP to a new device (MIDP implementors) and those who are creating MIDlet suites (app developers). Porting MIDP implementations to devices and designing MIDlets both have special challenges, which this tutorial's guidelines address. The guidelines are divided into three categories. The following paragraphs show the typographical conventions used for the guidelines, and explain the guidelines themselves.

Strongly Recommend: Java graphics bulb1_icon.gif Guidelines that, if not followed, could result in an unusable app.

Recommend: Java graphics bulb2_icon.gif Guidelines that lead to an improved Java app in areas such as ease-of-use and portability. Disregarding this advice will not lead to an unusable app.

Consider: Guidelines that could lead to an improved Java app, but that do not necessarily apply to all apps and situations. Your circumstances may lead you to disregard this advice.

The guidelines come from many sources, including usability studies, user-interface design principles, good coding practices, and experience implementing the MIDP specification and MIDlets. This chapter introduces design considerations for MIDlets in the consumer market. Designing MIDlets differs significantly from designing desktop computer software. Some important differences include product domain, resource limitations, and the need to focus on ease of use.