, Sun's Java for cell phones, called the mobile information device profile, or MIDP, is used in half the world's 1.4 billion phones for downloading other bits of software. But writing a program that can run on any handset still isn't possible.
It's an odd by-product of Java's success in the cell phone market. Ironing out the details of software such as the MIDP takes time, and neither the cell phone makers nor service providers have been willing to wait as they pump out the 700 million or so cell phones sold each year.
Sun's Java for cell phones was supposed to let developers write a single program that could run on any handset. That's never come to pass.
It's becoming clear to Sun engineers that the ultimate goal of "write once, run anywhere" may never be fully realized because the cell phone market is simply too diverse. Still, Java has helped the industry make tremendous strides.
Instead, Nokia, Motorola and other handset makers have built devices using their own fixes for MIDP.
Though that's understandable, since they have to deal with the immediate needs of the market, their actions have played a major role in sullying the "write once, run anywhere" promise of MIDP, say Sun executives and developers of cell phone software. That means that the extra costs and development time associated with creating multiple versions of the same software find their way into nearly every corner of the cell phone industry, from the price of handsets to the price for downloading a ring tone.
"Fragmentation is the one major roadblock that could mean the difference between success and failure for developers embracing this market," Allen Lau, chief technology officer at Tira Wireless, wrote in an article in the trade publication Java World.
What was billed ashas turned into quicksand, quipped developers attending Sun's recent JavaOne confab in San Francisco. None were louder than representatives of Nokia, which sells about a third of the world's cell phones, nearly every one with Java inside.
"Defragmentation remains a major issue," Nokia Chief Technology Officer Pertti Korhonen said during a recent speech to Java developers. "We need to reduce the fragmentation effect because interoperability is critical for today's mass market devices. We need to simplify the standard, and use open, fair and predictable licensing terms for the technology."
Though the cell phone industry has made tremendous strides in the last two years, it's becoming clear to engineers at Sun that the ultimate goal of "write once, run anywhere" may never be fully realized because the cell phone market is simply too diverse, said Eric Chu, a Sun senior director who played a role in much of the early MIDP development.
Sun's efforts to end the fragmentation problems have so far come up short. Just about every year the company has had another way to attack the problem. The latest attempt involves the Java Verified program, which was created several months ago to certify cell phone software and ensure that it runs on different companies' phones.
It's a radical change from past practices, when applications had to be tested by each handset maker in order to ensure the coding was bug-free and at a certain quality level. But it's too early to say how well the new program is working.
Great promise, mixed results
The MIDP standard, based on , or J2ME, was developed collaboratively by Sun and more than 20 cell phone companies. The goal was to provide the cell phone industry with a