Embedded and Available Everywhere

In the February 28, March 14, and March 28 editions of Mobile & Wireless UPDATE, I delved into two types of mobile applications suitable for use in good wireless coverage areas: microbrowser (e.g., Wireless Application Protocol—WAP) applications and voice Internet applications. However, if users need to access an application in situations that offer limited wireless coverage, Pocket PC applications are often the best choice.

Pocket PC applications are typically rich embedded applications that run locally on the device. Enterprises often use Pocket PC applications for specific line of business (LOB) purposes, such as mobile sales automation or mobile delivery automation. However, developing and deploying Pocket PC applications can be more expensive than developing and deploying microbrowser and voice Internet applications. To determine whether an application should target the Pocket PC platform, architects can use the following key criteria:

  • The application requires extensive field data input.
  • The application requires peripheral devices (e.g., printers, scanners).
  • The application requires functionality in the absence of wireless coverage.
  • The application requires graphical or imaging types of applications (e.g., mapping, photos).
  • The application requires wireless LAN (WLAN) or alternative data connections (e.g., Wi-Fi—the 802.11b wireless standard, dial-up).
  • The application requires local data storage on the device.
  • The application requires Global Positioning System (GPS) or Automatic Vehicle Location (AVL) functionality.
  • The application requires a rich GUI.

Many people ask me whether they can develop embedded applications for Palm Handheld, Research in Motion's (RIM's) BlackBerry, and other types of mobile devices. Although you can develop embedded applications for any of these platforms, most non-Pocket PC platforms either involve complex development and deployment considerations or fail to offer adequate hardware resources to support real-world enterprise mobile applications. Always consider the total cost of ownership (TCO)—including device cost, management, maintenance, and development platforms—before you select your platform. In my experience, Pocket PC is the platform of choice for enterprise mobile applications.

The current technology for developing Pocket PC applications is eMbedded Visual Tools (eVT), involving programming with eMbedded Visual Basic (eVB) or eMbedded Visual C++ (eVC). (eVT is the standalone integrated development environment—IDE—that Microsoft uses to develop embedded Pocket PC applications.) You can use eVT's emulator to develop and test applications on the PC platform, then deploy the application to a Pocket PC device. In the case of Pocket PC 2002, this process involves compiling the application for the ARM processor. Finally, the Pocket PC 2002 software development kit (SDK) has updated the eVT platform to support the latest Pocket PC 2002 features. For more information about the SDK, visit Microsoft at http://www.microsoft.com/mobile/developer/default.asp

Data access and storage for Pocket PC applications typically occur through ActiveX Data Objects for CE (ADOCE) and Microsoft SQL Server 2000 Windows CE Edition. SQL Server CE is a pared-down version of SQL Server 2000 that lets you access a full relational database management system (RDBMS) on the Pocket PC device. The user interacts with the data locally by creating new records and updating existing records. The device uses XML over HTTP or HTTP over Secure Sockets Layer (HTTPS) to automatically replicate data with the SQL Server; alternatively, the user can manually replicate the data. Other SQL Server CE features include merge replication and conflict resolution, which pave the way for significantly simplified development on this platform.

Microsoft is working on the Microsoft .NET Compact Framework, the next generation of embedded technology based on .NET. Due later this year, the .NET Compact Framework will let you leverage .NET languages, development techniques, and debugging so that you can rapidly develop embedded mobile applications. Any device (e.g., Pocket PC, Windows CE .NET, Windows Smart Phone) that has the .NET Common Language Runtime (CLR) will be able to run .NET Compact Framework applications.

The Pocket PC 2002 platform also offers the following key features, in addition to the above-mentioned application features.

  • telephony integration
  • built-in VPN adapter
  • terminal services client
  • Server ActiveSync
  • MSN Messenger
  • Windows Media Player (WMP)
  • UI and application enhancements
  • enhanced security

In the next edition of Mobile & Wireless UPDATE, regular edition, I'll look more closely at Wi-Fi, Bluetooth, and other aspects of wireless networking.