Originally, MIDP 1.0 was designed for maximum portability and concentrated only on features that could be implemented by all early mobile devices. Since some of those devices had no sound capabilities, the MIDP 1.0 specification excluded sound features. Some early devices also had very limited graphics capabilities, so the MIDP 1.0 specification additionally excluded some of the more advanced graphics features, such as transparency. Because of these exclusions, MIDP 1.0 is portable across a very wide range of devices and suitable for implementing many useful applications.
Early Nokia smart phones already surpassed MIDP 1.0 specifications in sound and graphics capabilities, so the Nokia UI API was introduced to make these features available to MIDlet developers. However, MIDP 2.0 incorporates many of the same features as the Nokia UI API. To guarantee that your MIDlets work in the widest possible range of devices, use MIDP 2.0 instead of the Nokia UI API whenever possible.
At present, the main purpose of the Nokia UI API is to offer MIDlets specialized features that are not available in any existing API, including MIDP 2.0 / 2.1.
For more information, see:
Changes between platform releases for information about the Nokia UI API version implementations in the Series 40 and Symbian platforms
Using Nokia UI API for information about the Nokia UI API features and how to use them in your MIDlets
Nokia UI API Programmer's Guide for instructions on using the key graphics and sound features of the Nokia UI API
Nokia UI API specification and Nokia UI API specification appendix for the latest Nokia UI API class and interface specifications ("Javadocs")