As some of you may already know, MIDP 3.0 is going public. While smartphones have taken their own route with respect to the runtime environment, I expect feature phones to adopt MIDP 3.0; to be seen is the adoption by device manufacturers. But that said, FYI, the list of new features is very good (and many of my wishes were satisfied); to mention a few:
- Backgrounds MIDlets (i.e. services) and auto-launched MIDlets
- Enhanced storage management w/ support for record tagging/labels and support for external, secure storage
- Access to unique device IDs such as UUIDs and IMEI (to better manage deployment instances)
- New UI functionality such as support for splash, idle screen and screenisavers, text input into Canvas elements, tables, tabbed panes, splash screen, scalable images and animated GIF, menus and form layouts, other
- Support for libraries — now you can decouple common infrastructure components from the app and into libraries that can be shared across apps
- MIDlet concurrency and inter-MIDlet communication
- Support for application and system eventing (from the system events such as low-battery, etc)
- HTTP support for PUT and DELETE in support for REST-like web services
- IPv6 URLs, file selectors, and other
- Migration path to CDC
- A number of clarifications that I hope helps reduce ambiguities that previously permitted inconsistent implementations
- …and other
Related to this see JSR 271: Mobile Information Device Profile 3 – Proposed Final Draft.
Disclaimer: I was a member of the expert group that defined MIDP 3.0, so I am obviously a bit biased to see this succeed and at the same time very pleased with the set of features that made it to the next generation of the Mobile Information Device Profile (Java ME).