Proceed to WirelessDevNet Home Page
Publications, e-books, and more! Community Tutorials Store Downloads, tools, & Freebies! IT Career Center News Home

EMail Address:

  - Articles
  - Columns
  - Training
  - Library
  - Glossary
   Career Center
  - Career Center Home
  - View Jobs
  - Post A Job
  - Resumes/CVs
  - Resource Center
  - Marketplace Home
  - Software Products
  - Wireless Market Data
  - Technical Books
  - Daily News
  - Submit News
  - Events Calendar
  - Unsubscribe
  - Delivery Options
  - Discussion Boards
  - Mailing List
  - Mailing List Archives
   About Us
  - About WirelessDevNet
  - Wireless Source Disks
  - Partners
  - About MindSites Group
  - Advertising Information

  • Will J2ME Deliver?

    By John Drewry, vice president of marketing, Orative
    A new wave of Java-enabled mobile phones supporting the much-anticipated J2ME MIDP 2.0 specification will be shipping by the holidays. Those who are hopeful that this latest crop of phones will usher in a new era of rich applications for mobile phones may be disappointed -- at least for now.

    With well over one billion mobile phones in operation worldwide, and more than 400 million new phones expected to ship this year, it is no wonder that software developers are eager to tap new market opportunities and expand software development for these devices. Yet while the opportunity has been large for some time, the industry has had difficulty delivering more than simple applications beyond ring tones and games. Why is this?

    Part of the issue is complexity. Unlike software running on PCs and increasingly PDAs, the mobile phone industry lacks a dominant operating system or platform. This means that third party developers have had to learn the intricacies of each phone platform before writing code for a given handset. This has historically forced developers to invest in tedious customization of their application software for each phone manufacturer, and in many cases, for different phones from a given manufacturer.

    A couple years ago, the industry rallied around Java as a potential solution to this porting problem. The release of the Java 2 Platform, Micro Edition (J2ME) specification in September 2000 promised software developers the hope of finally achieving device independence for applications running on mobile phones. J2ME is a slimmed down member of the Java family that specifically targets the needs of mobile phones and embedded devices that have limited capabilities in terms of display, memory and processing. Like its Java siblings, J2ME promised to lower development costs by offering "write once, run anywhere" capability. Additionally, J2ME simplified application creation by leveraging a platform that was already familiar to millions of Java programmers worldwide.

    On the surface, J2ME appeared to provide the perfect solution. In addition to benefiting developers, J2ME also promised significant advantages for handset manufacturers, mobile network operators, and end users. To handset manufacturers, J2ME offered an opportunity to foster a large and prolific development community that could deliver new and value-added functionality for their devices. To network operators, J2ME offered an opportunity to push new applications that would drive increased usage for recently deployed data services. And finally, to end users, J2ME offered an opportunity to turn the phone into a multipurpose device similar to a PC or PDA, and expand the basic functionality beyond simple voice calling.

    It is no surprise that J2ME has won broad industry support. According to Sun Microsystems, J2ME is supported by over 94 million handsets operating on over 53 different mobile networks. However, despite widespread availability and broad industry support, J2ME has not ushered in a new era in mobile application development. For evidence, all one needs to do is browse the Web for lists of available downloads for popular phones. What we have is more of the same - games, ring tones, and a few personal productivity applications such as enhanced calculators and schedules. Even though the latest version of J2ME will facilitate over-the-air application downloads and has enhanced multimedia support, these improvements are unlikely to stimulate breakthroughs in application development. Why not?

    The answer lies in the fragmented nature of the Java ecosystem, and in crippling implementations of the J2ME "sandbox". Even though J2ME specifications are managed under the Java Community Process (JCP), this loosely organized body championed by Sun Microsystems may be ill suited to serve the needs of the mobile industry. Key components of the specification have only emerged slowly, and others remain in development. Not satisfied with the pace of the JCP, some participants have launched products with proprietary tweaks that resemble the vendor-specific approaches of the past. While this allows handset manufacturers to add critical functionality to a given phone in a timely manner, it reinforces ongoing device incompatibilities. Ultimately, this threatens to undermine the advantages of J2ME, and encourages software developers to look for better solutions elsewhere.

    The J2ME "sandbox" issue is potentially more troublesome. The sandbox is an attribute of the J2ME Connected Limited Device Configuration (CLDC) that protects the mobile phone from security threats posed by malicious code or viruses that an end user could reportedly download to a phone. Potential problems arising from these security threats range from crashing the phone to automatically dialing unobserved calls to far-off places. To prevent this, J2ME operates a virtual sandbox that runs each application in a tightly constrained environment separated from other applications as well as from underlying system resources. All interactions with native functionality occur via Application Programming Interfaces (APIs) that are available within the sandbox, rather than directly.

    In theory, this approach delivers much needed protection, and does help secure the mobile phone environment from some unpleasant attacks. However, in practice, the standard APIs specified in J2ME CLDC are too limiting to support the robust applications that many in the industry expected from Java. For example, no APIs are available to access basic phone features such as placing or receiving a call and adding or editing a phone book entry. Even though handset manufacturers have the ability to add incremental, device-specific APIs to the sandbox, they have been reluctant to enable APIs to the underlying phone functionality. For the most part, incremental APIs relate only to multimedia functionality, basic messaging, and graphics designed to optimize game performance.

    Fortunately, there is time for the mobile phone industry to address the current shortcomings in J2ME implementations. Alternatives such as BREW, Symbian, and Microsoft do not have either the scale or the independence today to provide an industry wide solution. However, changes must begin soon in order to prevent application developers from losing confidence in the platform. Ongoing limitations in J2ME will only reinforce industry fragmentation and delay future application proliferation. This harms not only application developers, but also mobile network operators, handset manufacturers, and ultimately, end users. By cooperating to resolve the current weaknesses in J2ME, industry participants can foster a common platform that lives up to its early promise thereby benefiting everyone.

    About the Author
    John Drewry is the vice president of marketing at Orative, a company developing mobile enterprise software. John has more than 13 years of marketing, strategy and business development experience in wireless and networking industries. Most recently, John served as senior director of strategy and business development at 3Com responsible for the company’s LAN switch, IP-PBX and wireless businesses.

    Does your company have breaking news, a solution, event, or scoop that WDN should know about?
    Send details to



    Eliminate irrelevant hits with our industry-specific search engine!

    Wireless Developer Network - A MindSites Group Trade Community
    Copyright© 2000-2010 MindSites Group / Privacy Policy
    Send Comments to: