Java will be (is) one of the core platforms for mobile applications. MIDP2/CLDC is the current flavor of Java and has been around for a few years but it’s rather restricted. Even though Mobile Service Architecture, JSR 248, will bring more power to the platform in the form of new APIs, there are still fundamental issues that must be resolved. One of those issues is the poor UI-libraries in MIDP2.

The UI library in MIDP2 is basically designed for the lowest common denominator of devices that can run MIDP2. They are very simple (with the possible exception of the powerful CustomItem) and there’s not that many GUI components available for a developer. Add to that the fact that different manufacturers have implemented the library in different ways making it almost impossible to create a MIDP2 application based on the UI libraries in MIDP with a consistent behavior between the devices on the market.

No wonder all of the most successful java applications are written using an empty canvas with home made GUI components on top. That’s also the reason we see great new SDKs and UI libraries such as TWUIK to save developers the effort of writing their own UI classes.

There are a few initiatives on the way to remedy the situation. The successor to MIDP2 is MIDP3 (duh), there’s the Advanced Graphics and UI Optional Package (AGUI, though any API with the word “Advanced” in them should be avoided, the same goes for “Optional”) and there’s the open sourced, Eclipse-based eSWT, one of the components of ERCP.

Now, one should be aware of the fact that the MIDP3 API and the AGUI API are both defined by the Java Community Process (JCP). eSWT, on the other hand, is not. It is an open sourced community effort including IBM and Nokia. Sony Ericsson has always been committed to the JCP, so the silent announcement on the eSWT mailing list is noteworthy for more reasons than one. Gorkem Ercan writes:

Yesterday, we have received the first welcome mail to dsdp-ercp-dev list from SonyEricsson. They are now working to get eSWT to their mobile phones. Moreover, they have started to participate in the project as well.

The path mobile Java takes will have huge consequences for how the mobile web will look in a few years. Remember, this is an application platform that’s already in over a billion mobile devices. Unfortunately it’s a far from optimal ecosystem, making it difficult to distribute applications. There’s just so much creativity waiting to be unleashed the moment this ecosystem becomes more fertile. We will see an explosion of innovation that will mirror how the PC industry boomed during the 80s and the internet during the 90s.

The big difference is that, even though the PC became popular in the 80s, the mobile phone count is approaching 3 billion. This number will make the PC boom of the 80s look like a firecracker next to an atomic bomb. (There were ~48 million IMB/PCs sold during the 80s - the entire decade. That many phones are sold in about 2.5 weeks world wide, assuming a number of ~1 billion/year.)

So, watch history unfold and keep your eyes on where mobile Java is going. MIDP2/CLDC is sort of like MS-DOS was for the IBM/PC. We’re still waiting for Windows to come along. When that happens, the telecom market will be changed forever. The announcement by Sony Ericsson is a small but significant piece of the puzzle in what will become the mobile web framework of the future.