Developing Mobile Software for the Pocket PC
Michael B. Hamsa
Technical Director
GeoSpatial Innovations, Inc.
2307 London Lane
Cedar Park, TX 78613
Telephone: (512) 635-7873
Fax: (512) 219-5898
Email: mhamsa@gsiworks.com
Abstract
In today’s world, Geospatial Information Systems are becoming more mainstream,
providing spatially enabled data to different people in the utility organization. IT
departments are faced with the ongoing problem of trying to produce GIS based
applications that are suited for desktop use as well as field use with varying types of
computer based clients. Development of multi-tiered and distributed applications is
causing IT costs to skyrocket and development timelines to run longer than estimated.
Initial baselines for application requirements, post-development maintenance, and special
customizations are usually never fully realized.
With technology changing almost daily, applications conceived as three-tiered clientserver
are required to support web environments before the original development plan is
complete. By spending the proper amount of time up front, these applications can provide
core services that will support both desktop and distributed browser based clients.
Interface based programming and component design, along with transactional
programming, is making this kind of multi-use development a reality. By properly
partitioning the design of the application, multiple types of clients can access the same
data without doubling the development effort. As always, detailed knowledge of the
technology, as well as the application being designed, is a necessity to provide efficient
development timelines.
Say Hello to Windows CE and the Pocket PC
Windows CE is one of the newest operating system initiatives from Microsoft developed
to compete directly with the Palm OS and has been gaining ground very quickly over the
past year. Microsoft has taken great steps with its latest version of this operating system
to make sure it fits into the corporate enterprise easily and efficiently, looking at
everything from networking to applications. Usability groups have been formed using a
wide variety of user settings to gain valuable input into the upcoming releases of the
operating system.
The Windows CE family of operating systems has five basic flavors: Pocket PC, Palm
PC, Handheld PC, Mobile Phone, and the Automotive PC. Each variety has the same
basic core, but adapts to different hardware that may be available in each application. The
Pocket PC has come to the forefront because of its size and flexibility and is in use by
many organizations across the world.
The Pocket PC is a device about 5.5 inches tall by 3 inches wide and a little more than
0.5 inches thick. It weighs about 6 ounces and is a little bigger than comparably equipped
Palm OS device. These devices normally come with a color LCD screen that is 240 x 320
pixels in size. The latest devices from Compaq and HP come with 64 mb of memory and
206 mHZ Intel processors.
Mobile devices have been rapidly advancing and it is becoming apparent that users want
the flexibility provided by applications that can be taken into the field. Up until this point,
the solution to a complete mobile application was to package it in such a way that it could
be used in the field on a laptop. The evolution on the Pocket PC and Windows CE has
made it possible to use relativity small handheld devices in the field with the ease and
performance of a larger more expensive laptop computer.
The Pocket PC Development Environment
The fact that Windows CE and the Pocket PC have moved past the Palm devices in the
marketplace is largely based in the development environment. Microsoft has a history of
making it easy for developers to design and develop applications for the operating
systems and this has led to their dominance. Microsoft development tools such as Visual
C++ and Visual Basic can be used to write applications for this operating system and
developers around the world have started turning out products. Developers trained with
either of these tools can easily use them to rapidly develop custom applications that can
be used by enterprises and organizations to enhance productivity in the workplace.