Proceed to WirelessDevNet Home Page
Publications, e-books, and more! Community Tutorials Store Downloads, tools, & Freebies! IT Career Center News Home
newnav.gif

Newsletters
EMail Address:



   Content
  - Articles
  - Columns
  - Training
  - Library
  - Glossary
 
   Career Center
  - Career Center Home
  - View Jobs
  - Post A Job
  - Resumes/CVs
  - Resource Center
 
   Marketplace
  - Marketplace Home
  - Software Products
  - Wireless Market Data
  - Technical Books
 
   News
  - Daily News
  - Submit News
  - Events Calendar
  - Unsubscribe
  - Delivery Options
 
   Community
  - Discussion Boards
  - Mailing List
  - Mailing List Archives
 
   About Us
  - About WirelessDevNet
  - Wireless Source Disks
  - Partners
  - About MindSites Group
  - Advertising Information
 

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


Sponsors

Search

Eliminate irrelevant hits with our industry-specific search engine!









Wireless Developer Network - A MindSites Group Trade Community
Copyright© 2000-2010 MindSites Group / Privacy Policy
Send Comments to:
feedback@wirelessdevnet.com