MIDP 3 versus Series 60
In the mobile world, there are a number of platforms to choose from when developing applications. In the Philippines, Australian and the United Kingdom, users are used to sending Short Message Service (SMS) keywords to short codes that are attached to applications provided by Content Providers (CPs) in the backend. This method does not require any additional application to be installed in the handset. Users in the United States would prefer accessing the application over Wireless Access Protocol (WAP) which is similar to the World Wide Web (WWW). However, using SMS provides only a limited amount of interactivity and is pretty cumbersome to most users. Using WAP provides a better looking interface but still with limited interactivity and inefficient bandwidth use. Hence, the need for a fat client development environment on the mobile phone.
Today there are two (2) major players in the fat client mobile application development realm. The leader of the pack, based on handset install base, is Java 2 Mobile Edition (J2ME).
The Java Platform, Micro Edition (Java ME) provides a robust, flexible environment for applications running on consumer devices, such as mobile phones, PDAs, TV set-top boxes, printers and a broad range of other embedded devices. Like its counterparts for the enterprise (Java EE) and desktop (Java SE), Java ME includes Java virtual machines and a set of standard Java APIs defined through the Java Community Process (JCP), by expert groups whose members include leading device manufacturers, software vendors, and service providers.
The Java ME platform is deployed on millions of devices, supported by leading tool vendors, and used by companies worldwide. In short, it is the platform of choice for today’s consumer and embedded devices.
It is very well supported. But in its desire to support multiple handsets from different vendors, it does have a limited set of features. Additional features can be provided by certain phone vendors through the inclusion of the latest Java Specification Requests (JSRs). Unfortunately, this cannot be done over-the-air. By default, J2ME profiles (including the latest MIDP 2.0 profile) today only provide the most basic of features such as HTTP access and GUI support. This makes them ideal principally for mobile games. However for more advanced features, additional JSRs are needed (JSR-75 for PDA optional packages such as file picker support, JSR-135 for the Mobile Multimedia API and JSR-82 for bluetooth).
This discourages developers from developing applications that require these features. This makes J2ME not trully “write once, run anywhere”. For now.
So one of the top makers of mobile operating systems, Symbian, has decided to solve this problem by exposing a wide suite of APIs to mobile application developer. Symbian is already installed in a large number of mobile phones. However, it does not expose an API for lower-end models.
Symbian OS is the global industry standard operating system for smartphones, and is licensed to the world’s leading handset manufacturers, who account for over 85 per cent of annual worldwide mobile phone sales.
Symbian is not so universal too as it still has different flavors that are specific to particular manufacturers. There is the Series 60, 70 and 80 promoted by Nokia. There is UIQ promoted by Sony Ericsson and supported by other vendors.
Symbian providers better features but at the price of a smaller install base. This is primarily because extensible Symbian systems are found only on high-end handsets. Since, a limited number of phone have extensible Symbian platforms on them, it is definitely a smaller market slice for your products. More phone have J2ME on them but the collection of optional JSRs vary from handset to handset. This is the current mobile application developer conundrum.
With the launch of its new open source portal, Motorola is making available its MIDP 3.0 work. Some of the more interesting features of MIDP 3.0 is support for background/headless processes, IPv6, IPC, SyncML, Bluetooth, RMS stores, messaging, removable media and most importantly JSR-232. JSR-232 provides the ability to add and remove components (such as JSRs) on demand. This is definitely a big step forward for the J2ME platform. Hopefully, vendors can adopt it soon so that we can get MIDP 3.0 handsets. There will still be a bit of fragmentation in the J2ME world. But, this is good step forward.
So do you invest in MIDP 2.0 and wait for MIDP 3.0 or go Symbian?

June 4th, 2006 at 1:43 am
[…] As mobiles become more powerful, people are now able to run more and more services on them. Today, there are a number of competing technologies for the mobile application developer to choose from. Each technology is not even fully compatible within different versions of itself. The key is to get standards in place to allow application developers to write programs that can run on the most number of mobiles with the least amount of effort. Is this the new Internet frontier? […]