3G mobile phone networks will offer far more than voice capabilities, and even more than data services. They'll offer the ability to roll out new applications that run directly on phones, for instant messaging, positional location, interactive commerce, and not-so-serious stuff like entertainment and games.
Today, Qualcomm's Binary Runtime Environment for Wireless (BREW) and Sun's Java 2 Micro Edition (J2ME) are the best candidates for delivering and running applications on mobile platforms such as phone and PDAs.
BREW and Java will compete on a common execution platform, as well as through billing methods that charge for value-added services and applications at rates above and beyond simple airtime minutes.
But I believe J2ME has an early, overwhelming, and perhaps insurmountable lead in the developer community.
Developers need to write to a platform that can be deployed on virtually every phone. In that regard, BREW and Java are on equal footing: Both can be deployed on virtually all 3G devices and there are free software distribution kits for both, too. Developers also need the ability to monetize their work--that is, to distribute and sell their applications. Here, BREW has the edge. It provides both a software development kit and a distribution system.
J2ME lacks a distribution and billing system. Carriers have to build their own infrastructures for deploying Java apps and figure out how to bill for their use, or turn to third parties such as Tira Wireless to handle the task for them.
BREW appears to be better technology for monetizing mobile applications. It was conceived specifically for devices such as mobile phones--unlike Java, which is a more general tool. BREW actually works with Java; Java developers can use BREW APIs thanks to Qualcomm's bundling of IBM's J9 Java virtual machine with the software.
BREW could succeed on its merits, but the best technology doesn't always win. In our industry, 100VG-AnyLAN was better technology than 100Base-T, but its developer, Hewlett-Packard, was unable to evangelize it and get it widely adopted. BREW seems to be cast from a similar mold. Verizon is about to roll out BREW services nationwide, but it's the only major US carrier to do so. The others are focusing on Java, while Japan's NTT DoCoMo has already begun offering Java services.
BREW's chief virtue is that it puts a common development, deployment, and billing infrastructure in place so that carriers don't have to build their own, allowing carriers and application developers to bring products to market quickly. That means that if BREW is to succeed, it must do so quickly, because in two or three years, US carriers will have an opportunity to build their own infrastructures just as NTT DoCoMo has done. Today, the most likely candidate for a base on which they'll build them seems to be J2ME.
Java, on the other hand, has no such deadline. It has already achieved critical mass as a development platform. So while BREW may or may not be successful in the short term, J2ME looks like a winner in the long run.