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
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
Matthew Ferris is the mid-west editor of Wireless Business & Technology and
the president of the Chicago Wireless Developer User Group.