|
Newsletters
|
|
|
|
|
Wireless Devices - Java's Next Home
By Dr. Jeff Capone CTO, Aligo Inc., April 2002
Printer Friendly Version
Software that leapfrogs the intelligence and usability of wireless devices is quite a
captivating pitch. Yet, we should not forget a similarly proffered claim regarding Java
on PCs when it became mainstream in 1995; ultimately, it never took off on the client
side, even though it enjoyed tremendous success on the server side that resulted in a
dedicated and growing base of developers. So what could possibly make a mobile and
Java combination so much more compelling and captivating than its failed union with
the PC? Will Java truly occupy the new breed of intelligent mobile devices as its new
home? Indeed, I believe so -- and a little bit of history can help explain why.
In 1995, it was originally thought that Java's home would be client devices - the PC,
Macintosh, or any other computing platform. Developers would use Java to write OS-
independent programs (Applets) that, when included in an HTML page, could run on
client devices to enhance the user interface. Although a few Web-based applications
initially incorporated Applets, the client devices never became the home for Java. Having
Java on the client only provided marginal gains, and these gains did not outweigh the
problems for two major reasons. First, because of long download times and
incompatibilities among Java platforms (JVMs) and browsers, Web developers eschewed
Java on the client and instead concentrated application intelligence and their coding
efforts on the server side. Second, as Windows became the dominant client operating
system, developers started using the native operating system interfaces, most notably
Windows APIs, to provide advanced application functions such as better user interfaces
and off-line operation/synchronization capabilities.
Despite these problems of Java on the client, Java successfully found a home on the
server with the introduction of Java 2 Enterprise Edition (J2EE) during the Internet
revolution. Unlike clients, the operating systems and the hardware on servers remained
heterogeneous and continued to proliferate with the introduction of Linux. Java came to
the rescue by protecting the developer from operating systems' complexities. J2EE also
rapidly displaced ad-hoc server side programming (e.g., PERL, PHP) due to its inherent
advantages, including clustering/scalability, object-oriented structure, and code reuse.
As a result, Java quickly proved its exceedingly low cost of ownership to the enterprise.
In the wired world, Java improved the end-user experience to a degree, but it's on thin
wireless devices that Java will truly demonstrate its capabilities as it's faced with
security, connectivity and user interface issues. Unlike thick desktop clients, these
wireless clients have limited screen sizes and input capabilities, immature security
capabilities, and provide only intermittent connectivity to networks. Irrespective of
wireless convergence and worldwide standards, hardware and operating system
diversity continue to increase at a rate that perplexes even the most competent
developers. But once they begin to build wireless applications using Java, developers will
quickly see the exponential advantages Java offers wireless applications versus those
built for the desktop.
Mobile technologies remain at only the cusp of software innovation and true acceptance;
the ultimate catalyst will be Java on mobile devices, officially called Java 2 Micro Edition
(J2ME). J2ME advantages include superior user interfaces with graphics; the ability to
function off-line out of wireless coverage; peer-to-peer networking; and improved
security and consistency of applications across platforms and devices. For example, a
data collection application for field workers, such as job time and expense reporting,
improves significantly when offering off-line operation and periodic synchronization of
the data with the back-end system. A calendaring application could significantly benefit
from the improved UI by displaying the data in full-screen table format, a feature not
currently supported by wireless phones' WAP micro-browsers. Over-the-air application
downloads and updates combined with seamless data synchronization will finally unite
the unique advantages of both server-side and client-side application deployments for
the enterprise.
The benefits are compelling, but J2ME has a heavy load on its shoulders to replicate the
success of its J2EE counterpart. To succeed, it must bridge the large gap between
network connectivity and device capabilities. Moreover, as advances in hardware
technologies increase mobile device capabilities (such as Pocket PCs), and global
economic slowdown hinders the rollout of faster 3G wireless networks, the gap between
network connectivity and device capabilities will only widen. J2ME needs to fill this gap
by providing not only good user experience, but also providing seamless
synchronization, advanced server communications, and solid peer-to-peer
communications.
The wireless environment has created many new challenges that do not exist in the
wireline environment, most notably an ever-increasing gap between the capabilities of
devices and the bandwidth of wireless networks. J2ME is an ideal candidate to address
these unique challenges and fill the gap, making mobile devices the ideal new home for
Java. However, truly settling in to its new home will require Java to enable more than
just mobile gaming and entertainment applications; Java needs to enable corporate
vertical market applications where over-the-air provisioning, application updates,
seamless synchronization, and advanced server and peer-to-peer communications are
among the basic requirements. Java's capabilities and extensibility have never really
been in doubt. It's only a matter of time until Java nicely outfits its new home and
delivers on its wireless promise.
About the author:
Dr. Jeff Capone is a noted author and frequent speaker on mobile and Java technology.
He is currently CTO of Aligo Inc., the leading provider of Java-based mobile application
servers. Among his distinctions is the National Science Foundation CAREER Award
presented by the Next-generation Internet Project. He is an officer of the IEEE Technical
Committee on Computer Communications, and sits on the ACM/IEEE Mobile
Communication Conference and IEEE Global Communication Conference committees.
Note, this article has also appeared in "Java Developer's Journal", Feb 2002, Vol. 7 Issue 2. Article (c)2002 Aligo Inc.
and may not be retransmited or reproduced in whole or in part.
Java Home
Does your company have a solution, news, event, or scoop that WDN should know about?
Send details to editors@wirelessdevnet.com
|
|
|