Microsoft’s Windows Mobile
Windows Mobile, derived from Windows CE (originally released in 1996), provides a subset of the Microsoft Windows APIs on a
compact real-time operating system designed for mobile computing devices and wireless terminals. After several false starts
on stand-alone PDAs, Windows Mobile has enjoyed reasonable success on a number of PDAs and handsets, perhaps most notably the
Motorola Q and some Treo devices.
As with Palm devices and BlackBerrys, data synchronization between traditional personal computers is key. Microsoft provides
the ActiveSync technology for synchronization for both personal and enterprise users. Moreover, the current version of
Microsoft Windows Mobile is a versatile platform for developers, permitting application development in C or C++ as well as
supporting managed code with the .NET Compact Framework.
The Windows Mobile platform continues to evolve—version 6.1 is expected this year–with active support from Microsoft and
acceptance by licensees around the world.
Sun’s Java Mobile Edition (Java ME)
Sun’s Java Mobile Edition—previously J2ME—is a platform spanning lightweight mobile devices and other nontraditional computing devices including set-top boxes and media devices. With dozens of licensees, it has achieved wide commercial success, in large part due to Sun’s aggressive and open marketing and licensing model. Once promising “write once, run anywhere” to software developers, Java ME skills remain perhaps the most transferable from device to device, because lower-level languages such as C or C++ on other platforms require intimate knowledge of platform-specific APIs such as those found in Windows Mobile or Palm OS.
|Sun has achieved wide commercial success, in large part due to their aggressive and open marketing and licensing model. |
Java ME is divided into configurations, which permit the attribution of different sets of APIs to devices of differing
capabilities. Today, the two significant Java ME configurations are the Mobile Information Device Profile (MIDP), found on
cell phones, PDAs, and other mobile devices, and the Connected Device Configuration, divided up into profiles depending on
the capabilities of the target platform. Many tools exist for Java ME development, including the Eclipse and NetBeans
integrated development environments.
Java ME enjoys wide use as a platform for deploying entertainment applications to mobile phones, and to a lesser extent,
productivity and enterprise applications as well. Sun continues active development on the Java platform including Java ME as
a leader in the Java Community Process (JCP), a mechanism for proposing standard additions to the Java platform. A close
examination of both the Java SE and Java ME platforms show a great deal of convergence, as a growing number of interfaces
migrate between the two platforms.
Java ME applications may be distributed on-deck—that is, by the carrier itself—or off-deck via application download using the
mobile device’s Web browser. This provides distribution flexibility on the part of the developer, because carrier
relationships need not be struck, but can put the onus of billing on the carrier as well. Recently, Java ME added application
signing to their MIDP implementation, meaning that applications for distribution that use specific features such as access to
the local file system via JSR-75 typically must be signed and certified by carriers prior to distribution. This model is
effective, but considerably more complex than the Qualcomm Brew model, because differing carriers accept certificates applied
by different testing authorities.
Qualcomm Brew, a component-oriented platform in which developers write applications using C and C++ has been widely accepted
by some carriers, including Verizon Wireless. Unlike other mobile computing platforms, which provide client-only solutions
for mobile devices, BREW provides both a server-side infrastructure, used by carriers to deploy applications to mobile
devices, and the mobile client consisting of a set of components, application manager, and mobile shopping mall with which to
download new applications.
Brew has enjoyed considerable success in the US and Japan as a result of Qualcomm’s deep entrenchment in the Code Division
Multiple Access (CDMA) marketplace and close relationship with major CDMA carriers including Verizon Wireless and KDDI
Corporation. Consequently, millions of devices have the Brew layer available for mobile application developers to leverage in
deploying information, productivity, and other applications.
The key to Brew is the distribution model, in which all applications must be signed, vetted by a third party, and distributed
only by the carrier through Qualcomm’s Brew server infrastructure. This approach has advantages and disadvantages, depending
on how you look at things: tight control for carriers, integrated billing for developers, and an often-steep business process
for market entry for many new developers. However, this approach has enabled Brew to solve a key problem for application
deployment to consumers on mobile phones: how to unify the distribution and billing model to make it easy for developers and
carriers to deploy and bill for applications purchased by consumers.