Abiro  - The Lab
 
Web Abiro
Java ME
   Terminology
      JSR 248 MSA
      JSR 271 MIDP 3.0
   Pros and Cons
   Get Started
   Resources
   Development Tools
   NetBeans
      Getting Started
   Applications
   Projects
      Converter Pro
      EasyCall
      Jiminy! SMS
      Jitter
      Mobile Blogger
      Unit Converter
   Directory

Linux etc

PHP
   Pros and Cons
   Resources
   Applications
   Projects

Visual Basic
   Pros and Cons
   Resources
   Projects
   Snapper

Business Opportunities
 

Java ME - Terminology

Java ME brings with it a lot of new terminology, which can confuse even seasoned developers. Here's an attempt to explain the most important ditto related to mobile phones. A lot more JSRs are candidates to be adopted for mobile phones, but that's beyond the scope of this list. See Sun's documentation for more information.

Applications can check what level of functionality is supported, and that way adapt. Of course, if fundamental functionality is not there the application won't work properly, but e.g. an email client could easily check if it's possible to attach camera snapshots to emails, and if not the base functions in the application would still work.

Term Abbreviation Versions JSR Explanation
Configuration n/a n/a n/a A set of libraries and a Java virtual machine for a category of devices. There are two configurations for Java ME: CLDC and CDC, where CLDC is totally dominating in mobile phones.
Profile n/a n/a n/a APIs built on top of a configuration to provide a runtime environment for a specific type of device. The profile relevant for mobile phones is MIDP.
Java Specification Request JSR n/a n/a All specifications that are related to Java are called JSRs, as they are initially proposed as specifications and if approved become part of the overall set of specifications for Java technology.
Java Platform, Micro Edition Java ME 2.0 68 Java comes in 3 major versions: Standard Edition, Enterprise Edition and Micro Edition. Java ME is the version intended for self-contained devices with memory and CPU restrictions, like set-top boxes, PDAs, mobile phones, washing machines, coffee machines, toys etc.
Mobile Information Device Profile MIDP 1.0, 2.0 37, 118 A special profile of Java ME for mobile phones. It supports a range of Java classes that are chosen to accomodate device independence and the UI and communication functionality needed as a bare minimum for such devices. I would argue that it's too limited, but you have to start somewhere.
Mobile Information Device Profile MIDP 3.0 271 An upcoming version of MIDP with several enhancements in the areas of concurrency, security, UI, multimedia etc. See a separate analysis of what's new in MIDP 3.0.
Connected Limited Device Configuration CLDC 1.0, 1.1 30, 139 The configuration intended for smaller devices like mobile phones. 1.1 adds floating point operations and a few other things. Many deployed phones still support only 1.0.
Connected Device Configuration CDC 1.0 36 The configuration intended for more beefy devices with less restrictions on CPU and memory capacity. There are almost no devices on the market that support CDC today.
Java Technology for the Wireless Industry JTWI 1.0 185 An aggregating specification intended to firm up the requirements on Java for specifically mobile phones, as that's the key market for Java ME and also the most fragmented one. JTWI requires MIDP 2.0, CLDC 1.0 (optionally 1.1), WMA 1.1 (SMS) and optionally MMAPI 1.1 (yet at least sound).
Wireless Messaging API WMA 1.1, 2.0 120, 205 WMA enables sending and receiving of mobile messages. 1.x supports SMS, and 2.x adds MMS.
Mobile Media API MMAPI 1.1 135 A powerful set of classes for viewing and playing multimedia files, taking photos and recording video and audio. Very few phones support the complete MMAPI specification yet, but as phones grow more powerful this is bound to change.
PDA Optional Packages (File Connection and PIM APIs) PDA 1.0 75 Adds file system and PIM database access, considerably improving the ways Java ME applications can interact with functionality and content in the phone.
Java APIs for Bluetooth n/a 1.0 82 Provides access to the Bluetooth (short-range radio) and infrared/OBEX functionality in the phone. Many implementations support only Bluetooth.
Location API n/a 1.0 179 Provides access to location/positioning information. Methods used can be GPS, E-OTD and others.
SIP API n/a 1.0 180 Enables use of Session Initiation Protocol from Java ME applications.
Security and Trust Services APIs SATSA 1.0 177 Extends the Java ME security features and enables access to the Smart/SIM card.
Mobile 3D Graphics n/a 1.0 184 Provides 3D graphics to small-memory environments.
Web Services API WSA 1.0 172 Enables Java ME applications to communicate as per web services standards (SOAP etc).
Content Handler API CHAPI 1.0 211 Allows a Java ME application to serve as a viewer/player of content provided via URIs, increasing the overall content-related functionality of the phone.
Advanced Multimedia Supplements AMMS 1.0 234 Provides additional functionality to MMAPI / JSR 135, including detailed configuration of digital cameras, radios, audio processing, etc.
Mobile Service Architecture MSA 1.0 248 Enhances the standard feature set for mobile phones by combining several important JSRs. See the separate page for MSA.
Mobile User Interface Customization API MUIC draft 258 Enables post-customisation of the lcdui-based UI widgets. It's similar to, but not compatible with, J2ME Polish's UI customization.

References

(c) 2004-2008 Abiro. All rights reserved. Terms of Service | Privacy Statement | Info Links
Site design, programming and information by Anders Borg.