HomeDigital EditionSys-Con RadioSearch Java Cd
Advanced Java AWT Book Reviews/Excerpts Client Server Corba Editorials Embedded Java Enterprise Java IDE's Industry Watch Integration Interviews Java Applet Java & Databases Java & Web Services Java Fundamentals Java Native Interface Java Servlets Java Beans J2ME Libraries .NET Object Orientation Observations/IMHO Product Reviews Scalability & Performance Security Server Side Source Code Straight Talking Swing Threads Using Java with others Wireless XML

Sun has poured a lot of resources into the Java 2 Micro Edition platform, recognizing that the next battleground will be the ubiquitous consumer device. Whether J2ME can make the huge impact that Sun (and the developer community) hopes for is still an open question, as the current rate of adoption has been underwhelming thus far.

All the major OEMs have announced big plans for J2ME, and although the sluggish economy of late can be factored in as one reason for J2ME's slow growth, there are several other contributing factors. I'd like to offer some suggestions about what's wrong and how to fix it.

1.   Supply and demand disconnect
It's been noted that although most of the major financial firms have rolled out wireless products to allow their customers to trade using their PDAs or other consumer devices, demand from customers has been almost nonexistent. Vendors' attempts to drive demand is not new major software manufacturers have been doing it for years. Many people probably have enough AOL disks to tile their bathroom.

In the case of financial institutions, it's particularly ironic. For years the sage advice has been to get in the market and stay in, don't try to time it. Yet if I have to execute a trade in the cab, it's a sure bet I'm a market timer.

New technologies typically have a first-generation incarnation centered on games, as is the case with J2ME. Yet, more than one company that focused on this market has already gone belly-up. Once it's demonstrated that the functionality for more compelling applications exists, the games become somewhat of a yawn. While the PS2 and Nintendo games certainly have mileage left in them, there are two important differences. These devices are built specifically for gaming, and while they're adding other functionality, the core functionality remains just that. In addition, it will be a long time before portable consumer devices have anywhere near the fire power to present graphics or redraw rates that cause similar jaw-dropping reactions. (Nor have I heard of any OEMs planning a phone with a 27-inch screen anytime soon.) I'm not saying that you can't make money on games, simply that a mature market for J2ME will mean far more than just games.

It's time that vendors who are focused on J2ME get beyond games and on to those applications that provide unique value precisely because they are for the phone.

2.   Carrier reticence
Even though carriers and vendors may know what consumers want and have the ability to provide it, doing it is quite another matter. For years, carriers have thought that their network was everything. They've spent lots of capital building these networks, and anything or anyone that could possibly cause a disruption was not an ally but a threat so developers are viewed in the eyes of some carriers. They don't want applications sucking up bandwidth from paying (phone) customers.

Nextel was the first carrier in North America to support J2ME, yet they haven't exactly smoothed the road for developers to get their apps out there in the hands of the public. To be fair, there are concerns that need to be addressed. An application that causes grief for a phone customer may end up costing the carrier valuable support resources. However, the way around this has been to subject developers to high entry barriers in order to get their applications out. Nextel has a hefty certification fee that you must pay to have an application checked for any rogue code (although assessing the fee is at the discretion of Nextel). However, J2ME's security model is such that it's very difficult to do anything that would impair the hardware in any major way. Indeed, functionality outside of J2ME is not accessible to a J2ME application. By requiring some basic compliance, such as timeout values for connections, misuse of the network could be bypassed quite easily.

The other mindset is that end users will want to buy applications for their devices. Carriers need to realize that selling applications as software is a dead-end business. They've been providing voice service for years; why can't they use the same model for applications and treat them as services? The example of NTT DoCoMo in Japan is quite compelling their service is structured just that way. If a user wants to access an application, he or she pays a few yen per minute for it. The key difference is that they treat this as a service, rather than seeing themselves as software vendors. NTT regards the network as a conduit for the service, not the service itself. As a result, their pattern of thinking is completely different from that of carriers in North America.

Competition is good, and it will be quite interesting to see what happens when Sprint enters the fray later this year with their J2ME support. We can hope that it will be a boon for the developer community as well as for more widespread use of J2ME.

3.   Location-based services
It's been said that the killer app for phones is the Short Message Service (SMS). This may be the case at present, but even SMS is not unique to phones. Using Instant Messaging on the desktop is pretty much the same thing, albeit from a fixed location. What distinguishes location-based services for the phone is that it's unique to the device. If I'm at a certain corner of the city and want to know where the nearest post office is, or where the nearest outlet to purchase concert tickets may be, it's a huge convenience if my phone can determine where I am and direct me to my goal.

These services do exist, but there's simply no API available for the J2ME developer to get at them. The phone knows where it is all the time, at least within a certain triangle of cell towers. By providing this information to the programmer, the carriers would be doing a huge service to their customer base. Location-based services could be the thing that persuades consumers to buy a particular phone model, or to sign on with a given carrier simply because they have the most compelling services.

There are significant challenges to the widespread adoption of J2ME. Yet Java's position as not simply a programming language makes it uniquely positioned to take advantage of mobile device programming. A phone or PDA running Java becomes not only a convenient piece of hardware, but a node in a network that takes full advantage of the entire Java environment. What is needed is closer cooperation between the carriers and the developer community in order to bring applications to market that will be a win for both sides.

Author Bio
Matthew Ferris is the mid-west editor of Wireless Business & Technology and the president of the Chicago Wireless Developer User Group. [email protected]

All Rights Reserved
Copyright ©  2004 SYS-CON Media, Inc.
  E-mail: [email protected]

Java and Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. SYS-CON Publications, Inc. is independent of Sun Microsystems, Inc.