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

Java has come a long way in its short life. Linux just celebrated its 10-year anniversary; for Java that milestone is still more than three years away. Who really understood, seven years ago, that Java would become the standard platform for delivering content over the Internet and for running applications on mobile phones - even the de facto platform for future smart-card technology? And what will the next few years bring for Java?

In the information appliance space we see a proliferation of different devices: PDAs, smart phones, Web tablets, in-car Internet access, games consoles, set-top boxes, home servers, wireless enterprise devices for vertical markets, and countless embedded devices with Internet access. Emerging wireless and display technologies are driving the capabilities of these devices forward.

As a result, application demands on the underlying operating system and platform are increasing dramatically. Multitasking is no longer optional; future devices must be capable of simultaneously handling 1-100 megabit wireless data streams, providing immediate response to a user action while smoothly playing a background multimedia stream. And all this using a featherlight battery pack - no 2GHz 70 watt Pentium 4 in these devices.

With this proliferation of devices, and a bewildering number of operating system choices, Java is emerging as the common platform standard that developers can use to ensure portability across different devices. Historically, however, Java hasn't been a major player in the information appliance space. What's changed?

In theory, solving the "too big, too slow" reputation that Java gained in its early days is easy: make it smaller and make it faster. For small devices this is exactly what J2ME has done. J2ME has emerged as the preferred solution to the problem of running Java applications on devices with restricted functionality. With a limited API, well suited for devices such as mobile phones, J2ME CLDC offers a viable platform for devices with processor speeds around 50MHz, and memory footprints well under 1MB.

For more powerful wireless appliances, there are many options: accelerated PersonalJava and J2ME CDC JVM technologies for Windows CE, Palm OS, Wind River, and others; various flavors of Java on various flavors of Linux; and now a full J2SE-based OS from SavaJe. The Java bandwagon in the IA space is sturdy. And it's rolling with recent announcements by major players such as DoCoMo, Motorola, Nokia, and Sharp, which have started shipping or have announced wireless devices with J2ME and PersonalJava capabilities.

What of the future, and should you write to J2ME CLDC, J2ME CDC, or J2SE? Moore's Law suggests that wireless handheld devices will get more and more powerful. Today's iPAQ contains the computing power of a three-year-old PC. Will everything eventually run J2SE (or will it be Java 3 by then)?

Unlikely. Only you know whether your application needs J2ME or J2SE. It's as much about what the target device is capable of as it is about your application's functionality. J2ME is the right choice for many applications running on phones, embedded devices, or toys, where you don't want or need AWT (let alone Swing), J2SE security, and programming APIs as diverse as Java Collections and IEEE floating point libraries.

J2ME is a great platform for small devices, but give me a powerful PDA, an enterprise wireless terminal, or a Web tablet, and I want more - a lot more. In a wireless PDA I want a phone, pager, PDA, e-mail device, an Internet-access device with high-resolution color display, all rolled into a single package the size and weight of a Palm m505.

I want to see applications written with the rich and flexible UI of Swing and Java 2D. I expect to rely on full security for wireless networking, end to end. I want seamless Internet and voice communications over wide-area networks, personal wireless networks, and corporate LANs. Certainly a number of J2SE subset/J2ME superset profiles are moving along the JSR process, but I want a full version of Java and complete applications portability, not a subset.

We shouldn't proliferate multiple flavors of J2ME. It hurts application portability and it dilutes the powerful message of the Java platform. Looking to the future I see a huge population of small devices running "fit for purpose" J2ME, and more powerful wireless devices with QVGA+ displays, 200MHz+ CPUs, and 32MB+ memory running J2SE applications - the same application in your car, on your desktop, or on your wireless PDA.

The exciting thing about today's information appliances is that, for the first time, we have the opportunity to develop and deploy powerful Java applications on a wide range of devices - from smart card to mobile phone, from PDA to PC. Both J2ME and J2SE can be used to build applications for these devices: match the device capabilities and your application API requirements to determine which to use.

So I, for one, am looking forward to Java's tenth anniversary - and Java 3 Standard Edition Plus on my mobile phone/PDA/Web tablet voice-activated gizmo.

Author Bio
George Grey is CEO of SavaJe Technologies Inc., producer of SavaJe XE, an operating system for information appliances with J2SE support and bundled applications. Previously he was CEO of Psion USA; before that he founded and built Tadpole Technology, developer of the notebook-sized SPARC computer. [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.