Introduction to the Wireless World (Part 2)

WirelessDevNet.com managing editor Bryan Morgan will be a regular contributor to InformIT on wireless application development topics. This second article in a two-part introduction presents the mobile platform options currently available on the market.

This second article in a two-part introduction presents the mobile platform
options currently available on the market.

Bryan Morgan is the founder and managing editor of the Wireless Developer
Network (http://www.wirelessdevnet.com).
He is a regular contributor to InformIT on wireless application development
topics.

The previous article in this series addressed the basics of wireless application
development, specifically the difference between wireless and mobile apps, communications
options, and some of the unique issues that must be addressed in the development
process. This article delves a bit deeper, concluding our gentle introduction
to the wireless world—from here on out, we'll tackle real development issues
using tools/technologies such as Java 2 Micro Edition, WAP, PalmOS, Windows
CE, Symbian, VoiceXML, and SMS. But let's not get ahead of ourselves! First
I'd like to take the time to present the basics of these technologies. I'll
strive to point out the pros and cons of each, in hopes of equipping you with
the proper tools to make a good evaluation of the competing technologies.

Mobile Computing Platforms

In general, when the term mobile computing is mentioned, most people
immediately think of a Personal Digital Assistant (PDA). The Apple
Newton was the first popular device in this category, but the market share is
currently dominated by four major players: Palm, Handspring, Microsoft, and
Symbian. Palm and Handspring (and other devices from companies such as Sony)
run the PalmOS, so I'll lump them together in the same category for the purposes
of this discussion. Microsoft backs the Windows CE operating system (WinCE for
short); several traditional PC manufacturers (such as Hewlett-Packard and Compaq)
also make "Pocket PC" devices that run the WinCE operating system.
Symbian was established
by Ericsson, Motorola, Nokia, Psion, and Matsushita in order to develop a mass
market for wireless information devices. All of these devices can operate in
a "disconnected" fashion (that is, no communications capabilities).
Data accumulated on the device can be synchronized with a server application
through the construction of "conduits" installed on the desktop or
on an enterprise server.

The PalmOS currently holds a commanding lead in the marketplace, primarily
because of the principles behind its design: It doesn't try to do everything,
but what it does, it does very well. The PalmOS includes a number of useful
utilities as well as features such as API support for device database access,
networking, and graphics. Most professional PalmOS applications are written
in C, using tools such as Metrowerks' Code
Warrior, but many enterprise applications are built using tools such as
Aether Software's ScoutWeb,
the @Hand Software Platform,
and Pumatech's Satellite Forms.
Palm devices are also a favorite of corporate IT shops, so it's likely that
your first mobile app will be targeted for this platform. Its primary drawbacks
are that it's not a multitasking OS, and the hardware it runs on is traditionally
underpowered when compared to that of its competitors (WinCE and Symbian). If
you want multimedia capabilities or sophisticated number-crunching power, you
should probably look elsewhere.

Microsoft Windows CE is currently in its third major version and supports many
of the same features as the PalmOS (handwriting recognition, a suite of standard
applications, synchronization with desktop/enterprise databases, and so on).
Windows developers will be pleased to know that Microsoft makes WinCE versions
of the most popular developer tools for this platform, namely Visual C++ and
Visual Basic. Windows CE also supports COM and (limited) ADO database access;
so, for the seasoned Windows developer, this platform offers a small learning
curve. Windows CE devices support multimedia playback and in the future will
even include a mobile version of Microsoft's SQL Server database, making data
syncing tasks a snap (we assume). Unfortunately, with this extra power comes
a tradeoff in battery life. Many users also complain that the WinCE user interface
is nonintuitive, so be sure to do some user testing before choosing this platform.

The Symbian platform (formerly known as EPOC) is, technically speaking, the
most advanced and most promising of the three mentioned here. C++, Java, WAP,
and Web development are natively supported on the platform, which runs on ARM-architecture
processors. While the Symbian platform is promising, until devices are readily
available it's difficult to forecast how successful it will be in the coming
months and years.