There are a variety of platforms available for location services clients , from standards-based platforms like Palm OS and Windows CE to proprietary platforms like those typically found in low-end mobile phones and some in-vehicle navigation systems. Standards-based platforms make development easier because they provide more tools for development and more engineers with experience on the platform. Proprietary platforms can often be optimized to achieve better performance, but are very costly to develop, support, and upgrade over time.
No matter what type of platform you choose for your mobile location services application, the small-form factor requires adhering to certain user interface guidelines to ensure usability. In addition to standard user interface guidelines, it is important to keep screens short and minimize the use of colors and graphics. A short screen is faster to refresh and reduces the need to scroll (see Table 10.1 for platform screen guidelines).
Table 10.1. Client Platform Screen Details
It is best to use menus (pick lists) as often as possible and to reduce the need for users to enter text. This might mean using more sophisticated personalization, including prepopulating responses with answers from previous visits . For mobile phones in particular, it might even mean that in an area in which you might ask for a user name and password in a desktop application at every visit, you authenticate far less frequently.
This section gives an overview of Palm, Windows CE, and the Symbian OS operating systems. We then discuss some sample location services clients.
With the majority of the PDA market and more than 10,000 third-party software products, handheld devices based on the Palm OS are some of the most popular. Palm OS is particularly popular among corporate enterprise users, providing excellent integration and synchronization with products like Microsoft Outlook. A significant advantage of the Palm OS is the graffiti handwriting recognition used for data input. It allows the Palm OS device to keep a small-form factor (by not requiring a keyboard) and eliminates the frustrating key-based text input method found in mobile phones.
Wireless network support is provided in North America for Palm OS devices via the Palm.net network, a wireless modem, and cellular digital packet data (CDPD) service or a mobile phone connection. Other areas of the world, including Europe, have wireless network support through a mobile phone and mobile Internet connection kit. The lack of integrated, inexpensive, and always-on wireless network support outside North America makes Palm OS really only feasible for mobile location service applications designed for use within the United States and Canada.
There are a number of different choices of programming languages for developing on the Palm OS platform, including C/C++, Java, and Palm's proprietary web clipping format. C/C++ applications must be compiled to the native Palm Resource File Format (PRC). This is accomplished using third-party development tools. The resulting application is installed via HotSync. Java applications require the installation of a Java virtual machine to run. Web clipping applications are designed with pages built using a subset of HTML 3.2. They are then compressed into a format called PQA and added to a Palm OS device that has network capabilities. Web clipping applications launch an internal Web browser that displays both static pages from the PQA file and dynamic pages generated by an external Web server.
Examples of mobile location service applications designed for the Palm OS platform include an ATM Locator Service from Visa (http://www.visa.com) and an Emergency Services application from RoadMedic (http://www.roadmedic.com; see also Part 2 of this book). Additional technical details on Palm OS can be found at http://www.palm.com.
Microsoft Windows CE
Microsoft Windows CE is an open , scalable, 32-bit operating system designed for intelligent network devices. Windows CE provides application developers with the familiar Microsoft Win32 APIs, ActiveX controls, Component Object Model (COM) interfaces, and the Microsoft Foundation Classes (MFC) library. In addition, Windows CE provides built-in support for multimedia, security, and communications (e.g., TCP/IP).
Windows CE is a powerful platform for mobile devices that have sufficient processing and memory available to run the operating system. Unlike some other mobile device operating systems, Windows CE supports real-time processing and preemptive multitasking and multithreading. For equipment manufacturers interested in developing mobile location service applications, Microsoft offers the ability to create custom shells , the ability to encrypt all network communications, and a special suite of power management capabilities.
Because Windows CE requires a much more powerful processor to operate , the battery life of Windows CE “based applications is much shorter than for Palm or EPOC devices. Furthermore, the more powerful hardware required usually means that the Windows CE form factor is larger than other PDAs or mobile phone communicator products. Although perhaps not ideal for mobile phone applications, the Windows CE operating system can work well in the automotive environment. Devices in the car have far fewer restrictions on size and power, and they benefit from the additional processing power and memory. In fact, Microsoft has developed a specialized version of Windows CE called Windows CE for Automotive (WCEfA) to build capabilities specific to the needs of the automotive industry.
Added to the standard capabilities of Windows CE, WCEfA provides a number of automotive-specific features. In addition to a suite of APIs to handle the integration of positioning and navigation software applications, WCEfA provides the following features:
WCEfA provides automotive suppliers with a computing platform to power an automotive computing device. The automotive computing device is comprised of an integrated computing architecture that allows it to reside on top of the automobile mechanical system. The automotive system architecture enables a software application to run in an automobile by providing several layers of technology between the application and the automobile mechanical system. The automotive computing device is installed in the dashboard of an automobile.
The user interface is a faceplate mounted in the dashboard of the automobile that allows the user to control all the functions of the automotive computing device. Microsoft provides a sample hardware bezel that can be used as the faceplate of the automotive computing device or the automotive supplier can build a custom hardware bezel.
WCEfA 3.5 provides a tremendous amount of flexibility to customize the operating system and choose the components you need to fit any number of potential architectures. WCEfA can require as little as 800Kb of space for a simple device. Memory requirements increase depending on exactly which operating system features are selected for the final product. Processors supported in WCEfA 3.5 include the Intel ARM (SA1100), Hitachi SHx (SH4), Intel x86 (i486), and MIPS (R4100 and R4300).
Additional information on developing mobile location services applications using the WCEfA APIs is available at http://www.microsoft.com/automotive.
Symbian is a software development and licensing company headquartered in the United Kingdom and owned by Ericsson, Nokia, Matsushita (Panasonic), Motorola, and Psion. Symbian develops and supplies Symbian OS, an open, standards-based operating system for data-enabled mobile phones to the major handset manufacturers.
The Symbian OS was designed with a number of goals in mind. Mobile phones are small and mobile and require high availability. They cannot afford to go through boot sequences, and with limited power and processing resources, must maximize efficiency. For example, Symbian OS implements multitasking with event-driven messaging instead of multithreading, which is much more complex and expensive. Mobile phones must be highly reliable. They should almost never lock up, and service packs and patches should be rare. Because of wireless network issues, such as spotty coverage and many different protocols, a mobile phone operating system must gracefully handle the loss of network connectivity and user notification. Finally, because of the many different hardware platforms and to enable third-party software development, Symbian OS is open and standards based. Application development on Symbian OS can be done in C++, Java, WAP, and Web, and the operating system supports standards that include Unicode for internationalization, POSIX, TCP/IP, IMAP, POP3, SMTP, SMS, Bluetooth, OBEX, I-mode, J2ME, JavaPhone, and SyncML. Figure 10.1 shows the Symbian OS components and system dependencies.
Figure 10.1. Symbian OS 6.x System Dependency. 2002 Symbian Ltd.
A sample Symbian OS mobile location services application available for the Nokia Communicator phones is the TomTom CityMaps product from the Netherlands-based PalmTop Software. Figure 10.2 shows an example map with TomTom CityMap and Figure 10.3 shows an example route.
Figure 10.2. TomTom CityMap Mapping Example. 2001 Palmtop BV, The Netherlands.
Figure 10.3. TomTom CityMap Routing Example. 2001 Palmtop BV, The Netherlands.
More technical details on the TomTom CityMap product are available from http://www.tomtom.com. Additional technical details and specifications on the Symbian OS are available from http://www.symbian.com.
Sample LBS Client Devices: The Car Dashboard
The capability of client hardware now available in vehicles is exciting. Particularly in Europe, original equipment and after-market suppliers that specialize in car audio have launched combined DVD/navigation systems. Many of these systems in production are known as onboard systems because they store all map data on CD or DVD and do all the spatial processing in the vehicle. This is inconvenient for users when data does not stay up to date and when they must change CDs when they cross a border. The LBS client devices we discuss are for systems available today in Germany. These LBS client devices are broken into two types: LCD-based systems with a next turn indicator and VGA-based map display systems. It is not uncommon for both system types to display traffic information that is broadcast by radio using RDS “TMC technology (see Chapter 11 for more details on RDS “TMC).
The TravelPilot DX-N system produced by Blaupunkt,  shown in Figure 10.4 and Figure 10.5, provides automatic and dynamic route guidance leveraging for onboard map CDs and RDS “TMC. Destination input support includes both addresses and points of interest. A user is guided to his or her destination by use of maps, arrow indicator, or voice output. The system has a memory that stores the last 12 destinations and has an additional programmable memory for up to 50 destinations.
Figure 10.4. Blaupunkt TravelPilot DX-N (Germany). 2002 Bosch Group .
Figure 10.5. Blaupunkt TravelPilot DX-N Multimedia. 2002 Bosch Group.
Similar to the TravelPilot DX-N, the TravelPilot DX-R70 provides a driver with a dynamic navigation and routing system that leverages traffic information available over RDS “TMC to detect traffic incident delays and either route through the incident or evade it altogether. The TravelPilot DX-R70 has a much simpler and more compact LCD interface. Routing is done with the arrow turn indicator and voice output ”there is no map display (see Figure 10.6).
Figure 10.6. Blaupunkt Radio Navigation System TravelPilot DX-R70 Titan. 2002 Bosch Group.
Additional information and technical specifications on Blaupunkt location service systems can be found at http://www.blaupunkt.de.
The Pioneer AVIC-8DVD is a voice-based navigation system that includes map data for all of Europe on a single DVD (see Figure 10.7). The system has an integrated TMC processor, has voice recognition capabilities, and integrates traffic information for dynamic routing. If new traffic information is received while the user is driving, the route is automatically recalculated and an alternative is proposed to the driver. The system has a destination memory, and destination input can be handled by inputting an address, cross streets , postal code, or POI. Figure 10.8 and Figure 10.9 show more sophisticated Pioneer systems that use a VGA interface for map display.
Figure 10.7. Pioneer Voice DVD Navigation System AVIC-8DVD. 2002 Pioneer Europe NV.
Figure 10.8. Pioneer DVD Navigation/AV System AVIC90DAV. 2002 Pioneer Europe NV.
Figure 10.9. Pioneer DVD Navigation System AVIC70D. 2002 Pioneer Europe NV.
Additional details and specifications on Pioneer location services products can be found at http://www.pioneer.de.
The Blaupunkt and Pioneer systems just shown are closed systems that operate without mobile network connectivity, but similar and much more powerful interfaces will soon be available in the car that leverage the open interfaces we discussed earlier, such as Microsoft's WCEfA. The current in-vehicle navigation systems in cars produced by companies like Pioneer and Blaupunkt are likely to merge with the emergency services and applications provided by telematics service providers such as OnStar (http://www.onstar.com and http://www.onstar.de) and Tegaron (http://www.tegaron.com).