SearchMobileComputing.com has assembled a team of experts and asked them to weigh the good and bad of each mobile platform. On the fourth Wednesday of each month, we'll present the pluses and minuses of a different platform. With this series of stories, we hope to help you choose the platform that's right for your company and help you cast aside those that may not fit your needs.
Part 6: J2ME
As a platform, J2ME, or Java ME, is used on mostly consumer devices. It has gained minor traction in the enterprise, but its many flavors can create headaches.
Great for gaming and for some functions on consumer feature phones, J2ME, also known as Java ME, has a decent proliferation as an enterprise mobile device platform as well.
But much like mobile Linux, Java is hindered by its many flavors. J2ME implementations on one type of device may not work on another, or even on a newer model of the same device it worked on before.
While J2ME is not an operating system, it is indeed a platform, according to Jack Gold, president and founder of J. Gold Associates, a Northborough, Mass.-based research and advisory firm with a strong focus on mobility.
"It's certainly not an operating system, per se," he said. "But it is a platform in the sense that you develop something to it."
J2ME rides on top of the operating system. As Gold said, "it's not the guts of the device, it's a layer above the guts."
Still, many enterprises use Java and are familiar with its quirks. In that case, it makes perfect sense.
"There are a lot of enterprises looking at Java, especially ones that want to run with Linux devices," Gold said.
Also, several enterprises may be using J2ME and don't realize it, said Michael King, a research director at Gartner Inc.
"Anything running on a BlackBerry that's not email is Java-based," he said.
According to King, the main selling point for J2ME is that it's lightweight and has a simple methodology for designing applications. Because it is lightweight, it requires very little storage.
And though mobile Java is still mostly a consumer platform, there are instances where an enterprise can benefit, King said.
"It makes sense if you have a large number of consumers you're trying to address through an application," he said.
For example, King said, if Time Warner Inc. wanted to send or receive information from various devices about television viewing patterns it would run a Java application. Since it works on a number of devices, contacting customers through the application would hit a larger number of people.
"It's a good thing to use if you have little to no control over the devices that are going to be running your application," he said.
There are a few key applications that perform well in a J2ME environment, namely those from SAP AG, Oracle Corp. and IBM. That application integration signals that Java may not be strictly for consumers looking to play the latest games.
What holds Java back is similar to what keeps Linux from infiltrating the enterprise as a viable mobile platform: Java can take many different shapes. Again, King said J2ME's ability to work with varying devices is a double-edged sword.
"The fundamental bigger problem with J2ME is, because it's not truly standard, implementations are different on different devices," he said, adding that many enterprises can be left questioning "What does it run on? Will it run or run the same on different devices?"
In a company with a deployment of several different devices, that could create issues, since applications written to Java would have to be tested and tweaked for each, creating more work and potentially introducing performance issues if it is not tweaked just right.
"If you write an application, you have to test it on every J2ME device you want to deploy to," Gold said. "If you buy new devices, that requires more testing."
Also, J2ME doesn't interact with many applications in an effective way, Gold said.
"If I have multiple applications running, they may not interact appropriately," he said.
King added that J2ME doesn't appear to scale well enough for the enterprise and lacks provisions for application management and testing.
According to C. Enrique Ortiz, an independent technology consultant and J2ME expert, mobile Java is already available on many consumer cell phones. It has yet to hit its mark with smartphones and PDAs, however, aside from Blackberry.
"Enterprises focus on certain handsets and very few of those handsets support Java," he said. "That's really why the enterprise has not been ready."
But J2ME's dominance as a cell phone platform could open enterprise doors eventually, Ortiz added.
In coming months, he said, new Java handsets will become available that have some smartphone functionality, like messaging and location.
Still, Java is increasingly popular on a consumer level, and consumer popularity often finds its way into the enterprise.
"J2ME has been around for a while already," he said. "It has become so mainstream."
While J2ME may not be fully ready to infiltrate the enterprise, King said that doesn't mean it will disappear altogether.
"Given the prevalence of Blackberrys, I don't think Java is going to dry up and blow away," he said.
But in order to make itself a solid contender among other enterprise-ready platforms, J2ME must in some way standardize and find its niche in the smartphone and PDA markets.
Also, familiarity with Java may help it push its way into enterprises. Many companies already use Java in some form, mobile or otherwise. Since mastering Java is half the battle, J2ME could be a logical next step.
"If you're an enterprise that's already using Java in some capacity, it may make sense for you," Gold said. "A number of organisations are familiar with Java."